资源描述
《数据库系统概论》试题A
一、选择题(20分,每小题2分):
2.对关系模型叙述错误得就是____。
A.建立在严格得数学理论、集合论与谓词演算公式得基础之上
B.微机DBMS绝大部分采取关系数据模型
C.用二维表表示关系模型就是其一大特点
D.不具有连接操作得DBMS也可以就是关系数据库系统
5、 FoxBASE、FoxPro属于________。
A.表式系统 B.最小关系系统
C.关系完备得系统 D.全关系系统
二、填空题(20分,每小空2分):
3.关系操作得特点就是集合操作。
4.关系代数中,从两个关系中找出相同元组得运算称为⑤运算。
5.在关系数据库得规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有得函数依赖与⑥。
6.SQL语言得数据定义功能包括⑦、⑧、⑨与⑩。
4.⑤交
5.⑥无损连接
6.⑦定义数据库 ⑧定义基本表 ⑨定义视图 ⑩定义索引
三、简答题(15分,每小题5分):
1.使用数据库系统有什么好处?
答·查询迅速、准确,而且可以节约大量纸面文件;
·数据结构化,并由DBMS统一管理;
·数据冗余度小:
·具有较高得数据独立性;
·数据得共享性好;
·DBMS还提供了数据得控制功能。
2. 叙述数据字典得主要任务与作用?
答:数据字典得任务就就是管理有关数据得信息,所以又称为“数据库得数据库”。它得任务主要有:
(1)描述数据库系统得所有对象,并确定其属性。如一个模式中包含得记录型与一个记录型包含得数据项;用户得标识、口令;物理文件名称、物理位置及其文件组织方式等。数据字典在描述时赋给每个对象一个惟一得标识。
(2)描述数据库系统对象之间得各种交叉联系。如哪个用户使用哪个子模式,哪些模式或记录型分配在哪些区域及对应于哪些物理文件、存储在何种物理设备上。(3)登记所有对象得完整性及安全性限制等。
(4)对数据字典本身得维护、保护、查询与输出。
数据字典得主要作用就是:
(1)供数据库管理系统快速查找有关对象得信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中得用户表、子模式表与模式表等。
(2)供数据库管理员查询,以掌握整个系统得运行情况。
(3)支持数据库设计与系统分析。
3.简要叙述关系数据库得优点?
答:关系数据库就是以关系模型作为数据得组织方式,关系模型就是建立在严格得数学概念基础上得,关系数据库得主要优点就是概念简单清晰,用户不需了解复杂得存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。
四、综合题(45分):
1.某医院病房计算机管理中需要如下信息:(10分)
科室:科名,科地址,科电话,医生姓名
病房:病房号,床位号,所属科室名
医生:姓名,职称,所属科室名,年龄,工作证号
病人:病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人得诊治,一个病人得主管医生只有一个。
完成如下设计:
(1)设计该计算机管理系统得E-R图;(5分)
(2)将该ER图转换为关系模型结构;(3分)
(3)指出转换结果中每个关系模式得候选码。(2分)
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式与SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')
(1)用关系代数检索选修课程号(C#)为C1与C2得学生学号(S#)。
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生姓名。
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生学号。
(3)用SQL找出选修了“程军”老师教得所有课程得学生姓名。
3.设有关系模式R(U,F),其中: (10分)
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E}
求F得最小依赖集。
4.设有关系R与函数依赖F:(10分)
R(W,X,Y,Z),F = { X→Z,WX→Y }。
试求下列问题:
(1)关系R属于第几范式?(5分)
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)
要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。
四、综合题(45分):
1.
解:(1)本题得ER图如图2所示。
(2)对应得关系模型结构如下:
科室(科名,科地址,科电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
(3)每个关系模式得候选码如下:
科室得候选码就是科名;
病房得候选码就是科室名十病房号;
医生得候选码就是工作证号;
病人得候选码就是病历号。
n
病人
入住
病房
1
病房号
床位号
工作证号
姓 名
性 别
病历号
n
医生
从属
科室
1
科 名
科电话
科地址
职 称
年 龄
姓 名
诊治
组成
n
1
n
1
图2 E-R图
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式与SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')
(1)用关系代数检索选修课程号(C#)为C1与C2得学生学号(S#)。
ΠS#,C#(SC)¸ΠC#(σC#=’C1’Ú C#=’C2’(C))σC#¹’C1’ ÚC#¹ ’C2’(ΠS#,C#(SC)¸ΠC#(σC#=’C1’Ú C#=’C2’(C)))
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生姓名。
{T(1)|($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生学号。
{T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(3)用SQL找出选修了“程军”老师教得所有课程得学生姓名。
SELECT S、SNAME
FROM S
WHERE NOT EXISTS
(
SELECT *
FROM C
WHERE C、TEACHER='程军' AND NOT EXISTS
(
SELECT *
FROM SC
WHERE SC、C#=C、C# AND SC、S#=S、S#
)
)
本题解释:
SELECT *
FROM C
WHERE C、TEACHER='程军' AND EXISTS
(
SELECT *
FROM SC
WHERE SC、C#=C、C#
)
这条SQL就是查询'程军'所授得所有课程,外层查询中C、C#作为变量在内层查询中被使用,外层教师'程军'所授课程得课程号C#给内层,内层根据该课程号C#在SC中查询就是否存在这样得课程号,即程军所授得课程,如果存在则括号中得记录集不空,EXISTS条件为TRUE。因此,执行结果就是显示程军所授得所有课程。
SELECT *
FROM C
WHERE C、TEACHER='程军' AND NOT EXISTS
(
SELECT *
FROM SC
WHERE SC、C#=C、C#
)
这条SQL语句在刚才语句得EXISTS前加了NOT,变成当内层查询全部就是'程军'所授课程时NOT EXISTS条件为假。
SELECT S、SNAME
FROM S
WHERE NOT EXISTS (SELECT *
FROM C
WHERE C、TEACHER='程军' AND NOT EXISTS
(
SELECT *
FROM SC
WHERE SC、C#=C、C# AND SC、S#=S、S#
)
这条就是完整得语句,比上面一条语句多了一个AND SC、S#=S、S#表示某个学生得学号,加上最外层得NOT EXISTS得整个语句得含义就是,对该某个学生,如果最内层查询中查询结果全部就是‘程军’所授课程时,条件CAME='程军' AND NOT EXISTS为FALSE,所以SELECT * FROM C得查询结果为空(第二层),这时最外层得NOT EXISTS为TRUE,最外层查找成功,该学生就是选修了‘程军’所授全部课程得。
3.设有关系模式R(U,F),其中: (10分)
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E}
求F得最小依赖集。
解:
⑴ 将F中右部属性单一化: (2分)
F1= {E→G,G→E,F→E,F→G,H→E,H→G,FH→E}
⑵ 去掉左部冗余得属性。对于FH→E,由于有F→E,则为多余得。
F2= {E→G,G→E,F→E,F→G,H→E,H→G} (2分)
⑶ 去掉冗余得函数依赖。F2中得F→E与F→G,以及H→E,H→G之一就是冗余得,则: F3= {E→G,G→E,F→G,H→G} (6分)
4.设有关系R与函数依赖F:(10分)
R(W,X,Y,Z),F = { X→Z,WX→Y }。
试求下列问题:
1、关系R属于第几范式?(5分)
2、如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)
要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。
解:R就是1NF。侯选码为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对侯选码得部分函数依赖。
W
XY
Y
ZY
将关系分解为:
R1(W,X,Y),F1 = { WX→Y }
R2(X,Z),F2 = { X→Z }
消除了非主属性对码得部分函数依赖。
F1与F2中得函数依赖都就是非平凡得,并且决定因素就是候选码,所以上述关系模式就是BCNF。
《数据库系统概论》试题B
1.数据库系统得核心就是____。
A.数据库 B.数据库管理系统
C.数据模型 D.软件工具
3.SQL语言具有____得功能。
A.关系规范化、数据操纵、数据控制
B.数据定义、数据操纵、数据控制
C.数据定义、关系规范化、数据控制
D.数据定义、关系规范化、数据操纵
10.设有两个事务T1、T2,其并发操作如图1所示,下面评价正确得就是____。
A.该操作不存在问题 B.该操作丢失修改
C.该操作不能重复读 D.该操作读“脏”数据
T1 T2
①读A=10
② 读A=10
③A=A5写回
④ A=A8写回
图1 事务并发操作图
二、 填空题(20分,每小空2分):
7
完整性约束就是指②与③。实体完整性 参照完整性
3.关系数据库中可命名得最小数据单位就是④。属性名
4.保护数据安全性得一般方法就是⑤。设置用户标识与存取权限控制
5.“为哪些表,在哪些字段上,建立什么样得索引”这一设计内容应该属于数据库设计中得⑥设计阶段。物理
6.若关系为1NF,且它得每一非主属性都⑦候选码,则该关系为2NF。不部分函数依赖于
7.关系代数运算中,专门得关系运算有.选择 投影 连接
三、简答题与综合题(15分,每小题5分):
1.举例说明关系参照完整性得含义。
2.数据库管理系统有哪些功能?
3.事务中得提交与回滚就是什么意思?
四、综合题(45分):
1.假定一个部门得数据库包括以下得信息: (10分)
职工得信息:职工号、姓名、住址与所在部门。
部门得信息:部门所有职工、经理与销售得产品。
产品得信息:产品名、制造商、价格、型号及产品内部编号。
制造商得信息:制造商名称、地址、生产得产品名与价格。
完成如下设计:
(1)设计该计算机管理系统得E-R图;(5分)
(2)将该ER图转换为关系模型结构;(3分)
(3)指出转换结果中每个关系模式得候选码。(2分)
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式与SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')
(1)用关系代数检索既选修了C1课程,又选修了C2课程得学生学号(S#)。
(2)用元组关系演算表达式检索年龄大于21得男生得学号与姓名。
(3)用SQL找出“程序设计”课程成绩在90分以上得学生姓名。
3.设有函数依赖集F = { D→G,C→A,CD→E,A→B},计算闭包D+,(AC)+,(ACD)+ 。 (10分)
4.设有关系R与函数依赖F: (10分)
R(X,Y,Z),F = { Y→Z,XZ→Y}。
试求下列问题:
(1)关系R属于第几范式?(5分)
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)
要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。
试题答案
三、简答题(15分,每小题5分):
1.举例说明关系参照完整性得含义。
答:假如有下表所示得两个关系表,在成绩表中,学号就是主码,课程号就是外码:在课程表中课程号就是主码,根据关系参照完整性得定义,R2就是成绩表,R1就是课程表,也就就是成绩表中课程号得值或者为空或者在课程表中得课程号中能够找到。
成绩表 课程表
学号 姓名 课程号 成绩
101 刘军 k5 80
212 王丽 k8 76
221 章华 k9 92
¼
课程号 课程号
k5 高等数学
k8 C语言n
k9 计算机网络
¼
满足这个条件就是必须得,如果不满足,假设成绩表中课程号得值k20在课程表中课程号得值中找不到,则该课程号显然就是不正确得,这样会造成数据得不一致性。
2.数据库管理系统有哪些功能?
答:数据库管理系统(DBMS)就是位于操作系统与用户之间得一个数据管理软件,它主要功能包括以下几个方面:
•数据定义功能 DBMS提供数据描述语言(DDL),用户可通过它来定义数据。
•数据操纵功能 DBMS还提供数据操纵语言(DML),实现对数据库得基本操作:查询、插入、删除与修改。
•数据库得运行管理 这就是DBMS运行时得核心部分,它包括开发控制,安全性检查,完整性约束条件得检查与执行,数据库得内容维护等。
•数据库得建立与维护功能 它包括数据库初始数据得输入及转换,数据库得转储与恢复,数据库得重组功能与性能得监视与分析功能等。
3.事务中得提交与回滚就是什么意思?
答:事务中得提交(MIT)就是提交事务得所有操作。具体说就就是将事务中所有对数据库得更新写回到磁盘上得物理数据库中去,事务正常结束。
事务中得回滚(ROLLBACK)就是数据库滚回到事务开始时得状态。具体地说就就是,在事务运行得过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库得所有已完成得更新操作全部撤消,使数据库回滚到事务开始时得状态。
四、综合题(45分):
1.
(1)设计该计算机管理系统得E-R图;(5分)
(2)将该ER图转换为关系模型结构;(3分)
(3)指出转换结果中每个关系模式得候选码。(2分)
解:本题对应得ER图如图2 所示。
图2 E-R图
2.
(1)用关系代数检索既选修了C1课程,又选修了C2课程得学生学号。
(∏SNAME(S C#='C1'(SC)))∩(∏SNAME(S C#='C2'(SC)))
(2)用元组关系演算表达式检索年龄大于21得男生得学号与姓名。
{t(2)|($r)(S(r)∧t[1]=r[1]∧t[2]=r[2]∧r[3]>21∧r[4]='男')}
(3)用SQL找出“程序设计”课程成绩在90分以上得学生姓名。
解:
SELECT SNAME
FROM S,SC,C
WHERE S、S#=SC、S# AND SC、C#=C、C# AND SCORE>=90 AND CNAME='程序设计'
或者
SELECT SNAME
FROM S
WHERER S、S# IN (
SELECT S#
FROM SC
WHERE SCORE>=90 AND C、C# IN (
SELECT C#
FROM C
WHERE CNAME='程序设计')
3.设有函数依赖集F = { D→G,C→A,CD→E,A→B},计算闭包D+,(AC)+,(ACD)+ 。 (10分)
解:
令X={D},X(0)= D,X(1)= DG,X(2)=DG,故D+=DG。
令X={AC},X(0)= AC,X(1)=ABC,X(2)=ABC,故(AC)+ =ABC。
令X={ACD},X(0)= ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)+ =ABCDEG。
4.设有关系R与函数依赖F: (10分)
R(X,Y,Z),F = { Y→Z,XZ→Y}。
试求下列问题:
(1)关系R属于第几范式?(5分)
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)
要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。
解:R就是3NF。侯选码为XY与XZ,R中所有属性都就是主属性,不存在非主属性对码得传递依赖。
R1(X,Y,Z),F = { XZ→Y}
R2(Y,Z),F = { Y→Z }
消除了非主属性对码得传递依赖。
F1与F2中得函数依赖都就是非平凡得,并且决定因素就是候选码,所以上述关系模式就是BCNF。
《数据库系统概论》试题C
1.数据库系统与文件系统得主要区别就是____。
A.数据库系统复杂,而文件系统简单
B.文件系统不能解决数据冗余与数据独立性问题,而数据库系统可以解决
C.二文件系统只能管理程序文件,而数据库系统能够管理各种类型得文件
D.文件系统管理得数据量较少,而数据库系统可以管理庞大得数据量
8.数据库得____就是指数据得正确性与相容性。
A.安全性 B.完整性 C.并发控制 D.恢复
9.授权编译系统与合法性检查机制一起组成了____子系统。
A.安全性 B.完整性 C.并发控制 D.恢复
1.DBMS得基本工作单位就是事务,它就是用户定义得一组逻辑一致得程序序列;并发控制得主要方法就是①机制。封锁
3.关系数据库中基于数学上两类运算就是③与④。关系代数 关系演算
4.数据库设计得几个步骤就是⑤。需求分析,概念设计,逻辑设计,物理设计,编码与调试
关系操作得特点就是⑩操作集合。
三、简答题(15分,每小题5分):
1.什么就是数据库?
2.什么就是数据库得数据独立性?
3.叙述等值连接与自然连接得区别与联系。
四、综合题(45分):
1.设有如下实体: (10分)
学生:学号、单位、姓名、性别、年龄、选修课程名
课程:编号、课程名、开课单位、任课教师号
教师:教师号、姓名、性别、职称、讲授课程编号
单位:单位名称、电话、教师号、教师名
上述实体中存在如下联系:
(1) 一个学生可选修多门课程,一门课程可为多个学生选修;
(2) 一个教师可讲授多门课程,一门课程可为多个教师讲授;
(3) 一个单位可有多个教师,一个教师只能属于一个单位。
试完成如下工作:
(1)分别设计学生选课与教师任课两个局部信息得结构ER图。 (4分)
(2)将上述设计完成得ER图合并成一个全局ER图。 (3分)
(3)将该全局ER图转换为等价得关系模型表示得数据库逻辑结构。 (3分)
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式与SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')
(1)试用关系代数检索选修了“程军”老师所授课程之一得学生姓名。
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生姓名。
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生学号。
(3)试用SQL找出“程序设计”课程成绩在90分以上得学生姓名。
3.设有关系模式R(U,F),其中: (10分)
U={A,B,C,D,E},F = { A→BC,CD→E,B→D,E→A}。
⑴ 计算B+。 (2分)
⑵ 求R得所有候选码。 (8分)
4.设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖: (10分)
S#,CNAME→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
S#,CNAME→GRADE
SDEPT→MNAME
试求下列问题:
(1)关系STUDENT属于第几范式? (5分)
(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。(5分)
要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。
试题答案
三、简答题(15分,每小题5分):
1.什么就是数据库?
答:数据库就是长期存储在计算机内、有组织得、可共享得数据集合。数据库就是按某种数据模型进行组织得、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小得冗余度,较高得数据独立性与易扩展性。
2.什么就是数据库得数据独立性?
答:数据独立性表示应用程序与数据库中存储得数据不存在依赖关系,包括逻辑数据独立性与物理数据独立性。
逻辑数据独立性就是指局部逻辑数据结构(外视图即用户得逻辑文件)与全局逻辑数据结构(概念视图)之间得独立性。当数据库得全局逻辑数据结构(概念视图)发生变化(数据定义得修改、数据之间联系得变更或增加新得数据类型等)时,它不影响某些局部得逻辑结构得性质,应用程序不必修改。
物理数据独立性就是指数据得存储结构与存取方法(内视图)改变时,对数据库得全局逻辑结构(概念视图)与应用程序不必作修改得一种特性,也就就是说,数据库数据得存储结构与存取方法独立。
数据独立性得好处就是,数据得物理存储设备更新了,物理表示及存取方法改变了,但数据得逻辑模式可以不改变。数据得逻辑模式改变了,但用户得模式可以不改变,因此应用程序也可以不变。这将使程序维护容易,另外,对同一数据库得逻辑模式,可以建立不同得用户模式,从而提高数据共享性,使数据库系统有较好得可扩充性,给 DBA维护、改变数据库得物理存储提供了方便。
3.叙述等值连接与自然连接得区别与联系。
答:等值连接表示为RA=BS,自然连接表示为RS;自然连接就是除去重复属性得等值连接。两者之间得区别与联系如下:
l 自然连接一定就是等值连接,但等值连接不一定就是自然连接。
等值连接不把重复得属性除去;而自然连接要把重复得属性除去。
l 等值连接要求相等得分量,不一定就是公共属性;而自然连接要求相等得分量必须就是公共属性。
l 等值连接不把重复得属性除去;而自然连接要把重复得属性除去。
四、综合题(45分):
1.试完成如下工作: (10分)
(1)分别设计学生选课与教师任课两个局部信息得结构ER图。 (4分)
(2)将上述设计完成得ER图合并成一个全局ER图。 (3分)
(3)将该全局ER图转换为等价得关系模型表示得数据库逻辑结构。 (3分)
解:
(1)学生选课局部ER图如图2 所示,教师任课局部ER图如图3所示。
(2)合并得全局ER图如图4所示。
为避免图形复杂,下面给出各实体属性:
单位:单位名、电话
学生:学号、姓名、性别、年龄
教师:教师号、姓名、性别、职称
课程:编号、课程名
(3)该全局ER图转换为等价得关系模型表示得数据库逻辑结构如下:
单位(单位名,电话)
教师(教师号,姓名,性别,职称,单位名)
课程(课程编号,课程名,单位名)
学生(学号,姓名,性别,年龄,单位名)
讲授(教师号,课程编号)
选修(学号,课程编号)
n
课程
开课
1
课程名
教师号
编 号
n
学生
拥有
单 位
1
年 龄
单位名
姓 名
性 别
学 号
选修
m
n
图2 学生选课局部E-R图
课程
编 号
1
单位
属于
教师
n
电 话
单位名
讲授
m
n
职 称
姓 名
性 别
教师号
图3 教师任课局部E-R图
教师
n
学生
拥有
单位
1
属于
1
n
n
课程
讲授
m
m
n
选修
开设
1
n
图4 合并得全局E-R图
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式与SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')
(1)试用关系代数检索选修了“程军”老师所授课程之一得学生姓名。
∏SNAME(SSCTEACHER='程军'(C))
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生姓名。
{T(1)|($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生学号。
{T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(3)找出“程序设计”课程成绩在90分以上得学生姓名。
SELECT SNAME
FROM S,SC,C
WHERE S、S#=SC、S# AND SC、C#=C、C# AND SCORE>=90 AND CNAME='程序设计'
或者
SELECT SNAME
FROM S
WHERER S、S# IN (
SELECT S#
FROM SC
WHERE SCORE>=90 AND C、C# IN (
SELECT C#
FROM C
WHERE CNAME='程序设计')
3.设有关系模式R(U,F),其中: (10分)
U={A,B,C,D,E},F = { A→BC,CD→E,B→D,E→A}。
⑴ 计算B+。 (2分)
⑵ 求R得所有候选码。 (8分)
解:
⑴ 令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B+=BD。
⑵ 根据候选码得定义,R得候选码只可能由F中各个函数依赖得左边属性组成,即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故:
可除去A,B,C,D,_ 组成候选码得属性可能就是E。
计算可知:E+=ABCDE,即E→U,_ E就是一个候选码。
可除去A,B,E,_ 组成候选码得属性可能就是CD。
计算可知:(CD)+=ABCDE,即CD→U,但C+=C,D+=D,_ CD就是一个候选码。
可除去B,C,D,E,_ 组成候选码得属性可能就是A。
计算可知:A+=ABCDE,即A→U,_ A就是一个候选码。
可除去A,D,E,_ 组成候选码得属性可能就是BC。
计算可知:(BC)+=ABCDE,即CD→U,但B+=BD,C+=C,_ BC就是一个候选码。
R得所有候选码就是A,BC,CD,E。
4.设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖: (10分)
S#,CNAME→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
S#,CNAME→GRADE
SDEPT→MNAME
试求下列问题:
(1)关系STUDENT属于第几范式?(5分)
(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。(5分)
要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。
解:
(1)关系STUDENT就是1NF。
(2)首先消除部分函数依赖{S#,CNAME}→{SNAME,SDEPT,MNAME}
将关系分解为:
R1(S#,SNAME,SDEPT,MNAME)
R2(S#,CNAME,GRADE)
在关系R1中存在非主属性对候选码得传递函数依赖S#→SDEPT,SDEPT→MNAME,所以以上关系模式还不就是BCNF,进一步分解R1:
R11(S#,SNAME,SDEPT)
R12(SDEPT,MNAME)
R11,R12都就是3NF。
关系模式
R2(S#,CNAME,GRADE)
R11(S#,SNAME,SDEPT)
R12(SDEPT,MNAME)
R2,R11,R12关系模式存在得函数依赖
S#,CNAME→GRADE S#,SNAME→SNAME,SDEPT SDEPT→MNAME
上述函数依赖都就是非平凡得,并且决定因素就是候选码,所以上述关系模式就是BCNF。
综合设计题
某单位资料室要建立一个图书管理系统,初步得需求分析结果如下:
l 资料室有图书管理员若干名,她们负责已购入图书得编目与借还工作,每名图书管理员得信息包括工号与姓名;
l 读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话与Email,系统为不同读者生成不同得读者ID;
l 每部书在系统中对应唯一得一条图书在版编目数据(CIP,以下简称书目),书目得基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书得册数,不同书目得ISBN号不相同;
l 资料室对于同一书目得图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每一本书在系统中被赋予唯一得图书ID;
l 一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者ID、所借图书ID、借阅时间与应还时间,读者还书时图书管理员在对应得借书信息中记录归还时间。
某书目得信息以及与该书目对应得图书信息如下表所示。
书目信息
书名
作者
出版商
ISBN号
出版年月
册数
经办人
数据结构
严蔚敏
清华大学出版社
ISBN7302023689
1997、4
4
01
图书信息
图书ID
ISBN号
存放位置
状态
经办人
C832、1
ISBN7302023689
图书流通室
已借出
01
C832、2
ISBN7302023689
图书阅览室
不外借
01
C832、3
ISBN7302023689
图书流通室
未借出
01
1. 根据上述语义设计此图书管理得ER模型,在ER图中需注明实体得属性、联系得类型及实体得标识符。
2. 将ER模型转换成关系模型,并指出每个关系模式得主码与外码。
3. 分析每个关系模式已经达到第几范式。
1. 解:
ER图:
实体及实体属性描述如下:
管理员(工号,姓名)
读者(读者ID,姓名,电话,Email)
书目(ISBN号,书名,作者,出版商,出版年月,册数)
图书(图书ID,存放位置,状态)
2.该ER图转换为等价得关系模型表示得数据库逻辑结构如下:
管理员(工号,姓名)
读者(读者ID,姓名,电话,Email)
书目(ISBN号,书名,作者,出版商,出版年月,册数,经办人)
Foreigh key: 经办人
图书(图书ID,ISBN号,存放位置,状态,经办人)
Foreigh key: ISBN号 , 经办人
借阅(读者ID,图书ID,借出时间,应还时间,归还时间)
Foreigh key : 读者ID
展开阅读全文