数据库技术与应用SQLServer课后习题答案.docx
- 文档编号:24045594
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:22
- 大小:31.68KB
数据库技术与应用SQLServer课后习题答案.docx
《数据库技术与应用SQLServer课后习题答案.docx》由会员分享,可在线阅读,更多相关《数据库技术与应用SQLServer课后习题答案.docx(22页珍藏版)》请在冰豆网上搜索。
数据库技术与应用SQLServer课后习题答案
《数据库技术与应用-SQLServer2005》习题参考答案
第一章
一.选择题
1.A2.B3.D4.A5.B
二.填空题
1.载体/符号意义
2.数据集合
3.DBMS
4.DBS
5.层次模型,网状模型,关系模型,
三.问答题
1.答:
数据库的域包含的是需要面对的对象,至于文件管理系统,调用时比较麻烦,不如数据库方便,加上文件管理系统管理不不紧紧是你所需要面对的对象,所以不具有可比性,如果非要比一下,数据库比文件管理系统更简单,更方便更快捷。
2.答:
数据库是指数据库系统中按照一定的方式组织的,存储在外部存储设备上的能为多个用户共享的、与应用程序和互相独立的相关数据集合。
数据库管理系统(databasemanagementsystem)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。
数据库系统是基于数据库的计算机应用系统。
也是由计算机系统数据库及其描述机构,数据管理系统和有关人员组成的具有高度组织性的总体.
3.答:
一对一联系1:
1,一对多联系1:
m,多对多联系m:
n。
例子:
1:
1一个厂只有一个厂长,一个厂长只在一个厂任职。
1:
m一个公司只有多个职员,一个职员只能在一个公司就职。
m:
n一个读者可以读多种图书,任何一种图书可以为多个读者借阅。
4.答:
数据模型是对现实世界中数据的抽象,它表现为一些关系数据组织的集合。
种类:
概念模型,逻辑模型,物理模型。
特点,概念模型:
按用户观点对数据和信息进行建模,描述现实的概念化结构;逻辑模型按计算机观点对数据进行建模服务于DBMS的应用实现;物理模型数据库在物理存储介质上的组织结构。
5.答:
当前的新型数据库有:
分布式数据库,它的特点是:
数据是分布的,数据是逻辑相关的,结点的自治性,主要用于由分布式系统中;多媒体数据库,它的特点是:
能方便的描述和处理具有内部层次结构的数据,提供由用户定义的新的数据类型和相应操作的功能,能够提供更灵活的定义和修改模式的能力,主要用于办公自动化,人工智能,计算机辅助制造中;工程的数据库,它的特点是:
能够对大量的数据和信息进行保存和处理,主要用于CAD、CAM中;面向对象数据库,它的特点是:
将面向对象的模型、方法和机制,与先进的数据库技术有机的结合而形成的新型数据库系统。
第二章
一.选择题
1.D2.D3.D4.A5.C6.B7.D
二.填空题
1.实体完整性、参照完整性、用户自定义完整性。
2.(A,B)R1(A,D)和R2(A,B,C).
3.元子特性
4.外键
5.F1=(A→B,A→C,A→D).
6.选择
三.问答题
1.答:
实体:
是现实世界中任何可区分可识别的事物。
实体属性:
实体的特征成为属性。
区别于关系属性:
二维表的每一列在关系中称为属性
关键字:
关系中能够唯一区分确定不同元组的单个属性或属性组合称为该关系的一个关键字。
又被称为键或码(key)
外部关键字:
如果关系中某个属性或属性组合并非本关系中的关键字但却是另一个关系中的关键字,这样的属性或属性组合被称为本关系中的外部关键字或外键(FOREIGNKEY,FK)
关系模型:
采用二维表描述实体的静态特征及其相互联系。
用表的行描述实体对象用元素描述对象的相应属性。
有关系运算规则和完整性约束规则来限制。
数据约束:
是SQLServer提供的自动保持数据库中数据完整性的一种机制它定义了可输入表或表的单个列中的数据限制条件。
数据操作:
对数据创建管理维护包括对数据的插入删除更新等的操作使数据信息的使用完整方便快捷。
属性间函数的依赖:
设X、Y、Z是关系模式R的不同属性集,若X→Y(并且Y→X不成立)Y→Z,称X传递决定Z或称Z传递函数依赖于X。
2.答:
规范化理论关系数据库中关系规范化问题在1970年Godd提出关系模型时就读者应注意的是:
规范化是一种理论,它研究如何通过规范以解决异常与冗余现象
3.略。
4.答:
RUS={(a1,b1,c1),(a2,b2,c1),(a3,b2,c3),(a2,b2,c2),(a3,b3,c4)}
R∩S={a1,b1,c1}
R-S={(a2,b2,c1),(a3,b2,c3)}
Π(A,B)={(a1,b1,c1),(a2,b2,c1)}
第三章
一.选择题
1.A2.C3.B4.C5.B
二.填空题
1.企业版,标准版,开发版,工作组版,精简版。
2.Windows其同模式
3.SQLServer配置管理器
4.已注册服务器窗口,对象资源管理器文档窗口
5.数据查询语言,数据定义语言,数据操纵语言和数据控制语言
三.问答题
1.答:
SQLServer2005与SQLServer2000相比,在性能、可靠性、实用性等方面有了很大的扩展和提高。
与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包的紧密集成,使得SQLServer2005与众不同。
无论是开发人员、数据库管理人员、信息工作者还是决策者,SQLServer2005都可以为用户提供创新的解决方案,帮助用户从数据中获取更多的信息。
与以前的版本相比较,SQLServer2005具有许多新的特性。
如增强的数据引擎、增强的数据复制服务、增强的通知服务、增强的集成服务、增强的分析服务、增强的报表服务、新增ServiceBroker技术、改进的开发工具、增强的数据访问接口、增强的全文搜索功能。
2.为了成功安装MicrosoftSQLServer2005,在计算机上需要下列软件组件:
Microsoft.NETFramework2.0、MicrosoftSQLServer本机客户端、MicrosoftSQLServer2005安装程序支持文件。
3.答:
导入导出数据。
增改删查。
权限分配等等。
安装正确后设置好连接参数就能正确连接。
连接参数:
服务器名,数据库名,用户,密码等。
第四章
一.选择题
1.A2.B3.D4.A5.C
二.填空题
1.数据文件事务日志文件
2.master,tempdb,model,msdb和mssqlsystemresource.
3.数据文件,事务日志文件和文件组
4.5
5.createdatabase,alterdatabasedatabase-name,dropdatabase
三.问答题
1.答:
最少1个主文件mdf,一个日志文件ldf,主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。
用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。
每个数据库有一个主要数据文件。
主要数据文件的建议文件扩展名是.mdf。
2.答:
在sql出现严重bug的时候,在改变sql的根本配置的时候,在改变用户角色的时候,在强制修改master数据库的时候
3.答:
修改模板库,在模板库中创建users表,以后新建的库就包含该表
第五章
一.选择题
1.C2.A3.C4.C5.C
二.填空题
1.-2147483468~21474836470-255
2.输入存储字段小于100时按原字段存,大于100时截取100位8
3.日期时间数字数据
4.字段名称和列
5.insertupdatetruncate或delete
三.问答题
1.答:
Varchar是变长字符数据,其长度不超过8KB。
Char是定长字符数据,其长度最多为8KB
nchar(n)包含n个字符的固定长度Unicode字符数据。
n的值必须介于1与4,000之间。
存储大小为n字节的两倍。
decimal数据类型最多可存储38个数字,所有数字都能够放到小数点的右边。
decimal数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。
float和real数据类型被称为近似的数据类型。
在近似数字数据类型方面,float和real数据的使用遵循IEEE754标准。
近似数字数据类型并不存储为多数数字指定的精确值,它们只储存这些值的最近似值。
在很多应用程序中,指定值与存储值之间的微小差异并不明显。
money数据类型存储货币数据。
货币数据存储的精确度为四位小数。
可以存储在money数据类型中的值的范围是-922,337,203,685,477.5808至+922,337,203,685,477.5807(需8个字节的存储空间)。
2.答:
不能比较大小,因为NULL是未定值不是没有值,而货币类型是一个实际数据,故不能比较大小。
3.答:
共同点:
在数据库中都是用以删除数据的语句。
不同点:
(1)用以删除表即删除行,可以删除数据库,删除时组成该数据的所有磁盘文件将被同时删除;
(2)用以删除所有列,删除一次在事务日志中记录一次;(3)用以删除列,每次删除都不记录事务日志只记录删除释放,(3)比
(2)删除的速度快。
第六章
一.选择题
1.C2.A3.B4.B5.C
二.填空题
1.TOP/PERCENT
2.UNION查询数据/结果集
3.嵌套查询/子查询
4.类内链接,外连接
5.等值连接自然连接
6.insert
三.问答题
1.答:
进行排序的子句是orderby,消除重复行的关键字是DISTINCT子句
2.答:
仓库号!
=”wh1”AND仓库号!
=”wh2”markBETWEEN550AND650
3.答:
GROUPBY子句用来为结果集中的每一行产生聚合值。
如果聚合函数没有使用GROUPBY子句,则只为SELECT语句报告一个聚合值。
GROUPBY关键字后面跟着列的列表,称为分组列。
GROUPBY子句限制结果集中的行;对于分组列中的每个非重复值只有一行。
每个结果集行都包含与其分组列中特定值相关的汇总数据。
当SELECT语句中包含GROUPBY关键字时,对可以在选择列表中指定的项有一些限制。
在该选择列表中所允许的项目是:
分组列。
为分组列中的每个值只返回一个值的表达式,例如将列名作为其中一个参数的聚合函数。
这些函数称为矢量聚合。
4.答:
简单地说:
having与分组条件有关,sql语句的Group by 后只能跟Having条件语句,
而不能用Where语句
Where与筛选记录条件有关
5.答:
自然连接。
第七章
一.选择题
1.C2.C3.A4.D5.B
二.填空题
1.ALTERTABLECREATEINDEX
2.PRIMARYKEYUNIQUE
3.视图
4.定义
5.计算列
6.修改删除
三.问答题
1.答:
聚集索引和非聚集索引的区别:
汉语字典的正文本身就是一个聚集索引。
比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。
如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。
也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。
正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。
如果您认识某个字,您可以快速地从自动中查到这个字。
但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。
但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。
很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。
我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。
聚集索引在每个表内又只能建立一个,而非聚类索引可以建立多个。
2.答:
一个复合索引中最多包含16个字段。
3.答:
主健、唯一约束以上两种情况下会自动生成。
SQLServer自动建立的索引不能用dropindex删除Server自动建立的索引不能用删除语句中的dropconstraint子句来子句来,只能用altertable语句中的,只能用解除加在该字段上的主键约束或惟一性约束,这些约束一解除,相关的索引也就被删除了。
4.答:
视图是一个命名的虚拟表(virtualtable),它由一个查询来定义,可以当作表使用。
与持久表(permanenttable)不同的是,视图中的数据没有物理表现形式,除非你为其创建索引。
当你在一个未建索引的视图执行查询时,SQLServer实际访问的是基础表(underlyingtable)。
除非特别说明,本章的讨论都是指的未建索引的视图。
视图的重要用途之一便是被用作一个抽象装置(abstractionmechanism)。
例如,在适当时利用视图你可以很容易地为基础数据提供或多或少的规范化映像(normalizedpicture),这样就不用更改实际数据的规范化(normalization)。
通过应用模块化的方法(逐步解决复杂问题),可以简化解决方案。
可以利用视图访问经过筛选和处理的数据,而不是直接对基表(basetable)进行操作可以把视图作为一个安全层(securitylayer)(在一定程度上)。
如果在视图上创建索引,它在提高性能方面也发挥着重要作用。
第八章
一.选择题
1.B2.A3.C4.A5.D
二.填空题
1.行
2.createrule和createdefault
3.唯一性(非主键)
4.(主键)primarykey多
5.查询约束,唯一性约束。
6.CONSTRANT和CONSTRANT_NAME
三.问答题
1.答:
指数据的精确性(Accuracy)和可靠性(Reliability)。
它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
2.答:
数据完整性分为四类:
实体完整性(EntityIntegrity)、域完整性(DomainIntegrity)、参照完整性(ReferentialIntegrity)、用户定义的完整(User-definedIntegrity)。
3.答:
约束用于确保数据库数满足业务规则。
约束包括:
NOTNULL,UNIQUE,PRIMARYKEY,FOREIGNKEY以及CHECK等5种类型。
4.答:
特点:
外键用于确保相关的两个字段之间的参照关系,以实现参照完整性约束;外键约束通常构建于来自不同的表的两个字段之间字表外键列的值必须在主表参照列值的范围内,或者为空外键参照的必须是主表的主键或者唯一键主表主键或唯一键值被字表参照时,主表相应记录不允许被删除。
5.答:
定义默认约束通过DEFAULT,定义检查约束通过CHECK。
第九章
一.选择题
1.B2.C3.C4.D5.D
二.填空题
1.局部
2.4482126
3.gf
4.,/**/
5.Transact,begin。
6.return,continue
7.insensitint,select
三.问答题
1.答:
算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串串联运算符和一元运算符。
2.答:
全局变量是整个程序都可访问的变量,生存期从程序开始到程序结束;全局变量分配在全局数据段,在程序开始运行的时候被加载。
3.答:
aBETWEEN10AND30
4.答:
连接运算法。
5.答:
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
游标总是与一条SQL选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。
当决定对结果集进行处理时,必须声明一个指向该结果集的游标。
游标的种类有:
Transact_SQL游标,API服务器游标和客户游标
6.答:
控制在一个WHILE循环中的游标活动。
7.答:
CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串。
如果被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的开始位数。
PATINDEX函数支持使用通配符来进行搜索,然而CHARINDEX不支持通配符。
第十章
一.选择题
1.C2.A3.A4.D5.A
二.填空题
1.sp
2.存储过程
3.BEGINTRANCOMMIL或COMMITTRAN
4.琐记
三.问答题
1.答:
存储过程是一组予编译的SQL语句,它的优点有1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。
2.答:
存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。
用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
exec存储过程名称
3.答:
使用输出参数类似于使用返回值。
但是输出参数具有两个重要的优势。
可以使用输出参数从存储过程传递出VarChar,Int,Money或任何其他数据类型的值。
而返回值则只能返回整数。
输出参数的另一个优势就是在一个存储过程中可以有多个输出参数。
一个存储过程可以包含1024个参数(其中包括输入和输出参数),但是只能包含一个返回值。
比如下面的存储过程根据提供的作者名来检索该作者的姓,该存储过程有一个名为@firstname的输入参数和一个@lastname的输出参数。
CreateProcedureGetLastName(@firstnameVarchar(20),@lastnameVarchar(20)Output)As
Select@lastname=au_lnameFromAuthorsWhereau_fname=@firstname
4.答:
可以把部分用transaction-sql编写的程序作为存储过程存储在sqlserver中,并创建应用程序来调用存储过程,对数据结果进行处理存储过程能够通过接收参数向调用者返回结果集,结果集的格式由调用者确定;返回状态值给调用者,指明调用是成功或是失败
5.答:
使用SETNOCOUNTON
默认情况下,存储过程将返回过程中每个语句影响的行数。
如果不需要在应用程序中使用该
信息(大多数应用程序并不需要),请在存储过程中使用SETNOCOUNTON语句以终止
该行为。
根据存储过程中包含的影响行的语句的数量,这将删除客户端和服务器之间的一个
或多个往返过程。
尽管这不是大问题,但它可以为高流量应用程序的性能产生负面影响。
createproceduretest_MyStoredProc@param1intassetnocounton不要使用sp_prefix
sp_prefix是为系统存储过程保留的。
数据库引擎将始终首先在主数据库中查找具有此前缀
的存储过程。
这意味着当引擎首先检查主数据库,然后检查存储过程实际所在的数据库时,
将需要较长的时间才能完成检查过程。
而且,如果碰巧存在一个名称相同的系统存储过程,
则您的过程根本不会得到处理。
尽量少用可选参数
在频繁使用可选参数之前,请仔细考虑。
通过执行额外的工作会很轻易地影响性能,而根据
为任意指定执行输入的参数集合,这些工作时不需要的。
您可以通过对每种可能的参数组合
使用条件编码来解决此问题,但这相当费时并会增大出错的几率。
在可能的情况下使用OUTPUT参数
通过使用OUTPUT参数返回标量数据,可以略微提高速度并节省少量的处理功率。
在应用
程序需要返回单个值的情况下,请尝试此方法,而不要将结果集具体化。
在适当的情况下,
也可以使用OUTPUT参数返回光标,但是我们将在后续文章中介绍光标处理与基于集合的
处理在理论上的分歧。
提供返回值
使用存储过程的返回值,将处理状态信息返回给进行调用的应用程序。
在您的开发组中,
一组返回值及其含义标准化,并一致地使用这些值。
这会使得处理调用应用程序中的错误更
加容易,并向最终用户提供有关问题的有用信息。
首先使用DDL,然后使用DML
将DML语句放在数据定义语言(DDL)语句之后执行(此时DML将引用DDL修改的
任意对象)时,SQLServer将重新编译存储过程。
出现这种情况,是由于为了给DML创
建计划,SQLServer需要考虑由DDL对该对象所作的更改。
如果留意存储过程开头的所
有DDL,则它只需重新编译一次。
如果将DDL和DML语句混合使用,则将强制存储过
程多次进行重新编译,这将对性能造成负面影响。
始终使用注释。
6.答:
触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定
表中对数据进行修改时,触发器会生效:
UPDATE、INSERT或DELETE。
触发器可以
查询其它表,而且可以包含复杂的SQL语句。
它们主要用于强制复杂的业务规则或要
求。
例如,可以控制是否允许基于顾客的当前帐户状态插入定单。
触发器还有助于强制引用
完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。
然而,强制引用完
整性的最好方法是在相关表中定义主键和外键约束。
如果使用数据库关系图,则可以在表之
间创建关系以自动创建外键约束
7.答:
所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不
可分割的工作单位。
例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句
或整个程序。
简单举个例子就是你要同时修改数据库中两个不同表的时候,如果它们不是
一个事务的话,当第一个表修改完,可是第二表改修出现了异常而没能修改的情况下,就只
有第二个表回到未修改之前的状态,而第一个表已经被修改完毕。
而当你把它们设定为一个
事务的时候,当第一个表修改完,可是第二表改修出现了异常而没能修改的情况下,第一个
表和第二个表都要回到未修改的状态!
这就是所谓的事务回滚。
8.答:
多个用户同时对库的并发操作时会带来以下不一致的问题:
丢失更新A,B两个用户读同一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 应用 SQLServer 课后 习题 答案