数据库系统概论课后题答案

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:34:21
第四版/高等教育出版社/王珊
第六章的课后习题 第9题或第10题随便回答一题 谢谢!最迟13号啊!

9 、图6.12表示一个公司各部门的层次结构
部门
┌——┬———————┐
│ │ │
职工 生产科研项目 办公室
│ │
职务 电话号码

工资历史 (图6.12)
对每个部门,数据库中包含部门号(唯一的)D#、预算费(BUGET)以及此部门领导人员的职工号E#(唯一的)信息
对每个部门,还存有关于部门的全部职工、生产与科研项目以及办公室的信息
职工信息包括:职工号,他所参加的生产与科研项目号(J#)、他所在办公室的电话号码(PHONE#)
生产科研项目包含:项目号(唯一的)、预算费
办公室信息包含:办公室房间号(唯一的)、面积
对每个职工,数据库有他曾担任过的职务以及担任某一职务时的工资历史
对每个办公室含此办公室中全部电话号码信息

请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系
提示:此题可分步完成,第一步先转换成一组1NF的关系,然后逐步转换为2NF,3NF……

10 在一个订货系统的数据库中,存有顾客,货物和订货单位的信息
每个顾客包含顾客号(唯一的)、收货地址(一个顾客可有几个地址)、赊购限额、余额以及折扣
每个订货单包含顾客号,收货地址,订货日期,订货细则(每个订货单有若干条),每条订货细则内容为货物号以及订货数量
每种货物包含货物号(唯一的),制造厂商,每个厂商的实际存货量,规定的最低存货量和货物描述
由于处理上的要求,每个订货单的每一订货细则中还应有一个未发货量(此值初始时为订货数量,随着发货将减为零)

为这些数据设计一个数据库,如前提那样,给出认为合理的数据依赖

9.答:(1)首先画出一些重的函数依赖,所有这些函数依赖都是根据习题的文字说明和语义假设导出。 语义假设如下:
1)一个职工不能同时成为多个部门的领导人; 2)一个职工不能同在在多个部门就职; 3) 一个职工不能同时参加多个生产项目;
4) 一个职工不能同时在两个不同的办公室办公; 5) 一个职工不能同时拥有两部或两部以上的电话;
AREA
DBUDGET
OFF#DEPT#MGR_EMP#
PHONE#EMP#PROJ#PBUDGET#

JOBTITLE
DATE
SALARY

6)一个生产项目不能同时分配给多个部门; 7)一个办公室不能同时分配给多个部门;
8)部门号、职工号、项目号、办公室号及电话号码是全局惟一的。 (2)先按照图5。12设计一组关系模式,它们都是属于INF的。 DEPT(DEPT#,DBUDGET,MGR_EMP#) PRIMARY KEY(DEPT#)
DEPT#和MGR_EMP#都是候选码,把DEPT#作为主码。
F={DEPT#→DBUDGET,DEPT#→MGR_EMP#,MGR_EMP#→DEPT#} EMPI(EMP#,DEPT#,PROJ#,OFF#,PHONE# PRIMARY KEY (EMP#)
F={EMP#→DEPT#,EMP#→PROJ#,EMP#→OFF#,EMP#→PHONE#,PHONE#→OFF#,OFF#→DEPT#,PROJ#→DEPT#} JOB(EMP#,JOBTITLE)
PRIMARY KEY(EMP#,JOBTITLE)
F={EMP#,JOBTITLE→EMP#,EMP#,JOBTITLE→JOBTITLE} SALHIST(EMP#,JOBTITLE,DATE,SALARY) PRIMARY KEY (EMP#,DATE)
F={EMP#,DATE→JOBTITLE,EMP#,DATE→SALARY} PROJ(PROJ#,DEPT#,PBUDGET) PRIMARY KEY (PROJ#)
F={PROJ#→DEPT#,PROJ#→PBUDGET} OF