数据库原理复习题文档格式.docx
《数据库原理复习题文档格式.docx》由会员分享,可在线阅读,更多相关《数据库原理复习题文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
13、数据系统的概念模型独立于()。
A、具体的机器和DBMSB、信息世界C、E--R图D、现实世界
14、关系数据库中的关系必须满足:
15、X→Y,当下列哪一条成立时,称为平凡的函数依赖()。
A、X∩Y=ΦB、X∩Y≠ΦC、X?
YD、Y?
X
16、当两个子查询的结果()时,可以执行并、交、差操作。
A、结构完全不一致B、结构部分一致C、结构完全一致D、主键一致
二、填空题
1、设有关系模式R(S,D,M),其函数依赖集:
F={S→D,D→M},则关系模式R的规范化程度最高达到。
2、数据库系统的数据独立性包括独立性和独立性。
3、关系模型中有三类完整性约束,它们是、、
。
4、关系数据模型中,二维表的列称为,二维表的行称为。
5、关系数据库的规范化理论是数据库设计的一个有力工具。
6、数据库系统并发控制中,排他锁又称为(),共享锁又称为()。
7、E—R模型是现实世界的一种抽象,它的主要组成是()、
()、()。
8、数据库系统的特点主要包括()、()、()、()。
9、若一个关系模式满足()为1NF,()为2NF,()为3NF。
10、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于()。
三、简答题
1、什么是数据库恢复?
简述数据库恢复的基本技术。
2、简述函数依赖的一般定义,什么是非平凡的函数依赖,什么是平凡的函数依赖?
四、E-R图操作
试给出三个实例的E_R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。
五、综合题
1、建立一个学生信息表student,表中有5个字段:
学号Sno(字符型),姓名Sname(字符型),性别Ssex(字符型),年龄Sage(整型),所在系Sdept(字符型),其中Sno是关系的码;
用SQL语言完成题目1-6:
(1)、建立学生信息表student。
(要求:
包含主码的定义;
定义学生的年龄在15到40之间)
(2)、添加一个学生记录,编号为‘’,姓名为‘吴鹏’,性别为‘男’,年龄为21,所在系为‘计算机系’。
(3)、更新学生记录,把编号为‘’的学生信息更新为如下内容:
姓名为‘张萌’,性别为‘女’,年龄为22,所在系为‘传媒技术系’。
(4)、查询计算机系所有年龄小于20的学生的姓名。
(5)、定义视图,完成如下功能:
输出学生平均年龄大于19的系及该系学生的平均年龄。
(6)、将查询student表的权限授予用户admin,并允许该用户将此权限授予其他用户。
(7)、写出题目4的关系代数表述形式。
2、建立一个教职工关系表TEACHER,表中有6个字段:
教职工编号NO(字符型),姓名NAME(字符型),性别SEX(字符型),年龄AGE(整型),职称PROF(字符型),所在系DEPART(字符型),其中NO是关系的码;
(1)、建立教职工关系表TEACHER。
定义职工的性别必须取值为‘男’或‘女’)
(2)、添加一个教职工记录,编号为‘021912’,姓名为‘王敏’,性别为‘女’,职称为‘助教’,所在系为‘计算机系’。
(3)、更新教职工记录,把编号为‘021923’的教师信息更新为如下内容:
姓名为‘朱湘’,性别为‘女’,职称为‘教授’,所在系为‘传媒技术系’。
(4)、查询计算机系所有年龄大于30岁的女教师的姓名。
输出教师平均年龄大于30的系及该系教师的平均年龄。
(6)、将查询TEACHER表的权限授予用户U1,并允许该用户将此权限授予其他用户。
六、查询优化
给定图书管理数据库,包括如下三个表。
图书表Book:
书号(BnoChar(20)),书名(BnameChar(30)),作者(BauthorChar(15)),出版社(BpublisherChar(15)),其中Bno为主码。
学生表Student:
借书证号(Lno,Char(12)),学号(SnoChar(10)),姓名(SnameChar(8)),所在系(SdChar(15)),其中借书证号为主码。
借阅表L:
书号(BnoChar(20)),借书证号(Lno,Char(12)),借阅日期(LdateDate),主码为(Bno,Lno)。
查询借阅图书号为“B001”的学号、姓名和借阅日期,请完成以下题目。
1、写出上述查询要求的SQL语句
2、写出上述查询要求的关系代数表达式
3、画出用关系代数表示的语法树
4、画出优化后的标准语法树
七、关系数据理论
设有如图所示的学生关系student:
学生号
学生名
年龄
性别
系号
系名
100001
王婧
18
女
D3
通信工程
100002
张露
19
D1
电子工程
200001
黎明远
20
男
D2
计算机
200002
潘建
21
试问student是否属于3NF?
为什么?
若不是,它属于第几范式?
并将其规范化为3NF?
八、给定喝酒者-啤酒数据库中包括如下三个表,表已建立。
●beers(beername,manf,price),分别表示啤酒名称,生产厂商,价格。
beername为主码;
●drinkers(drinkerid,drinkername,addr,phones),分别表示喝酒者编号,喝酒者姓名,住址和联系电话,drinkerid为主码;
●likes(drinkerid,beername)分别表示喝酒者编号,喜欢喝的啤酒名称。
drinkerid和beername是主码。
要求写出每小题的关系代数表达式和SQL语句。
1、查找所有喜欢喝“青岛啤酒”的喝酒者的姓名和电话。
2、查找“李明”喜欢喝的所有啤酒的名称和生产厂商。
3、查找“刘晨”喜欢喝的所有啤酒的名称,价格以及刘晨的住址和联系电话。
4、查找喝酒者编号为“3002”的喝酒者喜欢喝的啤酒的名称、生产厂商以及价格。
九.今有一个层次数据库实例,试用子女-兄弟链接法和层次序列链接法画出它的存储结构示意图。
十.设有如图所示的关系R
职工号
职工名
单位号
单位名
E1
ZHAO
F
CCC
E2
QIAN
25
M
AAA
E3
SEN
38
E4
L1
试问R属于3NF?
并如何规范化为3NF?
参考答案
1-5ACBDC6-10CCABC11-15DCABD16C
1、2NF
2、逻辑物理
3、实体完整性参照完整性用户定义完整性
4、属性元组(记录)
5、逻辑结构
6、写锁(X锁)读锁(S锁)
7、实体属性联系
8、数据库系统的特点:
(数据结构化)、(数据的共享性高)、(数据独立性高)、(数据由DBMS统一管理和控制)。
9、若一个关系模式满足:
(每个属性不能再分)为1NF,(当消除了非主属性对码的部分函数依赖)为2NF,(消除了非主属性对码的传递函数依赖)为3NF。
10、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于(第一范式1NF)。
把数据库从错误状态恢复到某一已知的正确状态(即一致状态或完整状态),就是数据库恢复。
数据库恢复的基本技术是数据转储和登录日志文件。
即根据存储在系统别处的冗余信息来恢复数据库系统。
转储即DBA按照一定的策略将数据库复制到磁带或另一个磁盘上保存起来的过程。
日志文件是用来记录事务对数据库的所有更新操作的文件,包括数据库内部的更新操作。
不同数据库系统采用的日志文件格式是不同的。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
(4分)
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y?
X,则称X→Y是非平凡的函数依赖,
若X→Y,但Y?
X,则称X→Y是平凡的函数依赖
一对一:
学员和座位的关系.
一对多:
学生和班级之间的归属关系
多对多:
学生和课程之间的选修关系
1、
(1)、
CREATEtablestudent
(
snochar(8)primarykey,
snamevarchar2(20)notnull,
ssexvarchar2
(2)check(ssexin(‘男’,’女’)),
sageintcheck(sagebetween15and40),
sdeptvarchar2(20)
)
(2)、
INSERTintostudent(sno,sname,ssex,sage,sdept)values(‘’,’吴鹏’,’男’,21,’计算机系’)
(3)、
UPDATEstudentsetsname=’张萌’,ssex=’女’,sage=22,sdept=’传媒技术系’wheresno=’’
(4)、
SELECTsname
Fromstudent
Wheresdept=’计算机系’andsage<
(5)、
CREATEviewv_student
As
SELECTsdept,avg(sage)平均年龄
Groupbysdept
Havingavg(sage)>
(6)、
GRANTselectonstudenttoadminwithgrantoption
7、
Πname(σsdept=’计算机系’andsage<
20(student))
2、
(1)、
CREATEtableteacher
Nochar(8)primarykey,
Namevarchar(20)notnull,
Sexvarchar
(2)check(sexin('
男'
'
女'
)),
Ageintcheck(agebetween15and40),
Profvarchar(6),
Departvarchar(20)
INSERTintoteachar(no,name,sex,prof,depart)values('
021912'
王敏'
助教'
计算机系'
UPDATEteachersetname='
朱湘'
sex='
prof='
教授'
depart='
传媒技术系'
whereno='
021923'
SELECTno,name
Fromteacher
Wheredepart='
andage>
30andsex='
CREATEviewv_teacher
SELECTdepart,avg(age)平均年龄
Groupbydepart
Havingavg(age)>
30
GRANTselectonteachertoU1withgrantoption
(7)、
Πname(σdepart='
(teacher))
Selectsno,sname,ldate
Fromstudent,l
Where=andbno='
B001'
2、
Πsno,sname,ldate(σbno='
(student∞l))
3、
4、
7、关系数据理论
答:
student不属于3NF,它属于2NF
因为student的候选关键字为“学号”,而:
学号→系号,系号→系名,系号→学号,所以:
学号→系名,即存在非主属性“系名”对候选关键字“学号”的传递函数依赖,student不是3NF,在student中所有非主属性均依赖于码学号,所以student是2NF。
将student分解成:
student1(学号,学生名,年龄,性别,系号)、student2(系号,系名),分解后的student1与student2如图所示:
关系模式student1如下:
学号
关系模式student2如下:
部门号
部门名
因为关系模式student1、student2上无传递依赖,所以它们是3NF。
八、
Πdrinkername,phones(σbeername=’青岛啤酒’(likes)∞drinkers)
SELECTdrinkername,phones
FROMdrinkers,likes
WHERE=and=’青岛啤酒’
Πbeername,manf(σdrinkername=’李明’(drinkers)∞likes∞beers)
SELECTbeername,manf
FROMbeers
WHEREbeernamein(
SELECTbeername
FROMlikes
WHEREdrinkeridin(
SELECTdrinkerid
FROMdrinkers
WHEREdrinkername=’李明’
Π,price,addr,phones(σdrinkername=’刘晨’(drinkers)∞likes∞beers)
SELECT,price,addr,phones
FROMdrinkers,likes,beers
WHERE=and=anddrinkername=’刘晨’
Π,manf,price(σdrinkerid=’3002’(likes)∞beers)
SELECT,manf,price
FROMlikes,beers
WHERE=anddrinkerid=’3002’
九、
十、
解:
R不属于3NF,它是2NF。
R的候选码为职工号和职工名,而:
职工号→单位号,单位号→职工号,单位号→单位名.所以,职工号→单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF.规范化后的关系子模式为如下图。
R1如下:
年龄
F
M
R2如下:
共4页第4页