关系数据库表间联系

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库技术基础数据库表间联系(二)局部到整体ER图设计数据库技术基础复习提问:1、什么是联系?2、二元实体间联系的类型?请举出例子3、用什么图来表示实体间的联系?这个图的三要素是什么?数据库技术基础课程要点局部到整体ER图设计强化ER图转化为关系模式表间联系的设计数据库技术基础局部到整体E-R图设计请画出产品、供应商的ER图请画出产品、类别间的ER图请画出供应商、类别间的ER图如何正确画出产品、供应商、类别间的ER图?数据库技术基础1N产品属于类别1N产品供应供应商MN类别供应供应商数据库技术基础局部到整体E-R图设计综合各部分的局部E-R模型,就可以得到系统的总体E-R模型。综合局部E-R模型的方法有两种:(1)多个局部E-R图一次合并。(2)多个局部E-R图逐步合并,用累加的方式一次综合两个E-R图。第1种方法比较复杂,第2中方法每次只综合两个E-R图,可降低难度。无论哪种方法,合并可分为两步:(1)合并,解决个局部E-R图之间的冲突问题,生成初步的E-R图。(2)修改和重构,消除不必要的冗余,生成基本E-R图。数据库技术基础1.消除冲突,合并局部E-R图各类局部应用不同,通常由不同的设计人员去设计E-R图,因此一个局部E-R图不可避免地会发生不一致,称之为冲突。冲突的类型有:(1)属性冲突属性域冲突,即属性值的类型、取值范围或取值集合不同。如年龄,可能用整数表示,也可以用出生年月表示。属性的取值单位冲突,如重量,可能用公斤、斤、克为单位。(2)结构冲突同一事物,不同的抽象。如学生,在一个应用中为实体,在另一个应用中可为属性。同一实体在不同的应用中属性组成不同,包括个数、次序。(3)命名冲突(实体名、属性名、联系名)同名异义,不同意义的事物具有相同的名称。异名同义,同一意义的食物具有不同的名称。数据库技术基础解决冲突的方法属性冲突和命名冲突可以通过协商解决,结构冲突则要认真分析后解决。如:要使同一事物具有相同的抽象,或把实体转换为属性,或把属性转换为实体。同一实体合并时的属性组成,通常采取把E-R图中的同名实体各属性合并起来,再调整。实体联系类型可根据语义进行综合或调整。数据库技术基础2.消除不必要的冗余在初步设计的E-R图中,可能存在冗余的数据或冗余的联系。冗余的数据是指可由基本数据得到的数据。冗余联系是由其他联系导出的。冗余的存在会破坏数据库的完整性,给数据库的维护增加困难。合并初步E-R图分E-R图可能存在冗余的数据和冗余的实体间联系基本E-R图消除不必要的冗余合并初步E-R图分E-R图可能存在冗余的数据和冗余的实体间联系基本E-R图消除不必要的冗余数据库技术基础M1类别属于产品供应商供应1N供应MNM1类别属于产品供应商供应1N数据库技术基础再分析雇员、客户、运货商、订单间的联系1雇员负责订单N运货商运输1N客户对应1N负责找1N负责找NN数据库技术基础1雇员负责订单N运货商运输1N客户对应1N数据库技术基础订单与产品间的ER图MN产品订单明细订单折扣单价数量数据库技术基础N11雇员负责订单N运货商运输1N客户对应1N类别属于产品供应商供应1N订单明细NM数据库技术基础表间联系是如何建立的?首先将产品、类别、供应商的ER图转化为关系模式。将E-R图转换为关系模型,一般遵循原则:(1)一个实体型转换为一个关系模式。(2)一个m:n联系转换为一个关系模式,联系名作为对应的关系名,关系的主键即为两个实体的主键联合起来做复合主键,联系的属性即为关系的属性。(3)一个1:n联系可以与n端对应的关系模式合并,即1端加入n端的主键属性作为其外键,联系的属性也放入1端。(4)一个1:1联系可以可以与任意一端对应的关系模式合并,一端加入另一端的主键属性和联系本身的属性。数据库技术基础第1步将各个实体转换为关系模式:产品(产品ID(PK),产品名称,单价,单位数量,库存量,订购量)类别(类别ID(PK),类别名称,说明)供应商(供应商ID(PK),公司名称,联系人姓名,城市)第2步将产品和类别之间的联系转换为关系模式由于产品和类别之间是多对1联系,因此将类别实体的主键放到产品实体中做为其外键。产品(产品ID(PK),产品名称,单价,单位数量,库存量,订购量,类别ID(FK))类别(类别ID(PK),类别名称,说明)数据库技术基础第3步将产品和供应商之间的联系转换为关系模式产品(产品ID(PK),产品名称,单价,单位数量,库存量,订购量,类别ID(FK),供应商ID(FK))供应商(供应商ID(PK),公司名称,联系人姓名,城市)最终的关系模式为:产品(产品ID(PK),产品名称,单价,单位数量,库存量,订购量,类别ID(FK),供应商ID(FK))供应商(供应商ID(PK),公司名称,联系人姓名,城市)类别(类别ID(PK),类别名称,说明)数据库技术基础练习:将订单、客户、雇员、运货商间的联系转化为关系模式:1雇员负责订单N运货商运输1N客户对应1N雇员(雇员ID,雇员姓名)订单(订单ID,订购日期)客户(客户ID,客户姓名)运货商(运货商ID,运货商名称)数据库技术基础订单(订单ID(PK),订购日期,发货日期,到货日期,货主名称,货主城市,货主地址,货主地区,雇员ID(FK),客户ID(FK),运货商ID(FK))雇员(雇员ID(PK),姓名,职务,出生日期,出生日期,地址,城市,地区,邮政编码,国家,电话,照片,备注,上级)运货商(运货商ID(PK),公司名称,电话)客户(客户ID(PK),公司名称,联系人姓名,联系人职务,地址,城市,地区,邮政编码,国家,电话,传真)数据库技术基础将产品、订单间联系进行转化:产品(产品ID(PK),产品名称,单价,单位数量,库存量,订购量)订单(订单ID(PK),订购日期,发货日期,到货日期,货主名称,货主城市,货主地址,货主地区)订单明细(产品ID(FK),订单ID(FK),折扣,数量,单价)MN产品订单明细订单折扣单价数量数据库技术基础因此,罗斯文数据库的最终的关系模式为:产品(产品ID(PK),产品名称,单价,单位数量,库存量,订购量,类别ID(FK),供应商ID(FK))供应商(供应商ID(PK),公司名称,联系人姓名,城市)类别(类别ID(PK),类别名称,说明)订单明细(产品ID(FK),订单ID(FK),折扣,数量,单价)订单(订单ID(PK),订购日期,发货日期,到货日期,货主名称,货主城市,货主地址,货主地区,雇员ID(FK),客户ID(FK),运货商ID(FK))雇员(雇员ID(PK),姓名,职务,出生日期,出生日期,地址,城市,地区,邮政编码,国家,电话,照片,备注,上级)运货商(运货商ID(PK),公司名称,电话)客户(客户ID(PK),公司名称,联系人姓名,联系人职务,地址,城市,地区,邮政编码,国家,电话,传真)数据库技术基础根据以上的关系模式,使用表设计器设计出产品、类别、供应商表。建立表间联系。教师演示讲解数据库技术基础练习:根据以上的关系模式,使用表设计器设计出订单、客户、雇员、运货商表。建立表间联系。建立罗斯文数据库表间联系。数据库技术基础巩固:某超市公司下属有若干个连锁商店,每个商店经营若干商品,每个商店有若干职工,但每个职工只能在一个商店工作。设实体“商店”的属性有:商店编号,店名,店址,店经理。实体“商品”的属性有:商品编号,商品名,单价,产地。实体“职工”的属性有:职工编号,职工名,性别,工资。试画出反映商店,商品,职工实体及其联系类型的E-R图,要求在联系中反映出职工参加某个商店工作的起止时间、商店销售商品的月销售量,并将你设计的E-R图转换为相应的关系模式。数据库技术基础商店商品职工工作经营nm1n数据库技术基础商店(商店编号,店名,店址,店经理)商品(商品编号,商品名,单价,产地)职工(职工编号,职工名,性别,工资)工作(开始时间,结束时间)经营(月销售量)数据库技术基础关系模式商店(商店编号,店名,店址,店经理)商品(商品编号,商品名,单价,产地)职工(职工编号,职工名,性别,工资,开始时间,结束时间)经营(商店编号(fk),商品编号(fk),月销售量)

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功