计算机级数据库原理和应用总复习.docx
《计算机级数据库原理和应用总复习.docx》由会员分享,可在线阅读,更多相关《计算机级数据库原理和应用总复习.docx(14页珍藏版)》请在冰豆网上搜索。
计算机级数据库原理和应用总复习
数据库原理及使用复习题
适用于计算机科学和技术专业2009级
(仅供复习参考之用切莫据此作为复习依据不对由此产生后果负责)
一、单项选择题
1.在数据库中,产生数据不一致的根本原因是______。
A.数据存储量太大B.没有严格保护数据
C.未对数据进行完整性控制D.数据冗余
2.设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算,其运算结果的元组个数为()
A.A.80 B.小于等于80 C.大于等于160 D.大于等于80,小于等于160
3.SQL语言具有两种使用方式,它们在使用的细节上会有些差别,特别是SELECT语句。
这两种不同使用方式的SQL,分别称为交互式SQL和()
A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL
4.下列关于索引的叙述,正确的是( )。
A.可以根据需要在基本表上建立一个或多个索引,从而提高系统的查询效率
B.一个基本表最多只能有一个索引
C.建立索引的目的是为了给数据表中的元素指定别名,从而使别的表也可以引用这个元素
D.一个基本表上至少要存在一个索引
5.有2个关系模式R(A,B,C)和S(D,E),R中有3个元组,S中有2个元组,则R和S笛卡尔积后得到的新关系中,属性个数及元组个数分别为( )
A.5,5B.5,6 C.6,5D.6,6
6.数据库系统中的数据模型通常由()三部分组成
A.数据结构、数据操作和完整性约束B.数据定义、数据操作和安全性约束
C.数据结构、数据管理和数据保护D.数据定义、数据管理和运行控制
7.设有一个关系:
DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHEREDNAMELIKE
A.‘__W_%’B.‘_%W__’C.‘_W__’D.‘_W_%’
8.有一个关系:
学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于()
A.实体完整性约束B.参照完整性约束
C.用户自定义完整性约束D.关键字完整性约束
9.在关系模式R(U,F)中,R中任何非主属性对键完全函数依赖是R∈3NF的()
A.充分必要条件B.必要条件C.充分条件D.既不充分也不必要条件
10.如果事务T获得了数据对象R上的排它锁,那么()
A.T对R只能读不能写B.T对R只能写不能读
C.其它事务对过R只能读不能写D.其它事务对R既不能读也不能写
11.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是____。
A.DBS包括DB和DBMSB.DBMS包括DB和DBS
C.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS
12.能够消除冗余的键的范式是()
A.A.2NF B.3NF C.4NF D.BCNF
13.在数据操作语言(DML)的基本功能中,不包括的是()
A.插入新数据 B.描述数据库结构
C.对数据库中数据排序 D.删除数据库中数据
14.设关系模式R(A,B,C),F是R上成立的FD集,F={B→C},则分解ρ={AB,BC}相对于F()
A.是无损联接,也保持FD的分解 B.是无损联接,但不保持FD的分解
C.不是无损联接,但保持FD的分解 D.既不是无损联接,也不保持FD的分解
15.数据库的并发控制,完整性检查,安全性检查等是对数据库的()
A.设计B.保护C.操纵D.维护
在数据库设计中,
16.在数据库设计中,将E-R图转换成关系数据模型的过程属于()
A.需求分析阶段B.概念设计阶段
C.逻辑设计阶段D.物理设计阶段
17.SQL语言中,条件“年龄BETWEEN20AND30”表示年龄在20至30之间,且()
A.包括20岁和30岁B.不包括20岁和30岁
C.包括20岁但不包括30岁D.包括30岁但不包括20岁
18.如果事务T获得了数据项Q上的排它锁,则T对Q()
A.只能读不能写B.只能写不能读C.既可读又可写D.不能读不能写
19.设一个科研项目只能由一个研究组承担,而一个研究组可承担多个项目。
则项目和研究组之间是( )
A.一对一的关系B.一对多的关系 C.多对一的联系D.多对多的联系
20.函数依赖是描述关系中各个属性之间相互制约而又相互依赖的关系。
确定属性间的函数依赖,要根据( )
A.当前的数据值归纳B.主键值决定 C.候选键值决定D.属性的语义决定
二、填空题
1.数据库技术主要研究如何科学地组织和存储数据、高效地获取和处理数据,是数据管理的最新技术,是计算机科学和技术的重要分支。
2.一般地,一个数据库的数据模型由数据结构、数据操作和数据的约束条件三部分组成。
3.一个低一级的关系范式通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程称为关系模式的规范化。
4.一般来讲,对数据库的操作权限包含隐含特权、系统特权和对象权限。
5.利用游标进行数据查询需要4种语句:
说明游标、打开游标、推进游标和关闭游标语句。
6.数据库的保护主要包括数据库的完整性、安全性、并发控制和数据库恢复等4方面的任务。
7.在SQL语言中,参照完整性通过FOREIGNKEY约束来定义。
8.SQLSERVER2005提供了种数据库备份和恢复方式,分别是:
全库备份、日志备份、差异备份和文件、文件组备份。
9.SQLSERVER2005的数据文件包括主数据文件、二级数据文件和事务日志文件三种。
并发控制的主要方法是采用封锁机制。
10.一般地,一个数据库的数据模型由数据结构、数据操作和数据的约束条件三部分组成。
11.一般来讲,对数据库的操作权限包含隐含特权、系统特权和对象权限。
12.数据库的保护主要包括数据库的完整性、安全性、并发控制和数据库恢复等4方面的任务。
13.SQLSERVER2005的数据文件包括主数据文件、二级数据文件和事务日志文件三种。
14.设有关系模式R(X,Y,Z),F={X→Y,Y→Z},则R的候选键是X。
15.事务并发执行会带来诸如丢失更新、不一致分析、未提交依赖等问题。
16.关系模式是静态的、稳定的,而关系是动态的随时间不断变化的。
因为关系操作在不断地更新着数据库中的数据。
17.触发器是一类特殊的存储过程,它不允许带参数,也不能被直接调用,只能由系统自动激活。
18.在三大传统的数据模型中,具有严格的数学理论基础的是关系模型。
19.1.SQLServer的安全性控制策略包括四个方面:
操作系统的安全性、服务器的安全性、数据库的安全性和表和列级的安全性。
20.2.SQLServer2005的身份验证模式有两种,分别是Windows身份验证模式和SQLServer和Windows身份验证模式身份验证模式。
三、问答题
1)简述数据库设计的步骤以及每个步骤的任务。
1)需求分析分析客户的业务和数据处理需求形成DFD、DD需求分析说明书。
2)概念结构设计设计数据库的E-R模型图,确认需求信息的正确和完整。
3)逻辑结构设计将E-R图转换为多张表,进行逻辑设计,并使用数据库设计的三大范式进行审核。
4)物理结构设计数据库物理设计是为逻辑数据模型选取一个最适合使用环境的物理结构,包括存储结构和存取方法。
5)数据库实施根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施阶段。
实施阶段主要有三项工作。
6)数据库运行和维护数据库系统正式运行,标志着数据库设计和使用开发工作的结束和维护阶段的开始。
2)使用视图的优点?
1)能够将对数据库的访问限制在一定范围内,有利于数据保密。
2)视图机制使不同的用户能以不同的方式看待同一数据,当许多不同种类的用户使用同一个集成数据库时,这种灵活性非常重要。
3)简化了用户观点。
4)视图对于数据库的重构提供了一定程度的逻辑独立性。
3)试分析语句DROPTableA和DELETEFROMA之间的差别。
1)DROPTableA的作用是注销基本表A,操作完成后,表A的结构定义和其中存储的数据将完全消失;
2)DELETEFROMA的作用是删除表A存储的全部数据,操作完成后,表A的结构定义仍然存在,但其中存储的数据将完全消失。
4)事务的并发执行可能带来哪些问题?
1)丢失更新(丢失修改)
2)不一致分析(不可重复读)
3)未提交依赖等问题(读“脏”数据)
5)术语解释:
3NF
对于一个给定的关系模式R,若R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码,则R∈3NF。
6)存储过程和触发器有什么不同?
1)触发器是特殊的类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。
2)触发器主要通过事件进行触发而被执行,触发器不能直接调用执行,也不能被传送和接受参数,而存储过程可以通过存储过程名被直接调用。
触发器和表有关,存储过程和表无关。
7)简述事务的四个特性及其含义。
事务具有四个特征:
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。
这四个特性简称为ACID特性。
1)原子性:
事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做。
2)一致性:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
3)隔离性:
一个事务的执行不能其它事务干扰。
即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
4)持续性:
也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。
接下来的其它操作或故障不应该对其执行结果有任何影响。
8)试述关系模式规范化的基本步骤(从1NF规范化到BCNF)。
9)什么是视图?
它和表有什么区别?
1)视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
2)视图是虚表。
所谓虚表,就是说视图不是表。
因为视图只储存了她的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据和基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作和视图相关联的基本表。
10)简述数据库设计过程中概念结构设计、逻辑结构设计阶段各应完成的任务。
1)概念结构设计的主要任务是对需求分析的结果进行综合、归纳,从而形成一个独立于具体数据库管理系统的概念数据模型。
2)逻辑结构设计阶段的主要任务是将概念结构设计的结果转换为某个具体的数据库管理系统所支持的结构数据模型,并对其进行优化。
11)使用存储过程的优势
1)可以减少客户端代码的重复。
只需创建存储过程一次并将其存储在数据库中,以后即可在客户端程序中多次调用该存储过程。
2)允许更快地执行。
如果某操作需要大量的Transact-SQL代码或需要重复执行,使用存储过程将比在客户端执行Transact-SQL批代码的执行速度要快。
存储过程在服务器端经过预编译,可以直接执行;而在客户端每次运行Transact-SQL语句时,都要从客户端重复发送,并且在SQLServer每次执行这些语句时,都要对其进行编译和优化。
因此,存储过程执行速度更快。
3)减少网络流量。
例如,一个需要数百行Transact-SQL代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。
4)可以简化数据库管理。
例如,要修改某种查询,如果查询重复存放在客户机上,则要在所有客户机上修改查询,而使用存储过程可以集中修改。
12)deleted表和inserted表的作用?
1)deleted表用于存储DELETE和UPDATE语句所影响的行的副本。
在执行DELETE或UPDATE语句时,行从触发器表中删除,并传输到deleted表中。
deleted表和触发器表通常没有相同的行。
2)inserted表用于存储INSERT和UPDATE语句所影响的行的副本。
在一个插入或更新事务处理中,新建行被同时添加到inserted表和触发器表中。
inserted表中的行是触发器表中新行的副本。
四、程序设计题
假设“阳光”酒店的数据库中有以下的几个关系模式:
客户个人信息(身份证号,姓名,性别,年龄,工作单位)
客户入住信息(身份证号,客房号,入住时间,退房时间)
客房(客房号,客房类型号)
定价(客房类型号,客房类型,单价)
订票(身份证号,机票号,订票时间)
机票(机票号,起始地,目的地,起飞时间,到达时间,机票价格,机票状态,航空公司号)
航空公司(航空公司号,航空公司名,电话)
雇员(雇员号,姓名,雇佣日期,被投诉次数)
试用关系代数完成以下操作:
(1)查询“布什”先生所订客房的价格。
∏姓名,单价(σ姓名=‘布什’(客户个人信息*客户入住信息*客户入住信息*定价))
试用SQL语言完成下列操作:
(2)查询身份证号为“123456789123456789”的客户的最近入住时间。
SELECTMAX(入住时间)
FROM客户入住信息
WHERE身份证号=‘123456789123456789’
(3)查询总共从“东方航空公司”订票的张数。
SELECTCOUNT(*)AS订票总张数
FROM机票,航空公司
WHERE机票.航空公司号=航空公司.航空公司号AND航空公司名=‘东方航空公司’
GROUPBY机票.航空公司号
(4)酒店新近招聘一名雇员,其雇员号为“E111”,姓名为“玛丽”,雇佣日期为“2009-11-22”,将该雇员的信息插入相应的表。
INSERTINTO雇员(雇员号,姓名,雇佣日期)
VALUES(‘E111’,‘玛丽’,‘2009-11-22’)
(5)假设你是该系统的DBA,请将查询机票信息权限赋予操作员“可比克”。
GRANTSELECTON机票TO‘可比克’
GRANTSELECTON航空公司TO‘可比克’
(6)试用SQL语言创建客户个人信息表(相关属性的数据类型及数据宽度结合实际情况自定义),该表的完整性规则如下:
实体完整性:
客户个人信息表的主键“身份证号”。
用户定义完整性:
规定姓名、年龄不能为空,性别只有“男”和“女”两个值,年龄的值必须大于等于18岁小于等于100岁。
CREATETABLE客户个人信息(
身份证号CHAR(18)PRIMARYKEY,
姓名CHAR(50)NOTNULL,
性别CHAR
(2)CHECK(性别='男'OR性别='女'),
年龄TinyintNOTNULL,CHECK(年龄BETWEEN18AND100),
工作单位CHAR(50)
)
假设“阳光”酒店的数据库中有以下的几个关系模式:
客户个人信息(身份证号,姓名,性别,年龄,工作单位)
客户入住信息(身份证号,客房号,入住时间,退房时间)
客房(客房号,客房类型号)
定价(客房类型号,客房类型,单价)
订票(身份证号,机票号,订票时间)
机票(机票号,起始地,目的地,起飞时间,到达时间,机票价格,机票状态,航空公司号)
航空公司(航空公司号,航空公司名,电话)
雇员(雇员号,姓名,雇佣日期,被投诉次数)
试用关系代数完成以下操作:
(7)查询“东方航空公司”所有航班的目的地。
∏目的地(σ航空公司名=‘东方航空公司’(机票*航空公司))
试用SQL语言实现下列查询:
(8)查询“8888”房间的客房类型、入住的客户身份证号及入住时间。
SELECT客房类型,身份证号.入住时间
FROM客户入住信息,客房,定价
WHERE客户入住信息.客房号=客房.客房号AND客房.客房类型号=定价.客房类型号AND客房.客房类型号=‘8888’
(9)查询总共从“东方航空公司”订票的张数。
SELECTCOUNT(*)AS订票总张数
FROM机票,航空公司
WHERE机票.航空公司号=航空公司.航空公司号AND航空公司名=‘东方航空公司’
GROUPBY机票.航空公司号
(10)身份证号为“123456789987654321”,姓名为“孙丽”,年龄为39岁的女客户到酒店定了一个房间号为“3333”的客房,试对相应的表做相应的操作。
INSERTINTO客户个人信息(身份证号,姓名,性别,年龄)
VALUES(‘123456789987654321’,‘孙丽’,‘女’,39)
INSERTINTO客户入住信息(身份证号,客房号,入住时间)
VALUES(‘123456789987654321’,‘3333’,GETDATE())
(11)假设你是该系统的DBA,由于工作变动,需要回收操作员“可比克”的查询机票信息的权限。
REVOKESELECTON机票FROM‘可比克’
REVOKESELECTON航空公司FROM‘可比克’
(12)试用SQL语言创建客户入住信息(相关属性的数据类型及数据宽度结合实际情况自定义),该表的完整性规则如下:
实体完整性:
客户个人信息表的主键“身份证号,入住时间”。
参照完整性:
定义客户入住信息的外部关键字为“身份证号”。
CREATETABLE客户入住信息(
身份证号CHAR(18)NOTNULL,
客房号CHAR(10)NOTNULL,
入住时间DATETIMEDEFAULTGETDATE(),
退房时间DATETIME,
PRIMARYKEY(身份证号,客房号),
FOREIGNKEY(身份证号)REFERENCES客户个人信息(身份证号)
)
五、综合题
以下是某商业数据管理系统,其管理的对象及信息包括:
1.顾客有编号、姓名、单位、电话。
2.商品有商品编码、商品名称、单价。
这些对象之间的联系如下:
1.每一名顾客可能买多种商品,且每一种商品又可能有多名顾客购买。
2.顾客每一次购买商品还涉及日期、数量、金额。
根据上述描述,解答下列各题:
(1)试画出E-R图并在E-R图中标注联系的类型。
(2)指出每一个实体的键(用下划线标注)。
(3)将E-R图转换成关系模型(用下划线标注每个关系的主码)。
(4)用下划线标注每个关系的主码。
1)
2)顾客(顾客编号,姓名,单位,电话)
商品(商品编号,名称,单价)
购买(顾客编号,商品编号,日期,数量,金额)
为某高校体育部门建立数据库,其中包含如下信息:
(1)运动队:
队名、主教练,其中队名惟一标识运动队。
(2)运动员:
运动员编号、姓名、性别、年龄。
(3)运动项目:
项目编号、项目名、所属类别。
其中:
每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加多个项目,每个项目可以有多个运动员参加。
系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。
(1)试画出E-R图并在E-R图中标注联系的类型。
(2)指出每一个实体的键(用下划线标注)。
(3)将E-R图转换成关系模型(用下划线标注每个关系的主码)。
(4)用下划线标注每个关系的主码。
1)
2)
运动队(队名,主教练,地址)
运动员(编号,姓名,性别,年龄)
项目(项目编号,项目名,类别)
属于(编号,队名)
比赛(编号,项目编号,比赛日期,成绩,名次)
附加:
一、使用题
1.创建名为“Love”的数据库,其中主数据文件为Lovedat.mdf,初始大小为8M,增长大小为1M,日志文件为Lovedat.ldf,初始大小是5M,最大存储空间是30M,增长是5M。
请写出相应的SQL语句。
2.使用sql语句创建表authors,结构如下表所示
列名数据类型大小是否为空默认值说明
authorIDint4N编号(主键),自动增长
authorNamenvarchar50N姓名
Phonenvarchar13Y电话
addressnvarchar255Y地址
3.使用SQL语句对2中创建的authors表进行如下修改:
(1)添加Sex列char
(2),city列varchar(20)。
(2)删除city列。
(3)修改作者信息表authors中的address列将该列的属性的长度更改为500。
4.系部表的创建语句如下,请完成以下操作
CREATETABLE系部(系部代码char
(2)CONSTRAINTpk_xbdmPRIMARYKEY,
系部名称varchar(30)NOTNULL,系主任char(8))
(1)将系部表中计算机系的系主任改为‘张中裕’
(2)将系部表中的系部名称列中的‘系’全部更改为‘科学系’(使用replace函数,用法:
replace(串1,串2,串3),其功能是将串1中的串2替换为串3)
(3)在系部表中删除系主任姓‘张’的系部数据
5.有二个数据表XS(xh,xm)和XS_KC(xh,kch,cj),用两种方法,写出如下查询:
“查找数据库中所有学生的学号(xh)、姓名(xm)以及其所选修的课程号(kch)和成绩(cj)”。
1.createdatabaseloveon
(name=lovedat,
filename='d:
\database\lovedat.mdf',
size=8,
Maxsize=unlimited,
filegrowth=1)
logon
(name=lovedat_log,
filename='d:
\database\lovedat.ldf',
size=5,
Maxsize=30,
filegrowth=5)
2.createtableauthors(authoridintidentity(1,1)primarykeynotnull,
authornamenvarchar(50)notnull,
phonenvarchar(13)null,
addressnvarchar(255))
3.
(1)altertableauthorsaddsexchar
(2)null,citynvarchar(20)null;
(2)altertableauthorsdropcolumncity
(3)altertableauthorsaltercolumnaddressnvarchar(500)notnull
4.
(1)Update系部set系主任=’张中裕’where系部名称=’计算机系’
(2