常熟理工学院数据库原理复习大纲-及-复习要点-部分参考答案汇编
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
先根据初值计算事务的串行结果,再计算事务的并行处理结果,比较两者的结果:若与其中任何一个串行结果相同则为可串行化调度,否则为不可串行化调度
数据库原理与应用复习大纲(题库)的参考答案
注意:复习大纲上的选择题题号有的地方不连续,所以答案有的空在那儿
第一部分基本概念
二、填空题
1•从数据管理的历史来看,数据管理技术经历了人工管理、文件系统和数据库管理三
个阶段。
2•—般地讲,数据模型由数据结构、数据操作和完整性约束三个部分组成。
一个数据模型的数据结构是关系的,就说该模型是关系模型。
3•在数据库的发展过程中,最普遍认可的逻辑数据模型有层次模型、网状模型、关
系模型、和面向对象模型几种。
目前数据库用得最普遍的模型是关系模型。
三、简答题
1、数据库系统的特点
数据结构化
数据共享性高,冗余度低,易扩充
数据独立性高(物理独立性、逻辑独立性)
数据由DBMS统一管理和控制(安全性、完整性、并发控制、数据恢复)
2、关系数据模型的组成要素
关系的数据结构、关系的数据操纵、关系的完整性约束
3、数据库系统的三级模式结构及其优点
外模式、模式、内模式
保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性
第二部分关系数据库
4、见教材页第题
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式
供应商表S(SNO,SNAME,STATUS,CITY);
零件表P(PNO,PNAME,COLOR,WEIGHT);
工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY);
1) 求供应工程J1零件的供应商号码SNO
2) 求供应工程J1零件P1的供应商号码SNO
3) 求供应工程J1零件为红色的供应商号码SNO
4) 求没有使用天津供应商生产的红色零件的工程号
5) 求至少使用了供应商S1所供应的全部零件的工程号
第三部分SQL语言
二、综合题
1、见教材P127页第5题
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式
供应商表S(SNO,SNAME,STA TUS,CITY); 零件表P(PNO,PNAME,COLOR,WEIGHT); 工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY);
第四部分数据库安全性
、选择题
三、简答题
1、存取控制机制包括哪两部分?
定义用户权限,并将用户权限登记到数据字典中
合法权限检查
2、自主存取控制
用户对不同数据对象拥有不同的存取权限。
不同的用户对同一个对象也有不同的权限。
用户可以将其拥有的权限授予其他用户。
3、强制存取控制
每一个数据库对象被标以一定的密级,每一个用户被授予某一等级的许可证级别。
对任意个对象,只有具有合法许可证的用户才可以存取。
第五部分数据库完整性
第六部分关系数据理论及数据库设计
第七部分并发控制及数据库恢复
二、简答题
1、事务的概念及四个特性
事务是用户定义的一个数据库的操作序列,这些操作要么全做,要么全不做,是一个不可分
割的整体。
(1)原子性
要么全部执行,要么完全不执行
(2)一致性
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
(3)隔离性
一个事务的执行不能被其他事务干扰。
(4)持续性
一个事务一旦提交,它对数据库的改变就是永久性的。
2、数据库系统的故障种类
1、事务内部故障
2、系统故障
3、介质故障
4、计算机病毒
3、封锁的概念
事务T在对某个数据对象,如表、记录等操作之前,需要向系统发出请求,对其加锁。
加
锁后事务T对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
4、
5、可串性化调度
多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度为可串行化的调度。
6、两段锁协议
所有事务必须分两个阶段对数据项加锁和解锁。
在对任何数据进行读、写操作之前,首先获得对数据的封锁;
在释放一个封锁之后,事务不再申请和获得任何其他封锁即有明确的两个阶段:封锁阶段,解锁阶段
复习要点的参考答案(部分)
简答题:掌握如下各题,(包括大纲上的部分题目),共10题
(1).简要叙述数据库三级模式两级映像及其优点。
(2).简要叙述实体完整性规则。
(3).简要叙述关系的参照完整性规则。
(4).简要叙述一个不好的关系所带来的异常问题。
(5).简要叙述事务的概念及其四个特性。
(6).简要叙述两段锁协议。
(6).简要叙述两段锁协议。
两段锁协议:
所有事务必须分两个阶段对数据项加锁和解锁。
对任何数据进行读写操作之前,首先要申请并获得对该数据的封锁; 在释放一个封锁之后,事务不再申请和获得任何其他封锁。
8. 在关系数据库设计中,设计关系模式是()的任务。
A •需求分析阶段
B •概念设计阶段 C.逻辑设计阶段
D •物理设计阶段
9. 数据库需求分析时,数据字典的含义是()•
A •数据库中所涉及的属性和文件的名称集合
B •数据库中所涉及到字母、字符及汉字的集合
C •数据库中所有数据的集合
D •数据库中所涉及的数据流、数据项和文件等描述的集合
10 •在数据库中,产生数据不一致的根本原因是()•
A •数据存储量太大 B.没有严格保护数据
C.未对数据进行完整性控制
D.数据冗余
1. 目前市场上常见的DBMS 90%以上都是基于()数据模型的。
A .层次B.网状C.关系 D .面向对象
2 .E-R图是在数据库设计中用来表示()的一种常用方法。
A•概念模型B・逻辑模型C物理模型 D •面向对象模型
3. ()是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
A .外模式
B .内模式
C .模式
D .概念模式
4. ()也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的
表示方式。
A .外模式
B .内模式
C .模式
D .概念模式
5.数据库的概念模型独立于。
A.具体的机器和DBMS
B. E-R
6.在数据库中存储的是。
图 C. 信息世界 D. 现实世界
A.数据
B. 数据模型
C. 数据以及数据之间的联系
D. 信息
7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一属性都是。
A.互不相关的
B. 不可分解的
C. 长度可变的
D. 互相关联的
8.在数据模型中有“型”和“值(或实例)”两个对应的概念。
其中数据库的模式是一个()
的概念,是一个相对()的概念,而数据库在某一时刻的状态则是一个()的概念,是一个相对()的概念。
A .型;变化;值;不变C.
值;变化;型;不变
B .值;不变;型;变化
D .型;不变;值;变化
9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20。
则A与B的笛卡尔积A X B的属性有()个,元组个数有(
A. 30;200
B. 11;30
C. 30;30
D. 11;200
10. 父亲和子女的亲生关系属于()的关系。
A . 1: 1 B. 1: n C. m:n D.不一定
11. 在SQL语言中,删除关系表中的一个属性列,要用动词(
行或多行元组,要用动词()。
)个。
),删除关系表中的一
A . delete, delete B. drop, drop C. delete, drop 12在SQL 语言中,为关系模式增加一个属性要用动词(元组要用动词()。
D . drop, delete
),为关系表增加一行或多行
A . insert, insert B. add, insert C. insert, add D. add, add
视图本身不独立存储在数据库中,既数据库中只存放视图的 ),视图是一个(
学习
!-----好资料
13. 实体完整性约束和
SQL 语言中的( )相对应。
A . primary key
B . foreign key
C . check
14. 参照完整性约束和
SQL 语言中的( )相对应。
A . primary key
B . foreign key
C . check
15. 物理数据独立性是指
°
D .都不是 D .都不是 A.概念模式改变,外模式和应用程序不变 内模式不变 C.内模式改变,概念模式不变 模式和应用程序不变 16. SQL 语言中的select 子句和关系代数中的运算符( 子句
和关系代数中的运算符
A .n,
c B .-
17. 在SQL 语言中,(
A .添加一个元组 C .建立一个聚簇索引
D.
B. )相对应, 概念模式改变,
内模式改变,外
SQL 语言中的 where
)相对应。
g C
. ,n D .n,+
)可能使得数据库中元组的排列顺序发生改变。
B .修改一个元组
D .建立一个check 约束
18. 在我们的学生-课程数据库中,SC 表上建立了两个外码约束,被参照表是 Student 表和
Course 表,则最适当的说法是:
A .Stude nt 表中的学生号 Sno 不能随意取值
取值
C . SC 表中学生号Sno 不能随便
取值
19. 如果在学生-课程数据库中的 SC 表上建立了参照完整性约束:
Foreign Key (Sno ) References Student (Sno ), Foreign Key (Cno ) References Course (Cno ),
则( )操作可能会违背该完整性约束。
A .在Student 表上增加一行记录 C .在SC 表上删除一行记录 B. Course 表中的课程号 Cno 不能随意
D . SC 表中学生号 Sno 、课程号Cno 均不能随意
B .在Course 表上增加一行记录 D .更新S
C 表上的记录
20.(
)的视图是可以完全更新的。
A .一个由两个以上的表导出的视图 C .仅由一个表的行列子集构成的
B .视图的定义中含有集函数
D .视图的定义中含有 ORDER B 子句
21.关系R (X,Y,Z ),函数依赖集 FD={Y >Z,XZ > Y},则关系R 是
A. 1NF
B. 2NF
C. 3NF
D. BCNF
22 .数据库管理技术的发展大致经历了三个阶段,其中数据独立性最高的是
()阶段。
A.文件系统
B.
数据库系统
C.人工管理
D.
机器管理
关系数据库中的码是指(
A .能惟一决定关系的字段 C .关键的很重要的字段 23.
B .不可改动的专用保留字
D.能惟一标识元组的属性或属性集合
24.
同一个关系模型的任意两个元组值(
A .不能全同
B .可全同
C .必须全同
D .以上都不是
25. ( (),而不存放视图的
A .定义、对应的数据、虚表
B .定义、对应的数据、实表
C .对应的数据、定义、实表
D
.对应的数据、定义、虚表
26. 保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。
这是 指数据的()。
A .安全性
B .完整性
C .并发控制
D .恢复
27. 设有两个事务Tl 、T2 ,其并发操作如图所示,下列评价正确的是
()。
A .该操作不存在问题
B .该操作丢失修改
C .该操作不能重复读
D •该操作读“脏”数据
28.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职 员, 从部门到职员的联系类型是 ()。
A.多对多
B. 一对一
C.多对一
D. 一对多 29. 如果事务T 获得了数据项
Q 上的排它锁,则 T 对 Q()。
A.只能读不能写
B.
只能写不能读 C. 不能读不能写
D.
既可读又可写
30、 写一个修改到数据库中,与写一个表示这个修改的运行记录到日志文件中是两个不同的 操作,对这两个
操作的顺序安排应该是
_
A .前者先做
B .后者先做
C .由程序员在程序中作安排
D .
哪一个先做由系统决定
31、 设有两个事务Tl 、T2,其并发操作如图所示,下列评价正确的是 _—
A .该操作不存在问题
B .该操作丢失修改
C .该操作不能重复读
D .该操作读“脏”数据
32、设有两个事务Tl 、T2,其并发操作如图所示,下列评价正确的是 .
A .该操作不存在问题
B .该操作丢失修改
char(7) PRIMARY KEY,
char(10) not null,
char(2)
CHECK(Ssex='男'or Ssex=' 女'),
smalli nt CHECK(Sage>=15 and Sage<=45), char(20) DEFAULT'计算机系' )
4. 查询计算机系全体学生的基本信息; Select * from student where sdept=
' 计算机系 '
5. 查询年龄在20〜23岁之间的学生的姓名、系别和年龄;
Select sn ame,sdept,sage from stude nt where sage>=20 and sage<=23 6. 查询未选修课程的学生的学号、姓名,并按照学号升序排序;
Select sno,sn ame from stude nt where sno not in (select sno from sc)order by sno 7. 统计各门课程的不及格人数,要求输出课程代号,不及格人数; Select eno ,co un t(*) from sc where grade<60 group by eno
8. 查询选修了数据库原理这门课的学生的学号、姓名、性别、课程号、成绩。
查询结果按 照成绩降序排列。
Selectsc.s no,sn ame,ssex,c no ,grade from stude nt,sc,course
where stude nt.s no=sc.s no
and sc.c no=course.c no and cn ame= '数据库原理’ order by grade desc
9. 插入一个新学生的记录(学号:9512103 ;姓名:陈冬;性别:男;年龄: 18;系名:信 息系); Insert into student values(
'9512103','陈冬','男',18,'信息系')
10. 修改“ 9512101 ”学生的“ C05”课程成绩为60;
Update sc set grade=60 where sno= ' 9512101' and cno= ' c05' 11. 删除学号以95开头的学生的所有选课记录; Delete from sc where sno like ' 95%
13.
把查询Student 表的权限授予用户 user1;
Grant select on stude nt to user1 14. 收回用户user1对Student 表的所有权限。
Revoke all on stude nt from user1
写出下面SQL 语句的功能:
Sno Sn ame Ssex Sage Sdept
15. SELECT * FROM STUDENT WHERE SNO IN(
SELECT SNO FROM SC GROUP BY SNO
HAVING C0UNT(*)=5)
解:查询选课门数为5门的学生的详细信息。
四、数据库设计:绘制E-R图,并转换为关系模式1设有如下实体:
学生:学号、姓名、性别、年龄
课程:课程号、课程名
教师:教师号、姓名•性别、职称
系:系名称、电话上述实体中存在如下联系:
(l ) 一个学生可选修多门课程,一门课程可被多个学生选修。
(2 ) 一个教师可讲授多门课程,一门课程可由多个教师讲授。
(3 ) 一个系可有多个教师,一个教师只能属于一个系. 试完成如下工作:
(l ) 设计该系统的E-R图。
(2 )将该E-R图转换为等价的关系模式结构.
解:
(1)
⑵学生(学号,姓名,性别,年龄) 课程(课程号,课程名)
教师(教师号,姓名,性别,职称,系名称)系(系名称,电话)
选修(学号,课程号)
讲授(课程号,教师号)
2、一个图书管理系统,基本要求如下:
一名读者可借阅多种书,一种书可由多名读者借阅;
一种书只在一个书库存放,一个书库可存放多种书;
一个书库有一个管理员,一个管理员只负责一个书库;
读者信息包括读者编号、姓名、单位等;图书信息包括书号、书名、作者、出版社等;书库信息包括书库号、面积等;管理员包括管理员编号、姓名等。
根据上述信息,完成以下内容:
(1)设计系统的E-R模型;
(2)将设计的E-R模型转换为关系模型,并标出关系的码。
读者(读者编号,姓名,单位)
图书(书号,书名,作者,出版社,书库号)书库(书库号,面积,管理员编号)管理员(管理员编号,姓名)借阅(读者编号,书号)
3、某校教学管理系统需要保存课程、教师、研究生、系所及他们之间的信息。
课程的属性包括课程号、课程名、学分等;
教师的属性包括职工号、姓名、性别、职称等;研究生的属性包括学号、姓名、性别、年龄等;系所的属性包括系所名称、电话等。
一个系所可有多个教师,一个教师只能属于一个系所;
教师可以讲授多门课程,每门课可以由多个教师讲授;
每个研究生可以选修多门课程;
根据上述信息,完成以下内容:
(1)设计系统的E-R模型;
(2)将设计的E-R模型转换为关系模型,并标出关系的码。
4、在一个公司的工程管理系统中,有公司的部门、职工、工程、材料、供应商、仓库等数据, 具体描述如下:
(1)一个职工只能属于一个部门
(2 )一个工程可以有多名职工参加,一个职工只能参加一个未完成的工程建设
(3)一个工程有多个供应商供应材料,一个供应商可以为多个工程供应材料
(4)一个仓库可以存放多种材料,但是一种材料只能存放在一个仓库中其中:
描述部门的属性有:部门号、部门名称、负责人、电话、地址描述职工的属性有:职工号、职工姓名、性别、出生日期、职务描述工程的属性有:工程号、工程名称、开始日期、结束日期描述材料的属性有:材料号、规格说明、计量单位、单价描述材料供应商的属性有:供应商号、供应商名称、电话、联系人、地址描述仓库的属性有:仓库号、仓库名称、保管员、电话问
题:(1)、根据上述规则设计er模型
(2)、将ER模型转换为关系数据模型,并指出每个关系的码
、某单位的个人情况登记表如下所示,现在要使用数据库管理。
根据登记表设计ER模型。
将ER模型转换为关系数据模型,并指出每个关系的码。
五、识别事务是否为可串行化调度
1现有两个事务,分别包含下列操作:
事务T1:读B: A=B+1;写回A;
事务T2:读A: B=A+1;写回B;
假设A,B的为1,5。
请分析下面两个事务的并发执行是否为可串行化调度,说明原因。
T1 T2
SLOCK(B)
Y=READ(B)
UNLOCK(B)
XLOCK(A)
SLOCK(A)
等待 等待 等待
X=READ(A) UNLOCK(A) XLOCK(B) B=X+1 WRITE(B) UNLOCK(B)
先做T1再T2结果为:A=6 , B=7 先做T2再T1结果为:A=3,B=2 而这两个事务上述并发情形执行结果为:
A=6,B=7
与第一种串行结果相同,故这是一种可串行化调度
2、现有两个事务,分别包含下列操作:
事务T1:读B : A=B+1;写回A; 事务T2:读A : B=A+1;写回B;
假设A,B 的初值均为2。
请分析下面两个事务的并发执行是否为可串行化调度,说明 原因。
T1
T2
SLOCK(B) Y=READ(B)
SLOCK(A) X=READ(A)
UNLOCK(B)
UNLOCK(A)
XLOCK(A) A=Y+1 WRITE(A)
XLOCK(B) B=X+1 WRITE(B)
UNLOCK(A)
UNLOCK(B)
解:
3、有三个事务T1、T2、T3,问其并发运行可以有多少种正确结果? 更多精品文档
解:
事务 T1、T2串行的结果有2种:
A=Y+1 WRITE(A)
UNLOCK(A)
设T1,T2,T3 三个事务分别如下,假设A的初值为0 ;
T1:A:=A+2
T2:A:=A*2
T3:A:=A**2
若这3个事务允许并发执行,则有多少种可能的正确结果?(请写出正确结果的来由)并请给出一个可串行化调度,并给出执行结果。
答:这3个事务允许并发执行,有的正确结果:
1、在关系模式R(A,B,C,D )中存在函数依赖集合FD={D->A, BC->D}。
(1)指出该关系模式的码、主属性、非主属性。
(2)该关系模式属于几范式?
(3)将该关系模式规范化为BC范式。
解答:
(1)码为BC,因为它可以决定所有属性,主属性B、C非主属性A、D
(2 )没有非主属性对码的部分依赖,但非主属性A对码Be存在传递依赖,所以不是式,而仅是2范式
(3)分解为R1 (D,A ) R1 ( B,C,D )即可使关系规范化为BC范式。
2、设有一个关系R(A,B,C,D,E) ,它的最小函数依赖集为FD={A->B,A->C,C->D,C->E},
请指出R的候选关键字、并分析R所属范式。
解答:
属性A决定所有属性,所以A为码,即为候选关键字;不存在部分依赖,存在传递依赖,所以R为第2范式
3、有R(X,Y,Z),其函数依赖集FD={X-->Y,X-->Z} ,请指出R的候选关键字、并分析R所属范式。
解答:
4、下表给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。
分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?
解答:根据上表可得属性之间的函数依赖集为:(应该注意到:此处的价格为材料的单价)
FD={工程号开工日期,工程号完工日期,材料号价格,(工程号,材料号)数量}
5、给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?
其中:SNO为学号,CNO为课料号,CTITLE为课程名,INAME 为教师名,ILOCA为教师地址,GRADE为成绩。
解答:
Fd={c no ctitle,c no in ame,i name iloca,(s no,cno) grade}
码为:(sno,cno )因为可以确定所有属性,而它的部分sno或者cno没有这种确定关系
非主属性:ctitle ,iname,iloca,grade
存在非主属性对码的部分依赖,例如:cno ctile ,(还有其他几个不一一列举)所以不是2nf,所以是1nf
存在插入、删除异常,例如学生入学后还没选课则无法插入,删除一门课程时会把教师信息
也删除掉
分解为:
CI(c no ,ctitle,i name,iloca)
Sen ew(s no,cno ,grade)
CI中有传递可以进一步分解为:
I(i name,iloca)
C(cno,ctile,i name)
所以SC可以分解为如下三个关系:
I(i name,iloca)
C(cno,ctile,i name)
Sen ew(s no,cno ,grade)
这样分解后的关系能解决操作异常问题
6、设有一定单关系如下图所示,试完成下列各题:
(1) 定单关系的主键为;
(2) 定单关系的主属性为;
(3) 定单关系的非主属性为;
(4)
7、设有关系模式:
TEACHEF教师编号,教师姓名,电话,所在部门,借阅图书编号,书名,借书日期,还书日期,备注)
(1 )教师编号是候选码吗?说明理由
(2)该关系模式的主码是什么?
(3 )该关系模式是否存在部分函数依赖?如果存在,请写出至少两个?
(4)该关系模式满足第几范式?
(5)将该关系模式分解为3NF
解答:根据题意可得属性之间的函数依赖集为:
卩。
={教师编号教师姓名,教师编号电话,教师编号所在部门,借阅图书编号书名,
(教师编号,借阅图书编号,借书日期)还书日期,(教师编号,借阅图书编号,借书日期)备注}
8、假设某商业集团数据库中有一关系模式R(商店编号,商品编号,数量,部门编号,负责
人),若规定:
(1)每个商店的每种商品只在一个部门销售;
⑵每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量;
求解:
(1)写出关系R的基本函数依赖
(2)找出R的候选码
⑶R的范式,若不属于3NF,则分解为3NF
解答:
(1)根据题意可得属性之间的函数依赖集为:
FD= {(商店编号,商品编号)部门编号,(商店编号,部门编号)负责人,(商店编号,商品编号)数量}
(2)根据FD可得(商店编号,商品编号)可以确定所有属性,其一部分又不能确定所有属性,所以(商店编号,商品编号)为码
(3)所以非主属性为:数量,部门编号,负责人,可以验证每个非主属性对码都是完全依
赖,所以为2NF,又因为存在隐含的传递依赖,
(商店编号,商品编号)(商店编号,部门编号),(商店编号,部门编号)负责人所以不是3NF,所以R为2NF,做如下分解:
R1 (商店编号,部门编号,负责人)R2 (商店编号,商品编号,部门编号,数量)
贝U R1,R2均为3NF。