哈工大 数据库作业 第7章

更新时间:2023-10-29 16:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第7章作业

1. 有一个工厂的情况如下:

该工厂有若干个部门,部门的信息有部门号、部门名称和部门地址;每个部门有若干个 职工,职工的信息有职工号、姓名和职务。每个职工加工若干种零件,每种零件可以由若干 个职工加工。零件的信息有关零件号、零件名称和零件规格。每个职工加工每种零件有加工 日期和加工数量。

由于数据库的设计者没有关系数据库规范化理论的知识,设计出的关系模式如下: 职工(职工号,姓名,职务,部门号,部门名称,部门地址,零件号,零件名称,零件 规格,加工日期,加工数量)

请你如下列工作:

(1) 分析该关系模式的函数依赖和主码。

F={职工号→姓名,职工号→职务,职工号→部门号,职工号→部门名称,职工号→部门地址,(职工号,零件号)→加工日期,(职工号,零件号)→加工数量,部门号→部门名称,部门号→部门地址,零件号→零件名称,零件号→零件规格}。

主键:(职工号,零件号)

(2) 该关系模式属于第几范式。

该关系模式中每一个属性都不可再分割,满足第一范式要求。

存在非主属性对主键部分依赖(职工号→职务),不满足第二范式要求。 因此该关系模式属于第一范式。

(3) 分析该关系,将其化为3NF。 先拆成3个表。

职工(职工号,姓名,职务,部门号,部门名称,部门地址) 零件(零件号,零件名称,零件规格)

加工记录(职工号,零件号,加工日期,加工数量)

三个表都不存在非主属性对主键部分依赖,满足第二范式要求。 其中职工表还存在传递函数依赖(职工号→部门,部门→部门名称) 因此将职工拆成2个表。

职工(职工号,姓名,职务,部门号) 部门(部门号,部门名称,部门地址)

这样4个表都满足第三范式要求:

职工(职工号,姓名,职务,部门号) 部门(部门号,部门名称,部门地址) 零件(零件号,零件名称,零件规格)

加工记录(职工号,零件号,加工日期,加工数量)

(4) 整理该关系模型(关系模式的集合),使之更合理。 职工: 职工号 加工记录: 职工号 零件号 加工日期 加工数量 零件: 零件号 零件名称 零件规格 部门: 部门号 部门名称 部门地址 姓名 职务 部门号

2. 一个飞机订票表,内容如下: 身份证号 乘客姓名 航班号 A8116 B1902 C3028 C1273 B1902 C1273 B3486 C1273 起点 哈尔滨 长春 青岛 沈阳 长春 沈阳 天津 沈阳 终点 广州 上海 南京 哈尔滨 上海 哈尔滨 桂林 哈尔滨 日期 星期一 星期三 星期六 星期四 星期日 星期二 星期二 星期三 票价 2250 1280 980 680 1280 680 1600 680 230203650123041 李 明 230105620112022 刘 芳 250812590618035 王伟东 180203490120033 马丽娜 260105760426047 王丹丹 260105760426047 王丹丹 180203490120033 马丽娜 230203650123041 李 明 (1) 将该表设计成一个单一的关系模式。

订票(身份证号,乘客姓名,航班号,起点,终点,日期,票价)

(2) 分析该关系模式,指出其码、函数依赖(完全依赖、部分依赖和传递依赖)。 F={身份证号→乘客姓名,航班号→起点,航班号→终点,航班号→票价,(身份证号,日期)→航班号,(身份证号,日期)→起点,(身份证号,日期)→终点,(身份证号,日期)→票价}。

主键:(身份证号,日期)。

加粗的为部分依赖,带下划线的为完全依赖。(身份证号,日期)→航班号,航班号→起点,航班号→终点,航班号→票价都为传递依赖。

(3) 说明该关系属于第几范式。

该关系模式中每一个属性都不可再分割,满足第一范式要求。

存在非主属性对主键部分依赖(身份证号→乘客姓名),不满足第二范式要求。 因此该关系属于第一范式。

(4) 进行模式分解,将其规范化为 3NF 关系模式。 身份证(身份证号,乘客姓名) 航班(航班号,起点,终点,票价) 订票记录(身份证号,日期,航班号)

本文来源:https://www.bwwdw.com/article/tnm2.html

Top