数据库复习题+答案.docx
- 文档编号:27927579
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:19
- 大小:88.89KB
数据库复习题+答案.docx
《数据库复习题+答案.docx》由会员分享,可在线阅读,更多相关《数据库复习题+答案.docx(19页珍藏版)》请在冰豆网上搜索。
数据库复习题+答案
第一部分:
选择题:
下面每题的选项中,只有一个是正确的,请选择正确的答案填入答题卡中对应的题号后。
1.一个表中可以建立几个聚集索引(A)
SQLServer提供的3种整型数据类型是(D)
、smallint和longintB.smallint、tinyint和longint
、tinyint和longintD.int、smallint和bigint
3.下列说法正确的是___B____。
A.视图是观察数据的一种方法,只能基于基本表建立。
图是虚表,观察到的数据是实际基本表中的数据。
C.索引查找法一定比表扫描法查询速度快。
D.索引的创建只和数据的存储有关系。
Server2008的数据库对象不是(D)
A.表B.约束
C.触发器D.变量
6.有学生表:
学生(学号,姓名,年龄),对学生关系的查询语句如下:
()
SELECT学号
FROM学生
WHERE年龄>20AND姓名LIKE′%伟′
如果要提高查询效率,应该建索引的属性是(C)
A.学号B.姓名C.年龄D.(学号,姓名)
7.以下哪个是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。
(B)
A.数据库系统B.数据库
C.关系数据库D.数据库管理系统
8.用二维表结构表示实体以及实体间联系的数据模型称为(C)
A.网状模型B.层次模型
C.关系模型C.面向对象模型
9.在SQL语言中NEWID()函数的功能(C)
A.转换字符串B.返回时间C.产生全局唯一标识D.返回新用户号
10.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建(C)
A.另一个表B.游标C.视图D.索引
Server2008采用的身份验证模式有(D)。
A.仅Windows身份验证模式B.仅SQLServer身份验证模式
C.仅混合模式身份验证模式和混合模式
12.要查询book表中所有书名中包含“计算机”的书籍情况,可用(B)语句。
*FROMbookWHEREbook_nameLIKE‘计算机*’
*FROMbookWHEREbook_nameLIKE‘计算机%’
*FROMbookWHEREbook_name=‘计算机*’
*FROMbookWHEREbook_name=‘计算机%’
语句中与HAVING子句通常同时使用的是(C)子句。
BYBYD.无需配合
Server提供的单行注释语句是使用(B)开始的一行内容。
A.“/*”B.“--”C.“{”D.“/”
15.下列途径哪个不是实现值域完整性____B___。
A、ruleB、primarykeyC、notnullD、default
16.要保证数据库逻辑数据独立性,需要修改的是(C)
A.模式B.模式与内模式的映射
C.模式与外模式的映射D.内模式
17.下列四项中,不属于数据库特点的是(C)
A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高
18.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是(D)
A.多对多B.一对一C.多对一D.一对多
19.反映现实世界中实体及实体间联系的信息模型是(A)
A.关系模型B.层次模型C.网状模型D.E-R模型
20.不是SQLServer系统数据库(B)
21.关系数据模型的三个组成部分中,不包括(D)
A.完整性规则B.数据结构C.数据操作D.并发控制
语言的REVOKE语句实现下列哪一种数据控制功能(C)
A.可靠性控制B.并发性控制C.安全性控制D.完整性控制
23.事务有多个性质,其中不包括(B)
A.一致性B.唯一性C.原子性D.隔离性
语言通常称为(A)
A.结构化查询语言B.结构化控制语言
C.结构化定义语言D.结构化操纵语言
25.如何构造出一个合适的数据逻辑结构是(C)主要解决的问题。
A.关系数据库优化B.数据字典
C.关系数据库规范化理论D.关系数据库查询
27.从E-R模型关系向关系模型转换时,一个M:
N联系转换为关系模式时,该关系模式的关键字是(D)
A.M端实体的关键字B.N端实体的关键字
C.重新选取其他属性D.M端实体关键字与N端实体关键字组合
28.数据库的(B)是指数据的正确性和相容性。
A.安全性B.完整性C.并发控制D.恢复
29.属于固定数据库角色的是(D)。
A.sysadminB.setupadminC.serveradminD.db_owner
30、关于存储过程错误的是(A)
A.存储过程修改后会影响应用程序的编码B.存储过程能减少网络流量
C.存储过程执行速度较快D.存储过程可以作为安全机制
32、不是商业化的关系数据库产品(C)
Server
34、下列哪个不是数据库对象(D)
A.表tableB.数据类型datatypeC.索引indexD.进程process
35、系统数据库不包含(A)
38、存储过程根据输入参数返回结果集,同时返回状态值,指明调用失败或成功,一般返回(D)值代表成功。
A.5000
39、下列哪一个不是触发器(B)
A.afterinsertdeleteofinsertD.afterupdate
42、一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间为(B)联系。
A.一对一B.一对多C.多对多D.多对一
43、一个仓库可以存放多种零件,每一种零件可以存放在不同的仓库中,仓库和零件之间为(C)联系。
A.一对一B.一对多C.多对多D.多对一
44、在创建表时,若表名前添加“#”,表示创建的表为:
(A)
A.本地临时表B.全局临时表
C.系统表D.关系表
45、删除表的命令为:
A
A.DropTableB.AlterTable
C.CreateTableD.TruncateTable
46、列的内容是否符合要求,属于(A)
A.域完整性B.实体完整性
C.参照完整性D.表的数据完整性
47、要删除book表中所有记录,可用(C)语句。
A.DELETE*FROMbookB.DROPbook
C.DELETEFROMbookD.DELETEbook
48.全局变量用(B)表示。
A.@B.@@C.#D.##
第二部分:
填空题
1.当主外健不能保证参照完整性和数据一致性时,还可以选择触发器来实现。
2.创建数据库的SQL语句为CREATEDATABASEdatabase_name,修改数据库设置的语句为ALTERDATABASEdatabase_name。
3.T-SQL中添加记录使用INSERT语句,修改记录使用UPDATE语句。
4.一个数据库的数据文件可分为主数据文件和辅助数据文件,主数据文件的扩展名一般为.mdf,辅助数据文件的扩展名一般为.ndf。
5.数据库是由主数据库文件和日志文件组成的。
6.常见的数据模型包括层次模型,网状模型,关系模型和面向对象模型。
7.关系的实体完整性指数据表中的记录是唯一的
8.结构数据模型直接描述数据库中数据的逻辑结构,常用的结构数据模型有层次模型,___网状模型______,_关系模型________和面向对象模型,其中SQL数据库是基于______关系模型___建立的。
9.访问SQLserver数据库对象时,需要经过身份验证和_权限验证________两个阶段,其中身份验证分为Windows验证模式和___混合____验证模式。
10.SQLserver使用__日志________文件记载用户对数据库进行的所有操作。
11.触发器原理是基于两个特殊表:
插入表、删除表。
12.SQL语言中行注释的符号为____--_____;块注释的符号为____/**/_____。
13.SQLserver中的变量分为两种,全局变量和局部变量。
其中全局变量的名称以______@@___字符开始,有系统定义和维护。
局部变量以_____@____字符开始,由用户自己定义和赋值。
14.命令truncatetable的功能是_______清空数据库________。
15.视图引用的列数最多1024列。
16.数据元素即记录是数据的一个基本单位,一个数据元素可以由若干个数据项即字段组成,数据项是具有独立意义的数据最小单位。
17.数据处理方式:
集中处理方式、分散处理方式、分布式处理方式。
18.数据库用数据模型表示数据结构,其不仅描述数据本身,也描述数据间的联系。
19.数据库管理系统DBMS是数据管理的核心软件,是用户与数据库的接口。
20.现实世界中,两个不同实体集的实体间的联系存在一对一、一对多、多对多三种情况
21.两实体集间M:
N联系时,单独建立联系表,其属性包含双方实体的主键。
22.三类完整性约束规则:
实体完整性、参照完整性、用户定义的完整性。
23.对关系进行水平分割,即从原关系中选取符合给定条件的哪些元组,这称为选择运算。
24.对关系进行垂直分割,即从原关系中取出某些列并重新排序,这称为投影运算。
25.两个关系具有一个以上的公共属性,公共属性相等时连接对应元组构成一个新元组,这称为自然连接运算。
26.多数关系模式规范工作只进行到范式:
3NF。
27.从物理角度看,一个数据库至少包含一个数据库文件和一个事务日志文件。
28.数据库分为2类:
系统数据库和用户数据库。
29.创建表的过程就是定义表的列的过程,同一数据库中不同的表可以使用相同的列名。
30.索引是一个单独的、物理的数据库结构,是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
31.SQLServer采用两层保护措施:
用户登录服务器时进行身份验证、对用户访问数据库的权限进行控制。
32.SQLServer的角色管理共分两类:
服务器角色、数据库角色。
33.SQLServer有两种类型的权限:
对象权限和语句权限。
34.备份设备是存储数据的媒介,采用本地主机硬盘和远程主机硬盘,以文件方式存储。
35.备份内容分为系统数据库和用户数据库两部分。
36.数据库镜像维护一个数据库的两个副本,两个副本驻留在不同位置计算机上的数据库引擎实例中,分别称为主体数据库和镜像数据库。
37.复制指从一个数据库将数据库对象复制和分发到另一个数据库,然后使两个数据库之间的信息同步,从而获得一致性的过程。
38.视图是动态表的静态定义,用SELECT语句从一个或多个表中选择满足某些条件的行和列组合而成。
39.触发器是特殊的存储过程,主要是通过事件触发而被执行,而存储过程是通过名字而被直接调用。
40.执行存储过程时使用exec命令。
41.CommitTransaction语句是提交语句,它使得自事务开始以来所执行的所有数据修改成为数据库的永久部分,也标志了一个事务的结束。
42.数据库备份使用BACKUP命令。
43.数据库恢复使用RESTORE命令。
44.使用GRANT命令,可以给数据库用户或数据库角色授予数据库级别或对象级别的权限。
45.使用REVOKE命令,可以撤销以前给数据库用户授予的权限。
46.数据库备份的类型有四种:
数据库备份,文件和文件组备份,差异备份,事务日志备份
47.sqlserver2000中三种权限:
对象权限,隐含权限,语句权限
48.注意,语句,函数一般大写,如:
MAX();
第三部分:
简答题
2、触发器的工作原理。
答案一:
触发器就是一段语句。
包括两个部分。
一个部分是触发动作,一个部分是触发后执行的动作。
当你对相关的表格进行操作后,可能这个动作就触碰了触发器编写的语句,于是就执行后面的动作了。
答案二:
是用户定义在关系表上的一类由事件驱动的特殊过程。
一旦定义,任何用户对表的增,删,改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整的控制。
触发器类似于约束,,但是比约束更加灵活,可以实施比FOREIGNKey约束,CHECK约束更为复杂的检查与操作,具有更精细和更强大的数据控制能力。
3、建立一个存储过程,对学生表进行检索,带有2个输入参数:
专业和籍贯,1个输出参数:
满足要求的总人数。
CreateprocedureTotal_Number/*根据一致性原则,命令语言要么全大写,要么全小写!
!
!
*/
@Sdeptchar,--专业
@Brith_Placechar,--籍贯
@Sumintoutput--输出的总人数
As
Select@Sum=COUNT(Stuno)fromStudentwhereSdept=@SdeptANDBirth_Place=@Birth_Place
GO
5、数据库角色和服务器角色的区别是什么
(1)服务器角色是针对服务器这个层次的权限而言的,也就是说一般加入到服务器角色里的用户都是具有对服务器一定的管理权限;
(2)数据库角色是针对数据库层次而言的,用户加入到某个数据库的数据库角色中后,这个用户只是在这个数据库里面具有在角色里指定的用户权限。
一个用户的最终权限是由服务器角色与数据库角色组成的
6、至少列出5种数据类型、5个函数。
Tppe;intcharsmallintbigintvarchar
Function:
COUNT、SUM、MIN和MAXAVG()(所有的聚合函数都是确定性的)
lCAST()
lCONVERT()
lDATEADD()
lDATEDIFF()
lASCII()
lCHAR()
lSUBSTRING()
7、列出5种sqlserver数据库对象及其作用。
表、视图、存储过程、索引、触发器
(1)表:
在数据库中,所有的数据存放在表中,表由行(记录)和列(字段)组成,一个数据库可以包含多个表。
(2)视图:
视图是由查询数据表产生的结果,是一种虚构的表。
视图把表中的部分数据映射出来供用户使用,这样可以防止所有的用户直接对表进行操作而导致系统的性能和安全性的下降。
(3)存储过程:
一个存储过程实际上是由一组SQL语句组成的完成特定功能的程序。
存储过程在服务器端被编译后可以反复执行。
(4)索引:
索引是对表中的一个或多个列的值进行排序的结构。
可以利用索引提高对数据库表中的特定信息的访问速度。
(5)触发器:
触发器由一组SQL语句组成,当对表或视图进行某种操作(添加、删除或修改)时,这组命令会在一定情况下自动执行
8、用SQL语句将登陆帐户USER的密码由‘PA556’改为’PSD123’。
(1)登陆帐户改名:
alterlogindbawithname=dba_tom
提示:
在SQLServer2005中也可以给sa改名。
《SQLServer2005安全性增强:
给超级用户sa改名》
(2)登陆帐户改密码:
alterloginUSERwithpassword='PSD123'
(3)数据库用户改名:
alteruserdbawithname=dba_tom
(4)更改数据库用户defult_schema:
alteruserdbawithdefault_schema=sales
(5)删除数据库用户:
dropuserdba
(6)删除SQLServer登陆帐户:
droplogindba
9、SQLSERVER有几种验证方式有何区别
(1)Windows身份验证模式
只进行Windows身份验证。
用户不能指定SQLServer2000登录ID。
这是SQLServer2000的默认身份验证模式。
不能为在Windows98上运行的SQLServer实例指定Windows身份验证模式,因为此操作系统不支持Windows身份验证。
(2)混合模式
如果用户在登录时提供了SQLServer2000登录ID,则系统将使用SQLServer身份验证对其进行验证。
如果没有提供SQLServer2000登录ID或请求Windows身份验证,则使用Windows身份验证对其进行身份验证。
10、一个表上可以建立几个聚集索引和非聚集索引
一个表只能有一个聚集索引,可以有多个非聚集索引
11、简述关系型数据库设计的步骤
概念结构设计逻辑结构设计物理结构设计
1.确定entities及relationships
2.确定所需数据
3.标准化数据
4.考量关系
5.检验设计
12、简述数据库系统的构成
数据库系统DBS(DataBaseSystem,简称DBS)通常由数据库,数据库管理软件和数据管理员组成。
其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据库管理员一般是由业务水平较高、资历较深的人员担任。
13、什么是SQL语言
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。
他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。
它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
14、简述char和varchar数据类型的区别
char和varchar都是字符串类型的
char固定长度的非Unicode字符数据,最大长度为8,000个字符。
所占存储空间为你定义时的大小。
数据量较大时以char字段为查询条件时查询得快一些.
varchar可变长度的非Unicode数据,最长为8,000个字符。
所占存储空间为实际大小(在不超过你定义长度时)
如果要存储的字段不是定长的.用varchar较好一些。
所以,对经常修改(或插入)的字段选用char,而不常修改的建议用varchar
15、什么是TransactSQL(T-SQL),由哪几部分组成
SQL语言的命令通常分为四类
1、数据定义语言(DDL)
创建、修改或删除数据库中各种对象,包括表、视图、索引等。
命令:
CREATETABLE,CREATEVIEW,CREATEINDEX、ALTERTABLE,
DROPTABLE,DROPVIEW,DROPINDEX
2、查询语言(QL)
按照指定的组合、条件表达式或排序检索已存在的数据库中数据,
不改变数据库中数据。
命令:
SELECT…FROM…WHERE…
3、数据操纵语言(DML)
对已经存在的数据库进行元组的插入、删除、修改等操作
命令:
INSERT、UPDATE、DELETE
4、数据控制语言(DCL)
用来授予或收回访问数据库的某种特权、
控制数据操纵事务的发生时间及效果、对数据库进行监视
命令:
GRANT、REVOKE、COMMIT、ROLLBACK
16、简述使用视图的优点。
第一点:
使用视图,可以定制用户数据,聚焦特定的数据。
解释:
在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视图,以后他在查询数据时,只需select*fromview_caigou就可以啦。
第二点:
使用视图,可以简化数据操作。
解释:
我们在使用查询时,在很多时候我们要使用聚合函数,同时还要显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select*fromview1就可以啦~,是不是很方便呀~
第三点:
使用视图,基表中的数据就有了一定的安全性
因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。
同时,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。
第四点:
可以合并分离的数据,创建分区视图
随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,将各分公司的数据合并为一个视图。
17、简述聚集索引和非聚集索引的区别
聚集索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。
聚集索引确定表中数据的物理顺序。
聚集索引类似于电话簿,后者按姓氏排列数据。
由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。
但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
聚集索引对于那些经常要搜索范围值的列特别有效。
使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。
例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。
这样有助于提高此类查询的性能。
同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。
非聚集索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:
索引的叶节点就是数据节点。
而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。
18、简述数据完整性的分类。
一:
实体完整性规则
实体完整性规则是指关系的主属性(就是俗称主键的一些字段,主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 复习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)