【数据库】E-R模型、函数依赖、范式

2. 东方货运公司数据库的样本数据如下。

表名称:卡车

车号

货运站编号

类型

总行程

购入日期

1001

  501

  1

 59002.7

  11/06/2000

1002

  502

  2

 54523.8

  11/08/2000

1003

  501

  2

 32116.6

  09/29/2001

1004

  502

  2

 3256.9

  01/14/2002

 表名称:货运站

货运站编号

     地址

   电话

  经理

  501

北京市东城区花市大街111号

010—67301234

 何东海

  502

北京市海淀花园路101号

010—64248892

吴明君

 表名称:型号

类型

汽车型号

1

DJS130

2

DLS121

根据数据库的表结构和内容,求:

(1)指出每个表的主码和外码。如果没有外码,则写“无”。

表名称

主码

外码

卡车

车号

货运站编号,类型

货运站

货运站编号

型号

类型

(2) 卡车表存在实体完整性和参照完整性吗?请详细说明

实体完整性:在主码车号的这列中不存在空值(主码的属性不为空)

参照完整性:外码“货运站编号”这列中的值都是货运站表中“货运站编号”这列中的值,外码“类型”这列的值都是型号表中“型号”这列中的值

(取空值或等于被参照关系中某个元组的主码值)

(3)具体说明卡车表与运货站表之间存在着什么关系?

货运站表和卡车表----一对多,即每一个货运站可以有多辆车

如:货运站501有两辆车:车号为1001、1003;货运站502有两辆车:车号为1002和1004

(4)卡车表中包含多少个实体?

卡车表中包括4个实体,即每个表中每个元组(行)对应一个实体,每个实体就是一辆车

3. 数据模型分析,关系模型R(U,F)

U=ABCDEG,F={AD→E,AC→E,CB→G,BCD→AG,BD→A,AB→G,A→C}

(1)求此模型的最小函数依赖集。

(2)求出关系模式的候选码

BD


E、G只在F右部出现,不属于候选码

B、D只在F左部出现,一定存在于某候选码中

数据库~如何快速、准确选取候选码(候选键)?_候选键怎么找-CSDN博客

(3)此关系模型最高属于哪级范式

R中每一个非主属性完全函数依赖于R的候选码BD;但C,G够传递依赖于R的候选码BD

,也就是说,R满足2NF的要求,而不满足3NF的要求。

此关系模型最高属于2NF

(4)将此模型按照模式分解的要求分解为3NF

R1:U1=ABD      F1={BD→A}

R2:U2=BCG      F2={BC→G}

R3:U3=ACE     F3={A→C,A→E}

4. 在关系模式R(U,F)中,U=ABCDEF={A→C,AC→B,B→D,C→E,EC→B} 计算(EC)+ 

第一次:(1) x(0)=φ,x(1)=EC

(2) 由于X(0)≠AB,置X(0)=EC;

(3) 检查函数依赖,置X(1)=EC∪B=ECB

第二次: 置X(0)=ECB, 检查函数依赖,置X(1)=ECB∪D=ECBD

第三次: 置X(0)=ECBD, 检查函数依赖,X(1)=ECBD

第四次:x(0)=x(1),输出x(1)= (EC)+ =ECBD

5. 设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。

设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。

(1)试画出E-R图,并在图上注明属性、联系类型;

(2)将该E-R图转换为其对应的关系模型表示的数据库逻辑结构;

1. 现有如下关系模式:借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期),基本函数依赖集F={图书编号→(书名,作者名,出版社),读者编号→读者姓名,(图书编号,读者编号,借阅日期)→归还日期}

(1)读者编号是候选码吗?(2分)

不是

(2)写出该关系模式的主码。(2分)

(图书编号,读者编号,借阅日期)

(3)该关系模式中是否存在非主属性对码的部分函数依赖?如果存在,请写出一个。(2分)

存在

(图书编号,读者编号,借阅日期)→书名

(图书编号,读者编号,借阅日期)→作者名

(图书编号,读者编号,借阅日期)→出版社

(图书编号,读者编号,借阅日期)→读者姓名

(4)该关系模式满足第几范式?并说明理由。(4分)

1NF

因为存在非主属性对码的部分函数依赖

2.某工厂生产多种产品,每种产品由不同的零件组装而成,有的零件可用在不同的产品上。产品有产品号和产品名两个属性,零件有零件号和零件名两个属性。

根据语义设计E-R模型,并将E-R模型转换成关系模式,要求关系模式主码加下划线表示。(E-R模型4分,关系模型6分)

  1. 某医院病房计算机管理中需要如下信息:

科室:科名,科地址,科电话,医生姓名

病房:病房号,床位号,所属科室名

医生:姓名,职称,所属科室名,年龄,工作证号

病人:病历号,姓名,性别,诊断,主管医生,病房号

其中,一人科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。

(1)请根据上述规则设计此数据库的E-R模型,要求在E-R图中注明属性和联系的类型。

(2)将E-R模型转换成关系模型,并指出每个关系模式的主码。(6分)

现有一个未规范化的表,包含了项目、部件和已提供的数量信息。要求:

部件号

部件名

现有数量

项目代号

项目内容

项目负责人

已提供数量

205

CAM

30

12

AAA

01

10

20

BBB

02

15

210

COG

155

12

AAA

01

30

25

CCC

11

25

30

DDD

12

15

(1)写出基本函数依赖集,并找出候选码。(4分)

(2)判断最高达到第几范式,并说明理由。(2分)

存在部件名属性对候选码的部分函数依赖,因此最高达到1NF

(3)如果有必要,将其分解成3NF模式集。(6分)

设有如下两个事务:

T1:读B;A=B+1;写回A

