《数据库系统概论》模拟试题答案
一、选择题(20分)
。
_____A __)三者之间的关系是DBMS )和数据库管理系统(DBS )、数据库系统(DB 数据库(、1 A .DBS 包括DB 和DBMS B .DBMS 包括DB 和DBS
C .DB 包括DBS 和DBMS
D .DBS 就是DB,也就是DBMS
2、关系数据模型____D ______。
A.只能表示实体之间的1:1联系
B.只能表示实体之间的1:n 联系
C.只能表示实体之间的m :n 联系
D.可以表示实体间的上述三种联系
3、在数据库中,下列说法__A _____是不正确的。
A . A . 数据库避免了一切数据的重复
B . B . 若系统是完全可以控制的,则系统可确保更新时的一致性
C . C . 数据库中的数据可以共享
D . D .数据库减少了数据冗余
4、在数据库中,产生数据不一致的根本原因是___D ____。
A . A . 数据存储量太大
B . B . 没有严格保护数据
C . C . 未对数据进行完整性控制
D . D .数据冗余
5、在数据库的三级模式结构中,描述数据库中全局逻辑结构和特征的是__D____。
A .外模式 B. 内模式 C. 存储模式 D. 模式
6、数据库三级模式体系结构的划分,有利于保持数据库的___A _____.
A .数据库独立性 B. 数据安全性
C .结构规范化 D. 操作可行性
7、设关系R 和S 都是二元关系,那么与元组表达式:
{t | (?u) ( ?v) (R(u) ∧S(v) ∧u[1]=v[1] ∧t[1]=v[1] ∧t[2]=v[2])}
8____A______A. 3NF ? 2NF ? 1NF B. 3NF ? 1NF ? 2NF
C. 1NF ? 2NF ? 3NF
D. 2NF ? 1NF ? 3NF
9、数据库中的封锁机制是___C _______的主要方法。
A. 完整性
B. 安全性
C. 并发控制
D.
恢复
10、在数据库设计中,用E-R 图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的____B _____阶段。
A. 需求分析
B. 概念设计
C. 逻辑设计
D. 物理设计
二、一个图书借阅管理数据库要求提供下述服务:
A . A . 随时查阅书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。
B . B . 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。
我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
C . C . 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
根据以上情况和假设,试做如下设计: (共20分)
1、 1、 构造满足需求的E-R 图。 (7分)
2、转换为等价的关系模型结构。 (8分)
3、用ODL 描述上述模型。 (5分)
解 2:(8分)
借书人(借书证号,姓名,单位)
图书(书号,数量,位置,出版社名)
出版社(出版社名,电报编号,电话,邮编,地址)
借阅(借书证号,书号,借书日期,还书日期)
interface 图书(key(书号)){
attribute string 书号;
attribute string数量;
attribute string位置;
relationship 出版社由…出版
inverse出版社:: 出版;
relationship Set<借书人>由…借阅
inverse借书人:: 借阅;
};
三、设有关系S、SC和C,试用关系代数表达式完成下列操作。(10分)
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。
SC(snum,cnum,score), 例:(1,“C1”,83)是一条数据记录。
C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,“王华”)是一条数据记录。
1、1、检索“刘祥”同学不学课程的课程号。
∏cnum(C)-∏cnum(σsname=’刘祥’(SC∞S))
2、2、检索至少有一门课程成绩在90分以上的男同学的姓名。
∏sname(σscore>=90∧sex=’男’(SC∞S))
四、设有关系S、SC和C,试用关系元组演算表达式完成下列操作。(10分)
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。
SC(snum,cnum,score), 例:(1,“C1”,83)是一条数据记录。
C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,“王华”)是一条数据记录。
1、1、检索年龄大于25岁的女学生的学号和姓名。
{t2| (?u) (S(u) ∧t[1]=u[1] ∧ t[2]=u[2] ∧u[3]=’女’ ∧u[4] >25)}
2、2、检索选修了“数据库系统概论”课程的学生姓名。
{t| (?u)( ?v)( ?w)(S(u) ∧SC(v) ∧C(w) ∧t[1]=u[2] ∧w[2]=’数据库系统概论’ ∧u[1]=v[1] ∧v[2]=w[1])}
五、用SQL完成数据查询功能:(15分)
设有关系S、SC和C:
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。
SC(snum,cnum,grade), 例:(1,“k1”,83)是一条数据记录。
C(cnum,cname,teacher) 例:(“k1”,“数据库原理”,“王华”)是一条数据记录。
1、1、列出没有选修“人工智能”的学生名单。(5分)
select sname
from s
where snum not in( select snum
from sc
where cnum in(select cnum
from c
where cname=” 人工智能”));
2、2、找出选修了袁老师教的所有课程的学生名单。(5分)
select s.sname
from s
where not exists (select *
from c
where c.teacher like “袁%” and not exists (select *
from sc
where https://www.wendangku.net/doc/3913714312.html,um=https://www.wendangku.net/doc/3913714312.html,mu and sc.snum=s.snum));
3、查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。(5分)
select s.sname
from s,sc
where s.snum=sc.snum
group by s.snum,s.sname
having min(grade)>=70 and avg(grade)>=75;
六、设关系模式R(A,B,C,D,E,I),其函数依赖集为:FDs={A→D,AB→E,BI→E, CD→I,E→C }。
计算:求所有的候选码。(10分)
key={AB}
步骤略。
七、设有关系student(snum,sname,sdept,mname,cname,grade),{ snum, cname }为键码。该关系中存在如下函数依赖:{snum,cname}→{sname,sdept,mname};
{snum}→{sname,sdept,mname};
{snum,cname}→{grade};
{sdept}→{ mname}。
试求解下列问题:(共15分)
1、关系student属于几范式?(5分)
2、如果关系student不属于BCNF,请将关系student逐步分解为BCNF。(10分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的依赖。
解:
1、关系模式sc(snum,sname,cnum,score)是1NF,但不是2NF。
因为不存在表中有表、各属性都是不可再分的,所以sc∈1NF;由于存在部分函数依赖:{ snum ,cnum } {sname}, 所以sc 不属于2NF。(5分)
2、关系模式s(snum,sname,dept,mname)是2NF,但不是3NF。
因为键码是{ snum },是单个属性,所以不存在部分依赖,s∈2NF;又由于存在非主属性对键码的传递依赖:{snum }→{sname, dept};
{ dept } { snum };
{dept }→{ mname };
{snum} { mname };
所以关系s不属于3NF。(5分)
1、2、关系模式s(snum,sname,age)是3NF,也是BCNF。
因为非主属性{ sname,age }对键码{ snum }不存在部分函数依赖和传递函数依赖,所以s是3NF;又由于每个决定因素的左部包含键码,所以s属于BCNF 。(5分)
知识改变命运