数据库复习题+答案.docx
《数据库复习题+答案.docx》由会员分享,可在线阅读,更多相关《数据库复习题+答案.docx(15页珍藏版)》请在冰豆网上搜索。
![数据库复习题+答案.docx](https://file1.bdocx.com/fileroot1/2022-11/25/b0339047-5aea-4e0b-9c6b-e6319a4bca25/b0339047-5aea-4e0b-9c6b-e6319a4bca251.gif)
数据库复习题+答案
第一部分:
选择题:
下面每题的选项中,只有一个就是正确的,请选择正确的答案填入答题卡中对应的题号后。
1、一个表中可以建立几个聚集索引(A)
A、1B、2
C、255D、512
2、MSSQLServer提供的3种整型数据类型就是(D)
A、int、smallint与longintB、smallint、tinyint与longint
C、int、tinyint与longintD、int、smallint与bigint
3、下列说法正确的就是___B____。
A、视图就是观察数据的一种方法,只能基于基本表建立。
//可基于视图再建立视图;
B、视图就是虚表,观察到的数据就是实际基本表中的数据。
C、索引查找法一定比表扫描法查询速度快。
D、索引的创建只与数据的存储有关系。
4、SQLServer2008的数据库对象不就是(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、索引
11、SQLServer2008采用的身份验证模式有(D)。
A、仅Windows身份验证模式B、仅SQLServer身份验证模式
C、仅混合模式D、Windows身份验证模式与混合模式
12、要查询book表中所有书名中包含“计算机”的书籍情况,可用(B)语句。
A、SELECT*FROMbookWHEREbook_nameLIKE‘计算机*’
B、SELECT*FROMbookWHEREbook_nameLIKE‘计算机%’
C、SELECT*FROMbookWHEREbook_name=‘计算机*’
D、SELECT*FROMbookWHEREbook_name=‘计算机%’
13、SELECT语句中与HAVING子句通常同时使用的就是(C)子句。
A、ORDERBYB、WHEREC、GROUPBYD、无需配合
14、SQLServer提供的单行注释语句就是使用(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)
A、MasterB、Usystem
C、MsdbD、Model
21、关系数据模型的三个组成部分中,不包括(D)
A、完整性规则B、数据结构C、数据操作D、并发控制
22、SQL语言的REVOKE语句实现下列哪一种数据控制功能?
(C)
A、可靠性控制B、并发性控制C、安全性控制D、完整性控制
23、事务有多个性质,其中不包括(B)
A、一致性B、唯一性C、原子性D、隔离性
24、SQL语言通常称为(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)
A、AccessB、SQLServerC、DelphiD、Oracle
34、下列哪个不就是数据库对象(D)
A、表tableB、数据类型datatypeC、索引indexD、进程process
35、系统数据库不包含(A)
A、BookmanageB、MasterC、ModelD、Msdb
38、存储过程根据输入参数返回结果集,同时返回状态值,指明调用失败或成功,一般返回(D)值代表成功。
A、5000B、109C、0D、1
39、下列哪一个不就是触发器(B)
A、afterinsertB、beforedeleteC、insteadofinsertD、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()(所有的聚合函数都就是确定性的)
●CAST()
●CONVERT()
●DATEADD()
●DATEDIFF()
●ASCII()
●CHAR()
●SUBSTRING()
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、简述聚集索引与非聚集索引的区别?
聚集索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。
聚集索引确定表中数据的物理顺序。
聚集索引类似于电话簿,后者按姓氏排列数据。
由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。
但该索引可以包含多个列(组合索引),就像电话簿按姓氏与名字进行组织一样。
聚集索引对于那些经常要搜索范围值的列特别有效。
使用聚集索引找到包含第一个值的行后,便可以