T2:读A;B=A+1;写回B

(1)设A、B的初值均为2,若某一并发调度的执行结果为A=3、B=3,则该调度是否正确?为什么?(3分)

T1、T2的串行执行结果为A=3、B=4

T2、T1的串行执行结果为B=3、A=4

T1、T2并发执行的结果与任一串行执行结果均不相同,所以调度不正确

(2)利用封锁的方法给出一个可串行化调度,并给出执行结果。(3分)

最后结果为A=3、B=4,是可串行化的调度

T1

T2

SLOCK B

Y=B=2

XLOCK A

SLOCK A

A=Y+1

等待

写回A(=3)

等待

UNLOCK B

等待

UNLOCK A

等待

X=A=3

XLOCK B

B=X+1

写回B(=4)

UNLOCK A

UNLOCK B

某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每个职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。

(1)请根据上述规则设计此数据库的E-R模型,要求在E-R图中注明属性和联系的类型。(6分)

(2)将E-R模型转换成关系模型,并指出每个关系模式的主码。(6分)

设有关系模式R(运动员编号,比赛项目,成绩,比赛类别,比赛主管),如果规定:每个运动员每参加一个比赛项目,只有一个成绩;每个比赛项目只属于一个比赛类别;每个比赛类别只有一个比赛主管。试完成以下题目:

(1)写出关系模式R的基本函数依赖集,并找出候选码。(4分)

(2)判断R最高达到第几范式,并说明理由。(2分)

比赛类别属性部分函数依赖于候选码,故R为1NF

(3)如果有必要,将R分解成3NF模式集。(6分)

1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开 设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但 一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用, 要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是 哪个老师所教的。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 1、参考答案: 2、设某汽车运输公司数据库中有三个实体集。一是"车队"实体集,属性有车队号、车队 名等;二是"车辆"实体集,属性有牌照号、厂家、出厂日期等;三是"司机"实体集,属 性有司机编号、姓名、电话等。 车队与司机之间存在"聘用"联系,每个车队可聘用若干司机,但每个司机只能应聘于一 个车队,车队聘用司机有"聘用开始时间"和"聘期"两个属性; 车队与车辆之间存在"拥有"联系,每个车队可拥有若干车辆,但每辆车只能属于一个 车队; 司机与车辆之间存在着"使用"联系,司机使用车辆有"使用日期"和"公里数"两个属性 ,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 2、参考答案: (1)E-R图设计如下: (2)转换成的关系模型应具有4个关系模式: 车队(车队号,车队名) 车辆(车牌照号,厂家,生产日期,车队号) 司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期) 使用(司机编号,车辆号,使用日期,公里数) 3、设某商业集团数据库中有三个实体集。一是"仓库"实体集,属性有仓库号、仓库名和 地址等;二是"商店"实体集,属性有商店号、商店名、地址等;三是"商品"实体集,属 性有商品号、商品名、单价。 仓库与商品之间存在"库存"联系,每个仓库可存储若干种商品,每种商品存储在若干仓 库中,库存有个"库存量"、"存入日期"属性; 商店与商品之间存在着"销售"联系,每个商店可销售若干种商品,每种商品可在若干 商店里销售,每个商店销售一种商品有月份和月销售量两个属性; 仓库、商店、商品之间存在一个三元联系"供应",反应了把某个仓库中存储的商品供 应到某个商店,此联系有月份和月供应量两个属性。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 3、参考答案 (1)E-R图设计如下: (2)据转换规则, E-R图可转换成6个关系模式: 仓库(仓库号,仓库名,地址) 商品(商品号,商品名,单价) 商店(商店号,商店名,地址) 库存(仓库号,商品号,日期,库存量) 销售(商店号,商品号,月份,月销售量) 供应(仓库号,商店号,商品号,月份,月供应量) 4.设有关系模式 R(职工名,项目名,工资,部门名,部门经理) 如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理, 一个部门有多个项目;每个部门只有一个经理。 1. 试写出关系模式R的函数依赖和关键码。 2. 说明R不是2NF模式的理由,并把R分解成2NF模式集。 3. 进而把R分解成3NF模式集,并说明理由。 4、参考答案 R的基本函数依赖有三个: (职工名,项目名)(工资 项目名 (部门名 部门名 (部门经理 项目名 (部门经理 关键码为(职工名,项目名)。 根据 ,R中存在下列两个函数依赖: (职工名,项目名)( 项目名 ((部门名) (职工名,项目名)( 项目名 ((部门经理) 这两个函数依赖都是局部依赖,因此R不是2NF模式。 R应分解成两个模式: R1(项目名,部门名,部门经理) R2(职工名,项目名,工资) R1和R2都是2NF模式。 R2已是3NF模式,因为非主属性"工资"已经完全依赖主键"职工名,项目名" 在R1中,由于存在两个函数依赖: 项目名(部门名 部门名\(项目名 部门名(部门经理 即存在非主属性对主键的传递依赖,因此R1不是3NF模式。 对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经
(一)设某商业集团数据库有三个实体集。一是“商品”实体集,属性有商品号、商品名、 规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商” 实体集,属性有供应商编号、供应商名、地址等。 供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多 个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系, 每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计 划数。 (1)试画出 ER 图,并在图上注明属性、联系类型、实体标识符。 (2)将 ER 图转换成关系模型,并说明主键和外键。 (二) 设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车 队名等;二是“车辆”实体集,属性有车牌照号、厂家、出厂日期等;三是“司机”实体集, 属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可聘用若 干个司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在着 “使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可 被多个司机使用。 (1) 试画出 E-R 图,并在图上注明属性、联系类型; (2) 将 E-R 图转换成关系模式; (3) 指出每个关系模式的主键和外键(如果存在)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值