但Y→X不成立,且Z-X、Z-Y和Y-X均不空,则称X→Z为传递函数依赖。
范式:范式(Normal Form)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。 6.简述非规范化的关系中存在哪些问题。
答:①数据冗余 ②更新异常 ③插入异常 ④删除异常 7.简述关系模式规范化的目的。 答:关系模式规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常以及更新异常等问题。其基本思想是消除数据依赖中的不合适部分,使各关系模式达到某种程度的分离,使一个关系描述一个概念、一个实体或实体间的一种联系。因此,规范化的实质是概念的单一化。
8.根据给定的关系模式进行查询。
设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。请用关系代数分别写出下列查询: (1)检索学生年龄大于等于20岁的学生姓名。
∏SN(σSA≥20 (S))
(2)检索先修课号为C2的课程号。
∏C#(σPC#=?C2? (C))
(3) 检索课程号C1的成绩为90分以上的所有学生姓名。
∏SN(σC#=?C1? ∧ G>=90 (S∞SC))
(4) 检索001号学生修读的所有课程名及先修课号。
∏CN, PC#(σS#=?001? (C∞SC))
(5)检索年龄为19岁的学生所选修的课程名。
∏CN(σSA=19 (C∞SC∞S))
9.要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干学生。学生参加某研究会,有一个入会年份。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系号、系名、系办公室地点、人数。 描述研究会的属性有:研究会名、成立年份、地点、人数。
试给出上述数据库的关系模式;写出每个关系的基本的函数依赖集;指出是否存在传递函数依赖,指出各关系的主码和外码。 答:关系模式:
学生(学号,姓名,出生年月,系号,班号,宿舍区) 班级(班号,专业名,系号,人数,入校年份) 系(系号,系名,系办公室地点,人数)
6
研究会(研究会名,成立年份,地点,人数) 参加研究会(学号 ,研究会名 ,入会年份)
学生关系的基本函数依赖集:学号→(姓名,出生年月,系号,班号),系号→宿舍区
班级关系的基本函数依赖集:班号→(专业名,系号,人数,入校年份) 系关系的基本函数依赖集:系号→(系名,系办公室地点,人数) 研究会关系的基本函数依赖集:研究会名→(成立年份,地点,人数) 参加研究会关系的基本函数依赖集:(学号 ,研究会名)→入会年份
10.设有关系模式R(运动员编号,姓名,性别,班级,班主任,项目号,项目名,成绩)如果规定:每名运动员只能代表一个班级参加比赛,每个班级只能有一个班主任;每名运动员可参加多个项目,每个比赛项目也可由多名运动员参加;每个项目只能有一个项目名;每名运动员参加一个项目只能有一个成绩。根据上述语义,回答下列问题: (1)写出关系模式R的主关键字;
(2)分析R最高属于第几范式,说明理由。 (3)若R不是3NF,将其分解为3NF。
答:(1)关系模式R的主关键字是{运动员编号,项目号}。 (2)R最高属于第一范式。
因为存在着姓名,性别,班级和项目名对主关键字{运动员编号,项目号}的部分函数依赖,没有达到2NF。
(3)首先分解为2NF:R1(运动员编号,姓名,性别,班级,班主任),R2(项目号,项目名),R3(运动员编号,项目号,成绩)
因为R1存在班主任对运动员编号的传递函数依赖,所以没有达到3NF,再分解为3NF:R1分解为R1(运动员编号,姓名,性别,班级)和R4(班级,班主任) 11.设有关系模式:R(职工号,日期,日营业额,部门名,部门经理)
如果规定:每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个经理。
(1)根据上述规定,写出模式R主关键字。 (2)分析R最高属于第几范式,说明理由。 (3)若R不是3NF,将其分解为3NF。
答:(1)关系模式R的主关键字是(职工号,日期)。 (2)R最高属于第一范式。
因为存在着部门名对主关键字(职工号,日期)的部分函数依赖,没有达到2NF。 (3)首先分解为2NF:R1(职工号,部门名,部门经理),R2(职工号,日期,日营业额)
因为R1存在部门经理对职工号的传递函数依赖,所以没有达到3NF,再分解为3NF:R1分解为R1(职工号,部门名)和R3(部门名,部门经理)
第3章 习题
7
1.简述数据库设计过程。
答:数据库设计可分为以下六个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、数据库实施阶段以及数据库运行和维护阶段。 2.简述数据库设计过程的各个阶段上的设计任务。
答:需求分析的任务是通过详细调查现实世界要处理的对象(组织、 部门、 企业等), 充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
概念设计阶段要做的工作不是直接将需求分析得到的数据存储格式转换为DBMS能处理的数据库模式,而是将需求分析得到的用户需求抽象为反映用户观点的概念模型。
逻辑设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式。该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。
将逻辑设计中产生的数据库逻辑模型结合指定的DBMS,设计出最适合应用环境的物理结构的过程,称为数据库的物理结构设计。
根据逻辑和物理设计的结果,在计算机上建立起实际的数据库结构,并装入数据,进行试运行和评价的过程,叫做数据库的实施(或实现)。
维护工作包括以下内容:数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监督、分析和改造;数据库的重组织和重构造。 3.简述数据库设计的概念。
答:数据库设计是对于给定的应用环境,在关系数据库理论的指导下,构造最优的数据库模式,在数据库管理系统上建立数据库及其应用系统,使之能有效地存储数据,满足用户的各种需求的过程。
4.简述数据库概念结构设计的方法和设计步骤。
答:方法:(1) 自顶向下法 (2) 自底向上法 (3) 逐步扩张法 (4) 混合策略
在概念结构设计时,可以分为两步。进行数据抽象,设计局部E-R模型,即设计用户视图;集成各局部E-R模型,形成全局E-R模型,即视图的集成。 5.什么是数据库的逻辑结构设计? 试述其设计步骤。
答:逻辑设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式。该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。
其逻辑结构设计阶段一般要分为三步进行:将E-R图转化为关系数据模型,关系模式的优化,设计用户外模式。
6.简述把E-R图转换为关系模型的转换规则。
答:一个实体转化为一个关系模式。实体的属性就是该关系模式的属性。实体的主码就是该关系模式的主码。
两实体间1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
两实体间1:N 联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。
8
同一实体间的1:N联系可在这个实体所对应的关系模式中多设一个属性,用来作为与该实体相联系的另一个实体的主码。
两实体间M:N联系,必须为联系产生一个新的关系模式。该关系模式中至少包含被它所联系的双方实体的主码,若联系中有属性,也要并入该关系模式中。
同一实体间M:N联系,必须为联系产生一个新的关系模式。该关系模式中至少包含被它所联系的双方实体的主码,若联系有属性,也要并入该关系模式中。由于这个“联系”只涉及一个实体,所以加入的实体的主码不能相同。
两个以上实体集之间M:N的联系,必须为联系产生一个新的关系模式,该关系模式中至少包含被它所联系的所有实体的主码,若联系有属性,也要并入该关系模式中。 7.将图1学生信息数据库系统的E-R图转换为关系模型。
课程名 学分 学号 姓名 课程 M 选修 N 学生 属于 1 班级 课程号 成绩 性别 年龄 班级名 班主任 图1 习题7图
答:课程(课程号,课程名,学分)
学生(学号,姓名,性别,年龄,班级名) 班级(班级名,班主任) 选修(学号,课程号,成绩)
8.一个设备销售管理系统中有如下信息: 设备:设备编号、设备名称、型号规格、数量 部门:部门编号、部门名称、部门经理、电话 客户:客户编号、客户名称、地址、电话
其中:任何设备都可以销售给多个客户,每个客户购买一种设备都要登记购买数量;一个部门可以管理多种设备,一种设备仅由一个部门来调动管理。 根据以上情况,完成如下设计: (1)设计系统的E-R图;
(2)将E-R图转换为关系模式,标出每个关系模式的主码。 答:(1)E-R图 设备编号 部门编号 客户名称 设备名称 客户编号 电话
M 管理 1 部门 客户 M 购买 N 设备 地址 地址
电话 购买数量 数量 型号规格 部门名称 9
(2)关系模式
设备(设备编号,设备名称,型号规格,数量)
部门(部门编号,部门名称,部门经理,电话,设备编号) 客户(客户编号,客户名称,地址,电话)
购买情况(客户编号,设备编号,购买数量) 9. 某电子商务网站要求提供下述服务:
可随时查询库存中现有物品的名称、数量和单价,所有物品均应由物品编号唯一标识;可随时查询顾客订货情况,包括顾客号、顾客名、所订物品编号、订购数量、联系方式、交货地点,所有顾客编号不重复;当需要时,可通过数据库中保存的供应商名称、电话、邮编与地址信息向相应供应商订货,一个编号货物只由1个供应商供货。 根据以上要求,完成如下任务: (1)根据语义设计出E-R模型;
(2)将该E-R模型转换为一组等价的关系模式,并标出各关系模式的主码。 答:(1)E-R图
物品编号 邮编 顾客编号 物品名称
电话 顾客名 M 供应 1 供应商 顾客 M 订购 N 物品
地址 联系方式 交货地点 供应商名称 数量 单价 订购数量 (2)关系模式
顾客(顾客编号,顾客名,联系方式)
物品(物品编号,物品名称,数量,单价,供应商名称) 供应商(供应商名称,地址,电话,邮编)
订购情况(顾客编号,物品编号,订购数量,交货地点)
10. 根据转换规则,将第2章习题第11题中E-R模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在)。 关系模式:
仓库(仓库号,仓库面积)
零件(零件号,零件名,规格,单价) 供应商(供应商号,供应商名,地址) 保管员(职工号,姓名,仓库号) 库存(仓库号,零件号,库存量)
10