实行12 数据库E-R图计划

打印 上一主题 下一主题

主题 982|帖子 982|积分 2946


  • 实行目的

  • 练习E-R图数据库计划简化信息系统,小组完成数据库综合实行的E-R图和表计划。



  • 实行要求

  • 个人提交本次实行报告。
  • 综合实行的ER图由组长提交,但不评分,宣讲前都可以修改。(高评分标准之一是E-R图尽可能接近实用。)



  • 实行设备
盘算机、Powerpoint、Visio、navicat等绘图软件,不答应用手写。




  • 实行步调
1、注意事项:

1)、先完成实体的关系模型(表),确定实体的主码(尽量单列做主码)

2)、联系的转换:

①1:1的联系

联系合并到某个1端,并在该表中增加另一个实体的码(作为外码,不作为主属性!),以及添加联系自己的属性。

② 1:n的联系

合并到n端对应的表中,将1端的码添加到n端的表(作为外码,不作为主属性!),以及添加联系自己的属性。

③m:n的联系

必须增加一个新表,新表的码至少由联系两头实体的码组合而成,同时增加相干的联系属性(如偶然间等辅助标识唯一属性,一般应作为主属性)。

3)、课本P232,1:1,1:n联系时,把转换新的关系模式打叉,以后工作时除非很特殊的场景,都不要转换为新的表。ER图的计划固然理论上是最简关系,但关系型数据库的缺点之一就是表相对较多,多表查询可能时延较大,商用时还可能根据性能低落范式合表(只要业务模型能规避低范式的增删改问题即可)。

4)注意事项:取决于业务建模

 联系需要故意义,而不但是取值约束

 联系可能需要新增时间等主属性

 两个实体之间可能存在多种联系

 三元联系之外,依然可能存在两两间联系

 联系可以再与实体或联系产生联系

 通过编号规则可增加信息量,减少主属性

 偶然通过完整性约束(比如触发器)可约


  • 完成以下题目计划

  • 题目1: 
某医院病房信息系统中需要如下数据信息:
科室:科地址,科名(不重复),科电话
病房:床位数量,病房号
医生:姓名,职称,性别,工号
病人:姓名,病历号,性别
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治(简化,只考虑每人一次诊断),一个病人入住病房后(一个病房可能住多名病人)的主管医生只有一个。(注:题目意未形貌医生与病房的联系,请按题意作答。因此分组综合实行宣讲时,都必须讲E-R图的计划,天然语言形貌数据库计划轻易二义性。)
完成如下计划:
(1)计划该信息系统的E-R图;(20分)

(2)将该E-R图转换为关系模型布局,注明每个关系模式的主码(下划线)和外码(可用FK标注),是否满足BCNF。(10分)

科室( 科名, 科地址, 科电话)
病房( 病房号, 床位数量, FK科名)
医生( 工号, 姓名, 职称, 性别, FK科名)
病人( 病历号, 姓名, 性别, FK(工号, 病床号 ))

是否满足BCNF需要检查每个关系模式的函数依靠和候选码,
科室:科名 → 科地址, 科电话,满足BCNF
病房:病房号 → 床位数量, 科名,满足BCNF
医生:工号 → 姓名, 职称, 性别, 科名,满足BCNF
病人:病历号 → 姓名, 性别, 工号,满足BCNF
(3)假设病人可以看多个医生(同一个医生也可以看次),那么是否需要新建表?请仅写出该新建的表,其他不用写。标注主码(下划线)和外码(可用FK标注)。(10分)
需要新建一个表,如:
看病记录(看病记录ID, 诊断日期, FK(病历号, 工号))

  • 题目2:
某工厂信息系统需如下数据信息,团体有多个工厂,每间工厂可生产多种产品,且每种产品可以在多间工厂生产,每间工厂需记录生产产品的该月产量;每间工厂聘任多名职工,且每名职工只能在一间工厂工作,工厂聘任职工有聘期和工资。工厂的属性有厂名、工厂编号、地址,产品的属性有产品名、产品编号、规格,职工的属性有职工号、姓名。

(1)根据上述语义画出E-R图,要求画出属性;(15分)


(2)将该E-R模型转换为关系模型,指出每个关系模式的主码(下划线)和外码(可用FK标注),以及是否满足BCNF。(15分)


工厂( 工厂编号, 厂名, 地址)
产品( 产品编号, 产品名, 规格)
职工( 职工号, 姓名, 聘期, 工资, FK 工厂编号)
生产( 工厂编号, 产品编号, 该月产量)

工厂:工厂编号 → 厂名, 地址,满足BCNF
产品:产品编号 → 产品名, 规格,满足BCNF
职工:职工号 → 姓名, 工厂编号, 聘期, 工资,满足BCNF
生产:工厂编号, 产品编号, → 该月产量,满足BCNF


  • 题目3
某高校计划的数据库需计划如下属性列:


  • 首先课程号、准考证号均为唯一,请根据下表的列名确定对应属性列;(提示:唯一即能够标识一个实体,先读完题目,然后根据下表清除后的列名找出课程号、准考证号能唯一确定的列。此外,本题特意不用学号)
  • 讲堂号和考试时间(含日期时间)决定唯一的考场,每门课可以有多个考场(而一个考场在某考试时间只能考一门课);一人可以考多门课(差异学期可以考同一门课);
  • 缓考情况里比如缓考/休学需记录在该学期的该次选课里,结果为空;
请根据题干作答,其他语义不再赘述(题目并未给出很详细的信息,但可以按题意给出唯一参考答案。)
准考证号
姓名
讲堂号
考试时间
主监考工号
座位号
缓考情况

考试结果
课程号
课程名
学期
结果






缓考/休学/缺考…



2022-1


(1)请回答以上关系是否满足3NF?是否满足2NF?(5分)
由题目可知,准考证号、课程号都是唯一的,可以作为候选键。但是准考证号->姓名,课程号->课程名,这些属性与候选键有部分依靠关系。因此,该关系不满足2NF
​​​​​​​由题目可知,(准考证号课程号->(课程名)->(考试结果),而课程号又与考场有关系,存在传递依靠。因此,该关系也不满足3NF
(2)若不满足,请将其转化为符合3NF,表名自定,不要增删属性,注明主码(下划线)和外码(用FK标注)。(25分)提示:用E-R图头脑比列举函数依靠关系往往更直观,尤其商用需要形貌上百个属性时。


讲堂(讲堂号,考试时间,主监考号,FK课程号)
学生(准考证号,姓名,座位号,FK(讲堂号,考试时间))
课程(课程号,课程名)
评分(准考证号,课程号,缓考情况,结果,学期)

##答案不保证100%精确!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表