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

news2025/2/27 22:59:17

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.coloradmin.cn/o/2257900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Socket编程-tcp

1. 前言 在tcp套接字编程这里,我们将完成两份代码,一份是基于tcp实现普通的对话,另一份加上业务,client输入要执行的命令,server将执行结果返回给client 2. tcp_echo_server 与udp类似,前两步&#xff1…

NRBO-BiTCN时序预测 | Matlab基于NRBO-BiTCN牛顿拉夫逊算法优化双向时间卷积网络时间序列预测

NRBO-BiTCN时序预测 | Matlab基于NRBO-BiTCN牛顿拉夫逊算法优化双向时间卷积网络时间序列预测 目录 NRBO-BiTCN时序预测 | Matlab基于NRBO-BiTCN牛顿拉夫逊算法优化双向时间卷积网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab基于NRBO-BiTCN时序…

基于大数据爬+数据可视化的民族服饰数据分析系统设计和实现(源码+论文+部署讲解等)

博主介绍:CSDN毕设辅导第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围…

Bean的注入、单例和多例

目录 注入Bean对象 属性注入 构造注入 属性注入专题 注入集合/数组 级联简单类型赋值 Bean的单例和多例 注入Bean对象 简单类型使用value(除Date),非简单类型使用ref 属性注入 name规则:必须提供set方法,去掉set,第一个字…

【Ubuntu】清理、压缩VirtualBox磁盘空间大小

1、说明 本人为虚拟机创建了两个硬盘:root.vdi 和 hoom.vdi,在创建虚拟机时,分别挂载在/root目录和/home目录下。 下面演示分别清理、压缩两个磁盘的空间。 2、清理空间 1)清理 root.vid sudo dd if=/dev/zero of=/EMPTY bs=1M;sudo rm -f /EMPTY输出信息中会提示,如…

计算生成报价单小程序系统开发方案

计算生成报价单小程序报价系统,是根据商品品牌、类型、型号、规格、芯数、特性、颜色、分类进行选择不同的参数进行生成报价单,要求报价单支持生成图片、pdf、excel表格。 计算生成报价单小程序系统的主要功能模块有: 1、在线生成报价单&…

Git基础操作快速入门

Git是一个免费开源分布式版本控制工具,是由Linux的作者Linus开发的第二个伟大作品。2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了 目前使用Git作为版本控制的开源软件&#…

Android APP跳转到另一个APP

1. Android APP跳转到另一个APP 从当前APP去全新启动另外一个目标APP(非覆盖同一个进程) 1.1. 启动另外一个目标APP(非覆盖原来APP的方式) (1)当前APP加入获取权限声明:(不加入权限…

云服务的flow流水线中项目配置与运行的错误解决

在阿里云的 **Flow** 流水线中,遇到 "codeup服务连接已失效" 错误通常是由于 **阿里云 Codeup**(阿里云的 Git 仓库服务)与流水线之间的连接中断导致的。这种问题一般可以通过以下几个步骤来解决: ### 1. **检查 Codeu…

PHP富文本编辑器eWebEditor实战指南

本文还有配套的精品资源,点击获取 简介:eWebEditor是一个基于PHP的开源在线文本编辑器,提供类似Word的用户界面,简化了网页文本的创建和编辑过程。它广泛适用于博客、论坛、CMS等平台的内容管理,具备富文本编辑、表格…

flink yarn模式3种提交任务方式

接上文:一文说清flink从编码到部署上线 1.引言 Apache Hadoop的Yarn是许多数据处理框架中非常流行的资源提供者。Flink的服务提交给Yarn的ResourceManager后,ResourceManager会在由Yarn的NodeManager管理的机器上动态分配运行容器。Flink在这些容器上部…

【JAVA高级篇教学】第三篇:Redisson作用简介

Redisson 是一个强大的 Redis 客户端,不仅可以实现限流和分布式锁,还提供了许多其他分布式工具和功能,涵盖数据结构、同步控制、消息队列等多个方面。以下是 Redisson 的主要作用和使用场景: 目录 1. 分布式数据结构 支持的数据…

springboot413福泰轴承股份有限公司进销存系统(论文+源码)_kaic

摘 要 使用旧方法对福泰轴承股份有限公司进销存系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在福泰轴承股份有限公司进销存系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不…

Linux部署oceanbase

一、源码部署 1. 下载官网安装包 https://www.oceanbase.com/softwarecenter 2. 上传安装包并解压缩 #在/home目录下创建oceanbase文件夹 mkdir oceanbase cd oceanbase/ tar -xzf oceanbase-all-in-one-4.2.1_bp10_20241122.el7.x86_64.tar.gz 3. 安装 cd oceanbase-all-in…

分布式 分布式事务 总结

前言 相关系列 《分布式 & 目录》《分布式 & 分布式事务 & 总结》《分布式 & 分布式事务 & 问题》 分布式事务 所谓分布式事务是指操作范围笼罩多个不同节点的事务。例如对于订单节点&库存节点而言,一次完整的交易需要同时调动两个节…

【蓝桥杯每日一题】重新排序

重新排序 2024-12-8 蓝桥杯每日一题 重新排序 前缀和 差分 题目大意 给定一个数组 A 和一些查询 L i , R i Li_,R_i Li,​Ri​, 求数组中第 L i L_i Li​至第 R i R_i Ri​个元素之和。 小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查 询结果的和尽可能…

jupyterlab 增加多个kernel,正确做法

1、背景 需要增加一个kernel然后相当于隔离一个环境 juypterlab Version 3.0.14 2、用conda 安装 例如,你在conda下有一个python 3.12 的环境 py312 ipython kernel install --user --namepy312 如果保持的话,用pip安装相应的包就好 3、检查是否配置好 …

uni-app 组成和跨端原理 【跨端开发系列】

🔗 uniapp 跨端开发系列文章:🎀🎀🎀 uni-app 组成和跨端原理 【跨端开发系列】 uni-app 各端差异注意事项 【跨端开发系列】uni-app 离线本地存储方案 【跨端开发系列】uni-app UI库、框架、组件选型指南 【跨端开…

KV Shifting Attention Enhances Language Modeling

基本信息 📝 原文链接: https://arxiv.org/abs/2411.19574👥 作者: Mingyu Xu, Wei Cheng, Bingning Wang, Weipeng Chen🏷️ 关键词: KV shifting attention, induction heads, language modeling📚 分类: 机器学习, 自然语言处…

算法-字符串-72.编辑距离

一、题目 二、思路解析 1.思路&#xff1a; 最少操作数——动态数组 res[i][j]:长度为i的字符串转化为长度为j字符串的最少操作 2.常用方法&#xff1a; 无 3.核心逻辑&#xff1a; 1.情况一&#xff1a;当word1为空&#xff0c;word2不为空时 for(int i0;i<size2;i){res[0…