当前位置:文档之家› 数据库期末复习综合练习题及参考答案

数据库期末复习综合练习题及参考答案

综合练习题
1、假设某学校数据库中有一关系模式 R 如下:
R( 学号, 姓名, 系名, 系主任, 课程名, 成绩 )
如果规定:
(1) 一个系有若干学生, 但一个学生只属于一个系;
(2) 一个系只有一名系主任;
(3) 一个学生可以选修多门课程 , 每门课程有若干学生选修,每个学生选修某门课后有成绩。

试回答下列问题:
(1) 写出关系模式 R 的基本函数依赖;
(2) 找出关系模式 R 的候选码;
(3) 试问关系模式R最高已经达到第几范式?为什么?
(4) 如果R不属于3NF,请将R分解成3NF模式集。

参考答案:
(1) 有四个函数依赖:学号→姓名;学号→系名;系名→系主任;{学号,课程名}→成绩
(2) R的候选码是{学号,课程名}
(3) 因为R中存在着非主属性“姓名”对候选码{学号,课程名}的部分函数依赖,所以R 属于1NF。

(4) 将R分解成:R1 (学号,课程名,成绩)
R2 (学号,姓名,系名)
R3(系名,系主任)
2、现有一个未规范化的表,包含了项目、部件和部件向项目已提供的数量信息。

请采用规
参考答案:
原表存在的函数依赖关系为:
部件号→部件名,部件号→现有数量,
项目代号→项目内容,项目代号→项目负责人,
(项目代号,部件号)→已提供数量。

关系键为(项目代号,部件号)。

存在部分函数依赖:
(项目代号,部件号)p→部件名,(项目代号,部件号)p→现有数量,
(项目代号,部件号)p→项目内容,(项目代号,部件号)p→项目负责人。

消除部分函数依赖,分解得到以下的三个关系模式:
部件(部件号,部件名,现有数量)
项目(项目代号,项目内容,项目负责人)
提供(项目代号,部件号,已提供数量)
该关系达到2NF。

由于不存在传递函数依赖,也达到3NF。

3、假设某商业集团数据库中有一关系模式R如下:
R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:(1) 每个商店的每种商品只在一个部门销售;
(2) 每个商店的每个部门只有一个负责人;
(3) 每个商店的每种商品只有一个库存数量。

试回答下列问题:
(1) 根据上述规定,写出关系模式R的基本函数依赖;
(2) 找出关系模式R的候选码;
(3) 试问关系模式R最高已经达到第几范式?为什么?
(4) 如果R不属于3NF,请将R分解成3NF模式集。

参考答案:(1) 有三个函数依赖:(商店编号,商品编号) →部门编号
(商店编号,部门编号) →负责人
(商店编号,商品编号) →数量
(2) R的候选码是 (商店编号,商品编号)
(3) 因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。

(4) 将R分解成:R1 (商店编号,商品编号,数量,部门编号)
R2 (商店编号,部门编号,负责人)
4、某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。

工厂的属性有工厂编号、厂名、厂址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名、年龄。

(1)根据上述语义画出E-R图。

(2)将E-R 模型转化为关系模型,并指出其中的主键和外键。

ER图略(其中工厂与产品为 m:n,联系的属性为数量;工厂与职工为1:n,联系的属性为聘期、工资;
工厂(工厂编号,厂名,厂址)主键:工厂编号
产品(产品编号,产品名,规格)主键:产品编号
生产(工厂编号,产品编号,数量)主键:(工厂编号,产品编号)外键:工厂编号,产品编号,分别参照工厂表中的工厂编号,产品表中的产品编号
职工(职工号,姓名,年龄,聘期,工资,工厂编号)主键:职工号;外键:工厂编号,参照工厂表中的工厂编号。

相关主题