数据库设计与应用题 --数据库技术

1、假定我们要为社交平台建立数据库,存储信息如下

每个用户有:用户编号、姓名、手机号
每个群有:编号、群名称
每个帖子有:帖子编号、发帖时间、正文
每个群有唯一的用户作为群主,一个用户可以担任多个群的群主
每个帖子只属于一个群,每个帖子有唯一的发布者,每个群可以有多个帖子,每个用户可以发布多个多个帖子
其中带下划线为实体的标识属性。(CSDN的Markdown中不支持下划线,暂且用加粗代替)

(1)请根据以上描述,画出相应的ER图
(2)将上面的ER图转换为满足3NF的关系模式

(1)根据题意,作出ER图如下:
在这里插入图片描述
(2)题目要求满足3NF范式要求,ER图向关系模式转换采用的方法之一是,转换后的关系模式名称采用实体名或者联系名。本题中有三个一对多,一个多对多联系。对于一对多联系,都与多端实体的关系模式合并,即:将一端关系的码和和联系的属性加入到多端的实体的关系模式,码不变。对于多对多联系,只能单独转换成新的关系模式,转换后的关系模式的属性由联系本身的属性及两个实体的主码构成,转换后的关系模式的主码由两端实体的主码组合而成。转换后的关系模式如下:

用户(用户编号,姓名,手机号)主码:用户编号
群(群编号,名称,群主编号)主码:群编号,外码:群主编号
帖子(帖子编号,发帖时间,正文,发帖用户编号,所属群编号)主码:帖子编号,外码:发帖用户编号、所属群编号
用户所属群(用户编号,群编号)主码:用户编号、群编号,外码:用户编号、群编号
2、假定我们要建立一个航空数据库,存储信息如下:

每个机场有:机场编号、所在城市
每个航班有:航班编号、起飞时间、飞行时间
飞机有:飞机编号、型号、载客人数
飞行员有:飞行员编号、姓名
每个航班有多唯一的起飞和降落机场,每个机场会有多个航班起降
每个机场可以飞行多个航班,一个航班可以由多架飞机执行飞行任务
每位飞行员可以驾驶一架飞机,每个飞机可以有多位驾驶员驾驶
其中加粗的属性是实体的标识属性。

(1)请根据以上描述,画出相应的ER图
(2)将上面的ER图转换为满足3NF的关系模式

(1)根据题意,作出ER图如下:
在这里插入图片描述

(2)题目要求满足3NF范式要求,ER图向关系模式转换采用的方法之一是,转换后的关系模式名称采用实体名或者联系名。本题中有三个一对多,一个多对多联系。对于一对多联系,都与多端实体的关系模式合并,即:将一端关系的码和和联系的属性加入到多端的实体的关系模式,码不变。对于多对多联系,只能单独转换成新的关系模式,转换后的关系模式的属性由联系本身的属性及两个实体的主码构成,转换后的关系模式的主码由两端实体的主码组合而成。转换后的关系模式如下:

机场(机场编号,所在城市)主码:机场编号
航班(航班编号,起飞时间,飞行时间,起飞机场编号,降落机场编号)主码:航班编号;外码:起飞机场编号,降落机场编号
飞机(飞机编号,飞机型号,载客人数)主码:飞机编号
飞行(航班编号,飞机编号)主码:航班编号,飞机编号;外码:航班编号,飞机编号
飞行员(飞行员编号,飞行员姓名,飞机编号)主码:飞行员编号;外码:飞机编号

猜你喜欢

转载自www.cnblogs.com/qikeyishu/p/10767583.html
今日推荐