• 92.50 KB
  • 2022-04-22 11:50:05 发布

《SQL Server2005数据库应用技术》习题参考答案.doc

  • 0页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'1、简述数据与信息之间的联系与区别。1、描述事物的符号称为数据,信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。数据是物理的,信息是观念性的,数据和信息密切相关,信息可以数据化,数据代表信息,两者既有联系又有区别。2、简述数据库系统的设计流程。2、数据库设计的流程包括六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。3、社么是E-R图?E-R图由哪些要素构成?3、E-R图是用来描述实体-联系的模型图。E-R图的组成要素:表示实体的“矩形”、表示实体属性的“椭圆”、表示实体间联系的“菱形”。4、逻辑结构设计有哪些步骤?4、逻辑结构设计步骤:(1)概念模型转化为关系模型。(2)将关系模型转化为特定数据管理系统下的数据模型。(3)数据模型进行优化(通常采用规范化理论),以提高数据库应用系统的性能。5、物理结构设计有哪些步骤?5、物理结构设计步骤:(1)确定数据库的物理结构(存储结构、存储位置)。(2)确定数据库的存取方法。(3)对物理结构进行评价,评价的重点为时间和空间效率。6、数据库的维护包括哪些工作?6、数据库的维护工作:对数据库的监测、分析和性能的改善;数据库转存和故障恢复;数据库的安全性、完整性控制;数据库的重组和重构造。7、简述安装SQLServer2005所需的软硬件环境。7、硬件环境:版本CPU内存磁盘空间企业版类型:PentiumIII兼容处理器或更高速度的处理器速度:最低600MHz或1GHz或更高最小:512MB建议:1GB或更大最少350MB或更多标准版开发版工作组版精简版最小:192MB建议:512MB或更高软件环境:操作系统企业版标准版开发版工作组版精简版Windows2000ProfessionalEditionSP4否是是是是Windows2000ServerSP4是是是是是Windows2000AdvancedServerSP4是是是是是Windows2000DatacenterEditionSP4是是是是是 WindowsXPHomeEditionSP2否是否否是WindowsXPProfessionalEditionSP2否是是是是Windows2003ServerSP1是是是是是Windows2003EnterpriseEditionSP1是是是是是Windows2003DatacenterEditionSP1是是是是是Windows2003WebEditionSP1否否否否是8简述SQLServer2005各版本与操作系统之间的关系。8上表9何在SQLServer2005ManagementStudio中增加一个数据库?9可利用“附加”数据库功能:(1)在【对象资源管理器】窗口中,右击【数据库】选项,弹出快捷菜单,选择【附加】选项,出现【附加数据库】对话框。(2)单击【添加】按钮,出现【定位数据库文件】对话框。从中选择要附加的数据库的主要数据文件,单击【确定】按钮,返回【附加数据库】对话框。(3)单击【确定】按钮,即可把所选的数据库附加到当前SQLServer实例上10、如何一个查询,并保存脚本文件?10、打开查询编辑器窗口。在查询编辑器窗口中键入脚本,单击工具栏上的分析按钮,分析脚本语法,使其正确。(2)按F5,或者单击工具栏上的执行按钮,执行脚本,或者也可以在菜单栏上的【查询】|【执行】。(3)选择“文件”菜单中的【保存】命令,或单击工具栏的【保存】按钮,在打开的保存对话框转播中,选择存储位置,输入脚本文件名,单击“保存”即可保存脚本文件。11、SQLServer2005安装成功后,有哪些系统数据库?其用途分别是什么?11、统数据库:master数据库:是SQLServer系统最重要的数据库。记录SQLServer系统的所有系统级信息。model数据库:作为用户创建新数据库的模板。msdb数据库:是代理服务器数据库。它为报警、任务调度和记录操作员的操作提供存储空间。tempdb数据库:记录了所有的临时表、临时数据和临时创建的存储过程等保存临时对象的一个工作空间。12、据库文件有哪些类型?其作用分别是什么?12、据库文件类型:(1)主要数据文件:包含数据库的启动信息,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。(2)次要数据文件:是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。(3)事务日志文件:用于记录所有事务以及每个事务对数据库所做的修改。13、库如何扩容?有几种方法?13、改现有数据库中数据文件的容量,或者增加数据文件扩容数据库。有两种方法: 一种是用ManagementStudio修改数据库属性修改数据文件的容量。另一种是利用AlterDatabase语句修改数据库扩容。14、何实现数据库的移植?有哪几种方法?14、利用“分离/附加”数据库,或利用“脱机”数据库移植数据库。方法一:在ManagementStudio中,分离数据库——(复制)移植数据库文件——附加数据库方法二:在ManagementStudio中,设置数据库为“脱机”状态——(复制)移植数据库文件——附加数据库15、是数据的完整性?数据完整性有哪些分类?15、据的完整性是指数据的精确性和可靠性,主要用于保证数据库中数据的质量。它是为防止数据库中存在不符合语义规定的数据和防止因错误信息的输入/输出造成无效操作或报错而提出的。16、哪几种?分别实现何种数据完整性?16、约束类型实现数据的完整性Default(默认值约束)域完整性Check(检查约束)PrimaryKey(主键约束)实体完整性Unique(唯一性约束)ForeignKey(外键约束)参照完整性17、值对象和默认约束有何区别?17、值对象是一种数据库对象,在数据库中创建默认值对象后,可以将其绑定到多个数据表的一个或多个列的应用;默认值约束只能用于约束一个表中的列。18、是什么?规则的作用是什么?18、(Rule)就是对存储在表中列或用户自定义数据类型的取值范围的规定或限制。作用:规则类似于CHECK约束,是用来限制数据字段的输入值的范围,实现强制数据的域完整性。19、什么是NULL值?它与0有何区别?19、NULL是一个特殊值,表示没有值或值不确定。实际上,空字符和0都不是NULL,空字符是一个有效的字符,0是一个有效的数字。20.如何删除默认值对象?20.第一步:解绑默认值:对于不需要再利用默认的列,可以利用系统存储过程对其解绑。其语法格式如下:[EXECUTE]sp_unbindefault"表名.字段名"|"自定义数据类型名"第二步:在查询分析器中使用DROP语句删除默认值。其语法格式如下:DROPDEFAULTdefault_name[,…n]21.在SELECT语句中可以存在哪几个子句?他们的作用分别是什么?21.SELECT语句中可以存在以下子句(1)SELECT子句:指定查询返回的列。(2)INTO子句:将检索结果存储到新表或视图中。(3)FROM子句:用于指定查询列所在的表和视图。(4)WHERE子句:指定用于限制返回的行的搜索条件。 (4)GROUPBY子句:指定用来放置输出行的组。并且如果SELECT子句中包含聚合函数,则计算每组的汇总值。(5)HAVING子句:指定组或聚合的搜索条件。HAVING通常与GROUPBY子句一起使用。(6)ORDERBY子句:指定结果集的排序。22.在表与表之间可以使用哪几种连接方式?它们各自有何特点?22.(1)交叉连接:又称笛卡儿积,返回两个表的乘积。(2)内连接:把两个表中的数据,通过相同的列,连接生成第3个表,仅包含那些满足连接条件的数据行。内连接分为等值连接、非等值连接和自然连接。(3)外连接:分类:左外连接、右外连接和全外连接。左向外连接:只包括左表的所有行,不包括右表的不匹配行的外连接;右向外连接:只包括右表的所有行,不包括左表的不匹配行的外连接。完整外部连接:既包括左表不匹配的行,也包括右表的不匹配的行的连接23.LIKE匹配字符有哪几个?23.LIKE匹配字符(通配符):%(百分号):表示0~n个任意字符。_(下划线):表示单个任意字符。[](封闭方括号):表示方括号内列出的任意字符。[^]:表示未在方括号内列出的恶人一字符。24.有几种连接表的方法?它们之间有什么区别?24.参考第2题25.GROUPBY子句的作用是什么?HAVING子句和WHERE子句中的条件有什么不同?25.GROUPBY子句指定用来放置输出行的组,如果需要按某一列数据的值进行分类,在分类的基础上再进行查询,就要使用GROUPBY子句。HAVING子句指定组或聚合的搜索条件。HAVING只能与SELECT语句一起使用。HAVING通常在GROUPBY子句中使用。如果不使用GROUPBY子句,则HAVING的行为与WHERE子句一样。WHERE子句是从表格的数据集中(未分组)过滤出符合条件的行。26.嵌套查询与相关子查询有何区别?26.在SQL中,将一条SELECT语句作为另一条SELECT语句的一部分称为嵌套查询。外层的SELECT语句被称为外部查询或父查询,内层的SELECT语句成为内部查询或子查询。相关子查询不同嵌套子查询,相关子查询的查询条件依赖于外层查询的某个值。27.SQL语言的数据类型有哪些?分别有什么作用?27.数字数据字符数据:存储字符或字符串。货币数据:存储货币数据。日期和时间数据:存储日期和时间数据。二进制字符串:存储二进制型的OLE对象。其他数据类型:存储其他类型数据。 28.需要为SQLServer中的变量赋值时,可以用哪两种命令?28.若要对变量赋值,可以使用SELECT语句或SET语句将一个不是NULL的值赋给已声明的变量。一个SELECT语句一次可以初始化多个局部变量;一个SET语句一次只能初始化一个局部变量。当用多个SET语句初始化多个变量时,为每个局部变量使用一个单独的SET语句。语法格式如下:SELECT@变量名=表达式[,…n]SET@变量名=表达式29.在循环语句中,BREAK和CONTINUE语句分别起什么作用?29.BREAK:无条件地退出WHILE循环。CONTINUE:结束本次循环,进入下次循环,忽略CONTINUE后面的任何语句。30.使用CASE表达式,判断当前月的天数。30.DECLARE@TSCHAR(5)SET@TS=CASEWHENMonth(GETDATE())IN(1,3,5,7,8,10,12)THEN"31天"WHENMonth(GETDATE())IN(4,6,9,11)THEN"30天"WHENMonth(GETDATE())=2THEN"28天"ENDPRINT@TS31.视图与数据表有何区别?31.数据表中存储基本数据,而视图中只存储查询定义,不存放数据。32.视图有哪些优点?32.简化操作、提高数据安全性、屏蔽数据库的复杂性、数据即时更新。33.创建视图的方法和注意事项有哪些?33.创建视图的方法:(1)使用ManagementStudio。(2)使用CreateView语句注意事项有:(1)只能在当前数据库中创建视图,在视图中最多只能引1024列。(2)不能在规则、默认值、触发器的定义中引用视图。(3)不能在视图上创建索引;(4)如果视图引用的表被删除,则当使用该视图时将返回一条错误信息;如果创建具有相同表的结构的新表来替代已删除的表,视图可以使用,否则必须重新创建视图。(5)如果视图中某一列是函数、数学表达式、常量或来自多个表的列名相同,则必须为列定义名字。(6)当通过视图查询数据时,SQLServer不仅要检查视图引用的表是否存在,是否有效,而且还要验证对数据的修改是否违反了数据的完整性约束。34.如何加密自己创建的视图的定义?34.在CreateView语句中使用“WITHENCRYPTION”选项加密视图定义。35.简述索引的优点和缺点。35.优点:提高数据检索速度、保证数据记录的唯一性、加速表之间的连接。缺点:创建索引要花费时间,花费磁盘空间,修改数据时需要更新索引。36.简述索引的使用原则。 36、使用的索引原则:数据库准则、查询准则、索引列准则。一般原则是:●主键列上一定要建立索引。●外键列可以建索引。●在经常查询的字段上最好建立索引。●对于那些查询中很少涉及的列、重复值比较多的列不要建索引。 ●对于定义为text,Image和Bit数据类型的列上不要建立索引。37.什么是聚集索引?什么是非聚集索引?比较这两种索引的结构特点。37.在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同(类似于图书目录和正文内容之间的关系)。聚集索引对表的物理数据页,按列进行排序,然后再重新存储到磁盘上。非簇索引具有与表的数据行完全分离的结构,非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列值,非聚集索引不改变数据行的物理存储顺序,因而一个表可以有多个非聚集索引。38.如何使用CREATEINDEX语句创建索引?38.CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]/*索引的类型*/INDEX索引名ON{表名|视图名}列名[ASC|DESC][,...n])39.简述存储过程的基本功能和特点。39.存储过程(StoredProcedure)是一组完成特定功能的Transact-SQL语句集,经编译后存储在数据库中,用户调用过程名和给出参数来调用它们。40.简述存储过程的创建方法和执行方法。40.创建存储过程的语法格式:CREATE[PROC|PROCEDURE]存储过程名[{@参数名称参数数据类型}[=参数的默认值][OUTPUT]][,...n][WITHENCRYPTION][WITHRECOMPILE]ASsql_statement执行存储过程的语法格式:EXEC[UTE]存储过程名[[@参数名=]{参数值|@变量[OUTPUT]|[默认值]}][,...n]41.什么是触发器,它与存储过程有什么区别与联系?41.触发器通常可以完成一定的业务规则,用于SQLServer约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能的限制。触发器与存储过程的联系:触发器是一种特殊的存储过程。触发器与存储过程的区别:存储过程需要使用EXEC命令调用存储过程名而执行。触发器是在某个指定的事件发生时被激活而自动执行。42.SQLServer2005中的触发器可以分为哪两类?分别有什么作用?42.DML触发器:当数据库中发生数据操作语言(DML)事件时将调用DML触发器。 DDL触发器:在CREATE、ALTER、DROP和其他DDL语句上操作时发生调用DDL触发器。43.DML触发器和DDL触发器之间的区别和联系是什么?43.DML触发器和DDL触发器之间的联系:都是激发存储过程以响应事件。DML触发器和DDL触发器之间的区别:DDL触发器响应数据定义语言(DDL),如CREATE、ALTER、DROP语句,而DML触发器响应数据操作语言(DML),如UPDATE、INSERT、DELETE语句。44.对具有触发器的表进行INSERT、DELETE、和UPDATE操作,INSERTED表和DELETED表分别保存何种信息?44.操作类型INSERTED表DELETED表INSERT插入的记录不创建DELETE不创建删除的记录UPDATE修改后的记录修改前的记录45.如何保护数据库中的索引不被删除或修改?45.创建DDL触发器:CREATETRIGGERundrop_indexONDatebaseForDrop_index,Alter_indexASPrint‘禁止删除和修改索引’ROLLBACK46.简述SQLServer2005的登录模式。46.SQLServer2005服务器的登录模式是指服务器如何处理登录名和密码,SQLServer2005提供了两种这样的身份验证模式:Windows身份验证和混合身份验证模式。47.什么是角色?有何作用?47.角色(roles):是SQLServer2005中管理权限相近的安全账户的集合,相当于Windows域中的组。SQLServer2005中角色分为三类:服务器角色、数据库角色和应用程序角色。角色的作用:通过对角色进行权限管理,可以达到定义为该角色的一组用户统一进行权限管理。48.什么是授权的主体?48.授权的主体指:数据库用户,各种角色、数据库对象。SQLServer2005中未被授权的用户将无法访问或存取数据库中的数据。SQLServer通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。49.数据库备份和还原的概念和作用是什么?49.备份就是将数据库中的数据进行导出,生成副本,然后在系统发生故障后能够恢复全部或部分数据。 数据还原就是在数据库的一定生命周期的某一时刻还原数据。作为数据库管理员,应该将数据还原的频率减到最低,预计潜在灾难所能影响到的范围,当灾难发生时,加快还原速度并快速地验证还原是否成功。备份和还原的作用:降低数据丢失的可能性,并能够及时恢复已经丢失的数据,可以在数据库系统中实施备份和恢复策略。50.SQLServer2005中有几种备份和恢复模式?50.恢复模式是指数据库运行时,记录事务日志的模式。恢复模式控制事务记录在日志中的方式、事务日志是否需要备份以及还原的操作。恢复模式包含简单恢复模式、完整恢复模式和大容量日志恢复模式3种类型,适合于数据库的恢复模式取决于数据库的可用性和恢复要求。51.如何进行数据库导入和导出操作?51.数据转换服务是一个功能非常强大的组件,导入和导出向导提供了把数据从一个数据源转换到另一个数据目的地的方法,该工具可以在异构数据环境中拷贝数据、拷贝整个表或者查询结果,并且可以交互式地定义数据转换方式。52.什么是备份设备?备份设备的作用是什么?52.为了执行备份操作,在使用之前所创建的备份文件称为永久性的备份文件,也称为备份设备。备份设备的作用:作为数据库备份的存储介质。53.ADO.NET组件包括哪几个对象?53.ADO.NET组件的对象:Connection、Command、DataReader、DataAdapter、DataSet54.如何使用Connection对象执行SQL查询?54.使用Connection对象执行SQL查询的步骤:第一步:定义连接字符串:stringConnString=”DataSource=服务器名;InitialCatalog=数据库名;UserID=登录名;PassWord=登录密码”第二步:创建连接对象:SqlConnectionconn=newSqlConnection(ConnString)第三步:建立连接Conn.Open()第四步:创建命令对象SqlCommandcmd=conn.CreateCommand(“select语句”)第五步:执行SQL查询:SqlDataReaderRs=cmd.ExecuteNonQuery()第六步:关闭连接Conn.Close()55.如何使用Command对象执行SQL查询?55.使用Command对象执行SQL查询与使用Connection对象执行SQL查询类似……第四步:创建Command对象SqlCommandcmd=newSqlCommand() 第五步:设定Command对象的属性cmd.Connection=conncmd.CommandText=”select语句”第六步:执行SQL查询SqlDataReaderRs=cmd.ExecuteNonQuery()第七步:关闭连接Conn.Close()56.DataReader对象和DataSet对象有何区别?56.DataReader对象完成数据库数据的读取操作。DataReader对象可以快速的从数据库中读取由Select返回的只读、只进的数据集。对于需要从数据库查询返回的结果中进行检索且一次处理一条记录的程序,采用DataReader可以提高应用程序的性能,减少系统开销。DataAdapter对象起着Connection对象和DataSet对象之间的桥梁作用,能够保存和检索数据。通过它的Fill方法可以把数据库中的数据填充到DataSet中,又是通过它的Update方法按相反的方向将数据保存到数据库中。57.如何使用DataSet和DataAdapter对象?57.DataAdapter对象起着Connection对象和DataSet对象之间的桥梁作用,能够保存和检索数据。通过它的Fill方法可以把数据库中的数据填充到DataSet中,又是通过它的Update方法按相反的方向将数据保存到数据库中。DataSet是ADO.NET中核心的对象之一,DataSet为数据源提供一个断开式的存储,即在从数据库完成数据抽取后,DataSet就是数据的存放地,它是各种数据源中的数据在计算机内存中映射成的缓存,可以把它想像成一个临时的数据库,可以存多个表(DataTable),而且是断开式的,不用每进行一次操作就对数据库进行更新,从而提高了效率。同时它在客户端实现读取、更新数据库等过程中起到了中间部件的作用。使用DataAdapter和DataSet:第一步:定义连接字符串:stringtxtConn=”DataSource=服务器名;InitialCatalog=数据库名;UserID=登录名;PassWord=登录密码”第二步:建立连接SqlConnectionconn=newSqlConnection(txtConn);第三步:创建DataAdapter对象strings="SELECT*FROMStudent";SqlDataAdapterda=newSqlDataAdapter(s,conn);第四步:创建DataSet对象DataSetds=newDataSet();第五步:利用DataAdapter对象给DataSet对象填充数据da.Fill(ds,“Student”);//自动建立连接填充后关闭if(ds.HasChanges())//检查DataSet是否有改动da.Update(ds);//更新数据库第六步:关闭连接Conn.Close()'