当前位置: 首页 > news >正文

【数据库】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分)


http://www.mrgr.cn/news/79811.html

相关文章:

  • Ripro V5日主题 v8.3 开心授权版 wordpress主题虚拟资源下载站首选主题模板
  • 每天40分玩转Django:Django模型
  • AI实现葡萄叶片识别(基于深度学习的葡萄叶片识别)
  • WebRTC服务质量(01)- Qos概述
  • element-plus的el-tree的双向绑定
  • 在 Windows WSL 上部署 Ollama 和大语言模型:从镜像冗余问题看 Docker 最佳实践20241208
  • 数字图像处理考研考点(持续更新)
  • [大数据]Hudi
  • day2:nginx基础(未完待续)
  • 【0363】Postgres内核 从 XLogReaderState readBuf 解析 XLOG Record( 8 )
  • CCF-GESP 编程能力认证 C++ 七级 2024年9月份选择题详细解析
  • 十一、容器化 vs 虚拟化-Docker
  • openGauss开源数据库实战二十一
  • UnityShaderLab-实现溶解效果
  • MVC基础——市场管理系统(三)Clean Architecture
  • Python 处理多人多笔医保缴费异常退回业务
  • nginx 部署 ModSecurity3
  • Elasticsearch:使用阿里 infererence API 及 semantic text 进行向量搜索
  • 自然语言处理的未来愿景
  • python基础:(七)类
  • 基础暴力算法
  • C语言(指针练习)
  • MongoDB-ObjectID 生成器
  • python基础:(八)文件
  • 【html css选择器 五种方法,一篇看会】
  • R语言的数据结构-矩阵