3NF 分解主要是看是否有传递依赖,而且你说的部分依赖应该是指部分函数依赖于码吧。
这里首先要找出模式的码:(工号)
因此从函数依赖可以看出(工号→职位,职位→薪酬)存在传递依赖于码的问题,此时分解为3NF就是消除传递依赖
员工(工号,部门编号,姓名,性别,职位)
职薪(职位,薪酬)
er图的联系转化为关系模式时,一般不需要进行3NF分解,除非ER图设计得有问题
ER/Studio生成数据库设计文档
用ER/Studio生成数据库设计文档之前,至少应该完成数据库的逻辑模型(Logical Model),如果有需要,再进一步可以生成物理模型(Physical Model)。之后,就可以通过导出报告(Generate Reports)来生成数据库设计文档了,步骤如下:
1、导出报告(Generate Reports)
2、设置导出报告的格式、路径、名称等
在d出的ER/Studio Report Wizard对话框中,Page 1 of 4,设置设置导出报告的格式、路径、名称。
首先选择导出的报告类型,即图中步骤1。由于通常数据库设计文档需要查看方便、最好可编辑,所以选择后面的RTF格式。而选择HTML report会生成htm格式的文件,此处就不细讲了。
接着分别设置文件生成路径、生成文件的名称,分别为图中2和3。
可以设计3个表
1 staff(fullname,no,uk address ,email, chinesemobile number,gender,staff number,visa expdate,flight number,book cinfirmation)
2 flight(flight number,arrival time,take off time, remaks,limo number)
3 hotel(arrival date,depature date,romm number,book confirmation,number of days)
er图是概念模型的形象表示,通过er图可以转换成逻辑模型,即具体的表;在概念模型和逻辑模型的转换过程中有一些原则应该遵守:1:er图中的一个实体型即矩形可以转化成一个表,表的名字为实体型的名字,属性为er图的属性。2:如果联系为1:N的情况,联系不用转换成表,将1端实体型的码加入N端实体所对应的表中。
ER图是属于概念模型它与具体的DBMS无关。
从你的截图上来看,截图里的所说的数据库模型图是不准确的,正确的是ER模型转换为关系模型。
因为ER图是属于概念设计阶段,它的下一阶段就是转换成关系模型,也就说与具体的DBMS有关。
下面是数据库设计的常见四阶段:
第一阶段:用户需求分析;
第二阶段:概念设计(即E-R模型);
与具体的DBMS无关
第三阶段:关系模型;
与具体的DBMS有关
第四阶段:物理模式。
你看下下边的例子,你的问题就可以解决了。
设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1) 试画出ER图,并在图上注明属性、联系的类型。
图51
(2) 将ER图转换成关系模型,并注明主键和外键。
解:(1) ER图如图51所示。
(2)这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
联系不一定都转化成表
通常来说一对一联系不转化为表,而是在其中一个实体表中增加一个外键,一对多联系可以转化成表也可以不转化,具体就看你转化后的表是否有用,比如能提高查询效率,否则就是在多的那个实体上增加一个外键属性,多对多联系则需要转化成一个表,来包含两个实体的关联关系和属性
以上就是关于数据库,er图转化为关系模式,达到3NF全部的内容,包括:数据库,er图转化为关系模式,达到3NF、ERstudio8.0 生成的数据库少了一个表怎么办、E-R图与实际的数据库究竟是什么关系,外键什么的如何在er图中表现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)