1、(完整word版)数据库系统原理复习题复习题一、填空题:1. 三类经典的数据模型是_层次模型_、_网状模型_和_关系模型_。其中,_关系模型_目前应用最广泛。2. _概念模型_模型是面向信息世界的,它是按用户的观点对数据和信息建模;_数据模型_模型是面向计算机世界的,它是按计算机系统的观点对数据建摸。3. 关系模型的实体完整性是指_主属性的值不能为空_。在关系模型中,候选码是指_能唯一识别元组的属性或者属性组_,全码是指_所有属性都是候选码_。4. 设Ei 为关系代数表达式,根据关系代数等价变换规则,(E1E2)E3 _E1(E2E3)_,若选择条件F只涉及E1中的属性,则F(E1E2)_F(
2、E1)E2_。5. 数据依赖是关系中属性间的相互关联,最重要的数据依赖有两种,即_函数依赖_依赖和多值依赖。6. 在关系规范化过程中,将1NF转化为2NF,要消除_非主属性对主码的部分依赖_,若一个关系模式R2NF,并且消除了非主属性对码的传递依赖,则R_3NF。7. 数据库的保护措施有_安全性_控制、_完整性_控制、_并发控制_控制和数据库恢复等。8. 事务是并发控制的基本单位,事务的四个性质是_原子_性、_一致_性、_隔离_性和_持久性_性。9. 并发控制的主要方法是封锁,封锁的类型有两种,即_X_锁和_S_锁。10. 故障恢复的基本手段有_数据转储_和_登记日至文件_。11. DBMS的
3、中文全称是_数据库管理系统_。12. 数据管理的发展经历了人工管理阶段、_文件管理_阶段和_数据库系统_阶段。13. 数据库系统的三级模式分别是_外模式_,_模式_和_内模式_。其中_模式_是用来定义数据库的全局逻辑结构的。数据库系统的两级独立性分别是_外模式/模式的逻辑独立性_和_模式/内模式的物理独立性_。14. 数据库设计的步骤有需求分析、_概念结构设计_、逻辑结构设计、_物理设计_、数据库实施和_数据库的运行与维护_。15. 实体联系模型中三种联系是_一对一_、_一对多_、_多对多_;16. 数据库系统是由数据库、_软件(DBMS)_、_硬件(应用系统)_、_人员和用户共同组成; 17
4、. 并发控制带来的三种数据不一致是_丢失数据_、_不可重复读_、_读脏数据_;18. 数据库的逻辑模型设计阶段,任务是将_E-R图_转换成关系模型;19. 关系规范化理论是设计_逻辑结构_的指南和工具。20. 从用户角度看,数据库系统的体系结构可分为_集中式_结构、_分布式_结构、客户/服务器结构和_浏览器/服务器_结构。二、选择题:1.要保证数据库逻辑数据独立性,需要修改的是( C )。A 模式 B 模式与内模式的映射C 模式与外模式的映射 D 内模式2.不允许任何其他事务对一个锁定目标加锁的锁是( B )。 A 共享锁 B 排他锁 C 共享锁或排他锁 D 都不是3.数据库中( B )是指数
5、据的正确性和相容性。 A 安全性 B 完整性 C 并发性 D 恢复性4.设K为关系模式R中的属性或属性组合,若U完全函数依赖K,则K称为R的一个( B )。 A 关键字 B 候选码 C 主属性 D 主属性值 注意:这道题是比较容易出错的题。5.数据库系统和文件系统的区别是( B )。 A 数据库系统复杂,文件系统简单; B 文件系统不能解决数据冗余和数据独立性问题,而数据库系统能解决此问题; C 文件系统只能管理程序文件,而数据库系统能管理各种文件; D 文件系统管理的数据量小,而数据库系统管理的数据量大; 6.设关系R,按条件f对关系R进行选择,其关系代数是( C )。 A f(RR) B
6、f(RR) C f(R) D f(R)7.关系模式中,各级模式之间的关系为( A )。 A 3NF 2NF 1NF B 3NF 1NF 2NF C 1NF 2NF 3NF D 2NF1NF 3NF 8.数据库系统的核心是( B ) A 数据库 B 数据库管理系统 C 数据模型 D 软件工具注意:DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。9.多用户共享数据库时,为了保证用户正确读写数据,DBMS必须进行( C )。 A 安全性控制 B 恢复性控制 C 并发性控制 D 可靠性控制10.数据库管理系统能实现对数据的查询、插入、删除等操作
7、,这种功能是( C )。 A 数据定义功能 B 数据管理功能 C 数据操纵功能 D 数据控制功能11.数据模型的三要素是( A )。A 数据结构、数据操作和数据完整性 B 数据结构、数据库定义和数据库维护C 数据定义、数据操作和数据维护D 关系数据库、层次数据库和网状数据库12.E-R模型的基本成分是( D )。A 字段和记录 B 记录和实体 C 联系和属性 D 实体和联系13.关系数据库用( C )来表示实体之间的联系。 A 树结构 B 网结构C 二维表 D 线性表14.在数据库系统中,系统的故障类型有三种,如下不是故障类型的为( D )。A 系统故障 B 磁盘故障 C 事物故障 D 操作系
8、统故障15.在并发操作中可能产生若干数据库不一致性,除了丢失修改、不能重复读以外,还有( A )。A 读“脏”数据 B 不可串行化C 事物内部故障 D 活锁和死锁16.具有数据冗余度小,数据共享以及较高数据独立性等特征的系统是( B ) 。A 文件系统 B 数据库系统 C 管理系统 D 高级程序17.在一个关系中,如果有这样一个属性组存在,它的值能唯一的标识此关系中的一个元组,该属性组称为( A )。 A 候选码 B 数据项 C 主属性 D 主属性值18.在数据库设计中,将E-R图转换成关系数据模型的过程属于( B )。A 需求分析阶段 B 逻辑设计阶段C 概念设计阶段 D 物理设计阶段19.
9、设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码K相对应,则称F是基本关系R的 ( D ) 。A 候选码 B 主码 C 全码 D 外码20.当局部E-R图合并成全局E-R图时,可能出现冲突,下面所列举的冲突中( B )不属于上述冲突。A 属性冲突 B 语法冲突 C 结构冲突 D 命名冲突21.在SQL语言中,视图是数据库体系结构中的( C )。A 内模式 B 模式 C 外模式 D 物理模式22.下列( C )运算不是专门的关系运算。A 选择 B 投影 C 笛卡尔积 D 连接23.日志文件的主要作用是处理数据库的(C )。A 安全性 B 完整性 C 恢复 D 并发控制
10、24. 在嵌入式SQL方式中,主语言向SQL语句提供参数,主要用( C )。 A游标 B缓冲区 C主变量 DSAL通信区注意:在嵌入式SQL中,向主语言传递SQL执行状态信息主要用SQL通信区(SQL Communication Area,简称SQLCA)实现;主语言向SQL语句输入数据主要用主变量(host variable)实现;SQL语句向主语言输出数据主要用主变量和游标(cursor)实现。25.使用检查点的恢复技术,其主要目的是( A )。A改善恢复效率 B解决系统故障 C增加恢复的可靠性 D 解决介质故障26.在数据库系统中,对存取权限的定义称为(B )。A命令 B授权 C定义 D
11、审计27.下列关于建立索引不正确的说法是( A )。A不应在码和外码上建立索引 B建立索引是加快查询速度的有效手段C在一个基本表上最多只能建立一个聚簇索引 D索引一经建立,就由系统使用和维护28.DBMS允许用户把一个或几个数据库操作组成(B ),它是一组按顺序执行的操作单位。 A命令 B事务 C文件 D程序29.在SQL语句中,ALTER的作用是( C )。 A删除基本表 B修改基本表中的数据 C修改基本表的结构 D修改视图30.任何一个满足2NF但不满足3NF的关系模式都不存在(B)。A主属性对主码的部分依赖 B非主属性对主码的部分依赖C主属性对主码的传递依赖 D非主属性对主码的传递依赖三
12、、是非题: ( 错 )1.在关系代数中,自然连接就是等值连接。( 错 )2.视图是由基本表或其他视图导出的表,因此它对应实际存储的数据。( 错 )3.在关系规范化过程中,将1NF转化为2NF,要消除非主属性对码的传递依赖。( 对 )4.实体间的所有联系都可以转换为单独的联系表。( 对 )5.任何一个二目关系都是属于BCNF的。( 错 )6.delete table和drop table都可以完全删除一张表。( 对 )7.delete table和drop table是不同的,delete table仅是删除表中的数据;而drop table不仅删除了表数据和表结构,而且在数据字典中的表定义也删
13、除了。( 错 )8.对象和实体之间是is part of 的关系,属性和对象类型之间是is member of的关系。( 错 )9.若R3NF,则R必属于BCNF。( 错 )10.数据库系统就是DBMS。( 错 )11.数据库管理系统就是DBS。( 对 )12.在数据库的设计过程中规范化是必不可少的。( 对 )13.DFD图(即数据流图)是数据库设计的需求分析阶段完成的任务。( 对 )14.关系的两个不变性就是实体完整性和参照完整性。( 对 )15.可串行性是并发事务正确调度的准则。( 对 )16.一个关系的主码必定是候选码。( 错 )17.由EXISTS引出的子查询,其目标列表达式通常都用表
14、示,表示列出所有列。( 对 )18.在SELECT的查询中,其目标列表达式通常都用表示,表示列出所有列。( 对 )19.对象和实体之间是is member of的关系,属性和对象类型之间是is part of的关系。( 对 )20.若RBCNF,则R必属于3NF。( 对 )21.任何一个全码关系都属于2NF.( 对 ) 22.若一个关系的码是单个属性,则该关系属于2NF.( 对 )23.SQL SERVER中的表能按关键字段值递增或递减的顺序排列。( 对 )24.视图是由基本表或其他视图导出的表,因此它是一个虚表。( 对 )25.事物遵循两段锁协议是可串行化调度的充分条件,而不是必要条件。(
15、错 )26.不遵循两段锁协议的调度是不可串行化的调度,是错误的调度。( 对 )27.索引的作用是提高查询效率。( 对 )28.在关系规范化过程中,将2NF转化为3NF,要消除非主属性对码的传递依赖。( 错 )29.主码的诸属性称为主属性。( 对 )30.候选码具有的属性是主属性。四、简答题:1. 什么是E-R图?E-R图的基本要素是什么?答:用以描述现实世界的概念模型的图示方法。 E-R的基本要素是:实体、联系、属性。2. 简述视图的定义及作用。答:(1)从一个或者几个基本表中导出的表称为视图,视图是一个虚表。(2)简化用户的操作,使用户从多角度看待同一个问题,对重构数据库提供了一定程度的逻辑
16、独立性。3. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:丢失修改、不可重复读、读“脏”数据。采用封锁的方法来避免数据的不一致。4. 数据库恢复的基本技术有哪些?答:转储、登记日志文件。数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。日志文件是用来记录事务对数据库的更新操作的文件。5. 说明查询优化的含义,并叙述对关系代数表达式查询树的优化方法。答:(1)每个查询都会有许多可供选择的执行策略和操作算法,查询优化就是选择一个高效执行的查询出处理策略。用户不必考虑怎么样表达查询以获得较好的效率,系统可以比
17、用户优化的更好。 (2)选择运算尽量先做;投影运算与选择运算应同时进行;投影与其前或后的双目运算结合起来;把某些选择同其前或者后的笛卡尔积结合起来;找出公共子表达式。6. 数据库设计过程包括几个主要阶段,请对每个阶段的任务进行简述。答:需求分析:明确用户的各种需求,在此基础上确定新系统的功能。概念结构设计:将用户需求抽象成概念模型的过程。逻辑结构设计:将E_R图转变成数据模型相符的逻辑结构。数据库的物理设计:确定数据库在物理设备上的存储结构与存取方法。数据库的实施:加载数据,试验数据库是否正确。数据库运行与维护阶段:运行与维护数据库。7. 简述事务的四个特性。答:事务具有四个特性:原子性:事务
18、是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须使数据库从一个一致性状态转变为另一个一致性状态。隔离性:一个事务的执行不能被其他事务打扰。持续性:也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。8. 登记日志文件时为什么必须先写日志文件,后写数据库?答:数据的修改写到数据库与数据的登记日志文件记录是两个不同的过程,有可能在两个操作之间发生故障,若先写数据库,而在运行记录中没有登记这个修改,则无法恢复这个修改了。9. 简述DBMS中数据库恢复系统的作用;恢复机制涉及的两个关键问题是什么?答:把数据库从错误状态中恢复到某一已知的正
19、确状态中的过程。恢复机制涉及的两个关键问题是:第一,如何建立冗余数据;第二,如何利用这些冗余数据实施数据库的恢复。建立冗余数据最常用的技术是数据转储、登记日志文件。10. DBMS的完整性子系统主要功能是什么?答:监督事物执行并测试是否违反完整性规则,若违反,则采取相应的措施。11. 关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?答:实体完整性:拒绝插入或者修改。参照完整性:拒绝执行或者级联删除或者设置为空值。用户定义的完整性:拒绝执行。12. 什么是数据库的完整性?答:数据库的完整性是指数据的正确性、有效性与相容性,防止错误数据进入数据库
20、。13. 数据库的完整性概念与数据库的安全性概念有什么区别和联系?答:数据库的完整性是指数据库的正确性、相容性。数据库的安全性是指保护数据库以防止不合法的使用造成数据泄密、更改等。但是无论是安全性还是完整性都是保护数据库的措施。14. 什么是日志文件?为什么要设立日志文件?答:日志文件是用来记录事务对数据库更新操作的文件。事物故障的恢复与系统故障恢复必须使用日志文件,在动态转储中必须用到日志文件,在静态转储中也可以用到日志文件。15. 在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性?答:并发控制机制是衡量一个数据库管理系统的重要标志之一,不并发控制的话会带来数据冗余、更新异常、插
21、入异常、删除异常等一系列问题。A:原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。B:一致性: 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。C隔离性 :一个事务的执行不能被其他事务干扰。 D:持续性/永久性: 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。16. 什么样的并发调度是正确的调度?答:多个事务的并发执行是正确的,当且仅当其结果与按某一次串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。可串行性的调度是并发事务正确调度的准则。按这个准则规定,一个给定的并发调度,当且仅当它是可串行化
22、的,才是正确的调度。17. 简述数据模型的概念和数据模型的3个要素。答:数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件。数据模型的3要素是:数据结构、数据操作和完整性约束。数据结构:数据结构描述数据库的组成对象以及对象之间的关系。数据操作:是指对数据库中各种对象(型)的实例(值)允许的执行操作的集合,包括操作及有关的操作规则。完整性约束规则:数据的完整性约束条件是一组完整性约束规则。18. 简述数据库系统三级模式结构。答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特
23、征的描述,是所有用户的公共视图。外模式:也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。内模式:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。19. 简述等值连接和自然连接的区别和联系。答:等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性上才能进行自然连接。等值连接不去掉重复属性列,而自然连接去掉重复属性列,也可以说,自然连接是去掉重复列的等值连接。20. 简述实现数据库安全性控制的常用方
24、法和技术。答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改和破坏。常用的方法和技术有:用户标识和鉴别、存取控制、视图和数据加密等安全技术。用户标识和鉴别:是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。存取控制:确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的用户无法接近数据。视图:通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。数据加密:是防止数据库中的数据在存储和传输中的失密手段。五、1设有学生表S,课程表C及学生选课表SC:S (Sno,Sname,Sdept,Sag
25、e,Ssex);C (Cno,Cname,Credit,Cpno);SC(Sno, Cno,Grade)其中,各属性列的含义如下:Sno学号,Sname姓名,Sdept系别,Sage年龄,Ssex性别Cno课程号,Cname-课程名,Credit学分,Cpno先行课Grade成绩试用SQL语句写出下列操作:(1) 选课表(学号,课程号,成绩),定义学号和课程号为主键,且学号为参照学生表的外键,课程号为参照课程表的外键。create table SC(Sno char(12), Cno char(12), Grade int,primary key(Sno,Cno),foreign key(Sn
26、o) references S(Sno),foreign key(Cno) references C(Cno),);(2) 把学生表中的姓名列的列加宽到30位字符宽度。alter table Salter column Sname char(30);(3) 查询选修C3或C4号课程且分数大于等于70分学生的的学号、课程号和成绩。select Sno,Cno,Gradefrom SC Where (Cno=C3or Cno=C4) and Grade=70;(4) 查询有20人以上选修的课程号及选课人数。select Cno,count(Sno)from SCgroup by Cno havin
27、g( count(Sno)=20);(5) 查询与“信息系统”课程学分相同的所有课程的名称。select Cnamefrom Cwhere Credit=(select Creditfrom Cwhere Cname=信息系统) and Cname 信息系统;(6) 将一个新选课记录(学号:200215121;课程号:8;成绩:78)插入到SC表中。insert into SCvalues(200215121,8,78);(7) 将数学系全体学生的成绩置零。update SCset Grade=0where Sno in (select Snofrom Swhere Sdept=数学系);(8
28、) 删除数学系所有学生的选课记录。delete from SCwhere Sno in (select Snofrom Swhere Sdept=数学系);(9) 授予用户王丹对SC有select和对成绩修改的操作权限。grant select,update(Grade)on SCTo 王丹;(10) 回收用户王丹对SC的select操作权限。revoke selecton SCfrom 王丹; 2设有如下所示的零件表P,供应商表S及供应表SP: P(PNO,PNAME,PADDR,PQTY) S(SNO,SNAME,SADDR) SP(SNO,PNO,SPQTY)其中,各属性列的含义如下:P
29、NO零件号,PNAME零件名称,PADDR零件存放地点,PQTY零件库存量 SNO供应商号,SNAME供应商名称,SADDR供应商地址,SPQTY供应量试用SQL语句写出下列操作:(1) 利用SQL的数据定义功能创建P表,且定义PNO为主码。CREATE TABLE P(PNO CHAR(15) PRIMARY KEY, PNAME CHAR(20), PADDR CHAR(20), PQTY INT);(2) 查询所有在“北京”的供应商号,供应商名称及其所供应的所有零件数量的总和(SUM)。SELECT SNO,SNAME,SUM(SPQTY)FROM S,SPWHERE S.SNO=SP.
30、SNO AND SADDR=北京;(3) 查询供应量已超过1000的零件的零件号,零件名称及零件的库存量。SELECT P.PNO,PNAME,PQTYFROM P,SPWHERE P.PNO=SP.PNO AND SPQTY1000;(4) 查询供应零件名称为螺丝的供应商名称。SELECT SNAMEFROM P,S,SPWHERE P.PNO=SP.PNO AND S.SNO=SP.SNO AND PNAME=螺丝;(5) 在供应商表中插入一条记录:(S1,鸿运,银川)。INSERT INTO SVALUES(S1,鸿运,银川);(6) 将所有存放地点在“西安”的零件的库存量增加50%。U
31、PDATE PSET PQTY=PQTY*1.5WHERE PADDR=西安;(7) 从供应关系SP中删除供应量低于1000的供应记录。DELETE FROM SPWHERE SPQTY5000;(10) 删除供应表。 DROP TABLE SP;其余两道题同学们自己做,熟练掌握关系代数和SQL操作。3. 现有关系数据库包含如下三个关系模式:出版社(出版社编号,出版社名称)图书 (图书编号,书名,定价,出版社编号,作者编号)作者 (作者编号,姓名,电话)分别用关系代数表达式与SQL语句完成如下1-4题:(1) 查询出版社表中所有信息; (2) 查询图书编号为B01的图书作者姓名;(3) 查询作
32、者编号为A01的作者姓名和图书名称;(4) 查询出版社编号为P01的作者姓名、图书名称和出版社名称; 应用SQL语句完成如下5-11题:(5) 创建图书表(图书编号,书名,定价,出版社编号,作者编号),定义图书编号为主码,出版社编号是参照出版社表的外 码,作者编号是参照作者表的外码;(6) 按出版社分组统计各个出版社的图书数量,要求显示出版社名称;(7) 向图书表添加如下信息:B04,数据库原理,34.8,P02 ;(8) 将出版社表中北京邮电出版社的出版社名称更改为人民邮电出版社;(9) 删除作者表中B12号作者信息;(10) 授予用户JOAN对图书表有查询和对定价修改的操作权限;(11)
33、回收用户JOAN对图书表的查询操作权限;4. SPJ数据库中包括4个关系模式:S (SNO,SNAME,STATUS,CITY);P (PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);说明:供应商表中:SNO-供应商号 SNAME-供应商名称 STATUS-供应商状态 CITY-供应商所在城市零件表中: PNO-零件号 PNAME-零件名称 WEIGHT-零件重量 COLOR-零件颜色工程表中: JNO-工程号 JNAME-工程名称 CITY-工程所在城市供货表中: QTY-供货量用SQL语句实现下列操作(1)向P表
34、中插入一条记录(P5,凸轮,蓝,40)。(2)写出创建SPJ表的SQL语句,必须设定主外键。(3)修改J表的表结构,增加一个字段Jdesc。(4)查询为工程J1供应零件P1的供应商名称。(5)将P1零件的重量加6。(6)删除北京供应商的供应记录。(7)为用户tom授予SPJ表上的DELETE操作权限,并允许tom传播该权限。(8)查询由2个以上(包括2个)供应商进行供应的零件的编号。(9)在S表上以SNO建立唯一索引,升序。(10)创建零件重量高于100克的红色零件的视图。用关系代数实现下列操作(1)求供应商S1所供应的全部零件的零件号。(2)求所在北京的工程的工程名称。(3)求使用北京供应商
35、供应的蓝色零件的工程号。(4)求能供应所有零件的供应商的名称。六、规范化理论:1现有如下关系模式:教师(教师编号,姓名,电话,所在部门,借阅图书编号,图书名称,借阅日期,备注)(1) 试分析该关系模式的函数依赖,并指明其主码。(2) 该关系是否存在部分函数依赖,若有,请指出。(3) 将该关系分解到2NF,3NF。答:(1)若姓名没有重复,则候选码有:(教师编号,借阅图书编号);(姓名,借阅图书编号)主码:(教师编号,借阅图书编号)(2)存在部分函数依赖。如因为教师编号-姓名,教师编号-电话,教师编号-所在部门;借阅图书编号-图书名称;所以(教师编号,借阅图书编号)-姓名,(教师编号,借阅图书编
36、号)-电话,(教师编号,借阅图书编号)-所在部门,(教师编号,借阅图书编号)-图书名称,都是部分函数依赖关系。(3)分解到2NFT1(教师编号,借阅图书编号,借阅日期,备注)T2(教师编号,姓名,电话,所在部门)T3(图书编号,图书名称)由于分解后,各关系模式不存在非主属性对码的传递依赖,所以上述分解已经达到3NF。其余两道题同学们自己做,熟练掌握规范化理论。2考生(准考证号,姓名,电话,家庭住址,报考专业编号,报考专业名称,报考年份,备注)(1) 试分析该关系模式的函数依赖,并指明其主码。(2) 该关系是否存在部分函数依赖,若有,请指出。(3) 将该关系分解到2NF,3NF。3.R(职工名,
37、项目名,工资,部门名,部门经理)如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。(1) 试分析该关系模式的函数依赖,并指明其主码。(2) 该关系是否存在部分函数依赖,若有,请指出。(3) 将该关系分解到2NF,3NF。七、数据库设计题:1. 某医院病房管理系统中包括四个实体型,分别是:科室:科名,科地址,科电话病房:病房号,病房地址医生:工作证号,姓名,职称,年龄病人:病历号,姓名,性别存在以下语义约束:(1) 一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只能属于一个科室;(2) 一个医生可负责多个病人的诊治,一个病人的主管医
38、生只有一个;(3) 一个病房可入住多个病人,一个病人只能入住在一个病房;注:不同科室可能有相同的病房号完成如下设计:(1) 画出该医院病房管理系统的E-R图;(2) 将该E-R图转换为关系模型; (3) 指出转换结果中每个关系模式的主码和外码。参考答案:(1)画出该医院病房管理系统的E-R图;病房病房号病房地址科室科电话科地址科名病人性别姓名病历号入住院1N组成1N医生职称姓名工作证号年龄拥有1N诊治院1N(2)将该E-R图转换为关系模型; (要求:1:1、1:N的联系进行合并)科室(科名,科地址,科电话)病房(病房号,病房地址,科名)医生(工作证号,姓名,职称,年龄,科名)病人(病历号,姓名
39、,性别,主管医生,病房号,科名)(3)指出转换结果中每个关系模式的主码和外码。科室:主码是科名病房:主码是科名+病房名,外码是科名医生:主码是工作证号,外码是科名病人:主码是病历号,外码是科名+病房号2.电影数据库涉及以下实体型:电影、导演、演员。电影信息包括电影名、制作年份、电影长度等属性;导演信息包括导演编号、姓名、性别、电话等属性;演员信息包括演员编号、姓名、性别、年龄、地址、电话等属性;一个导演可以指导多部电影,而一部电影只有一个导演;每部电影都可能有多个演员出演,每个演员都可能演出多部电影。根据以下需求描述,完成:(1)设计E-R模型;(2)将E-R模型转换为关系模式,并指出各关系模式中主码,若有外码,请指出。参考答案:电影导演演员指导演出n1mn电影名称制作年份电影长度电话姓名演员编号性别电话姓名导演编号电影(电影名称,制作年份,电影长度,导演编号) 主码:电影名称;外码:导演编号。导演(导演编号,姓名,电话) 主码:导演编号。演员(演员编号,姓名,性别,电话) 主码:演员编号。演出(电影名称,演员编号) 主码:(电影名称,演员编号);外码:电影名称;演员编号两个外码。其余3