实验1:用E-R图设计数据库
一、目的与要求
1、熟悉E-R模型的基本概念和图形的表示方法。
2、掌握将现实世界的事物转化成E-R图的基本技巧。
3、熟悉关系数据模型的基本概念。
4、掌握将E-R图转化成关系表的基本技巧。
二、实验内容
1、根据要求确定实体、属性和联系。
2、将实体、属性和联系转化为E-R图。
3、将E-R图转化为关系模式。
三、实验步骤
1、设计能够表示出班级与学生关系的数据库。
①确定班级实体和学生实体的属性。
班级:班级号、名称
学生:学号、姓名
②确定班级和学生之间的联系,给联系命名并指出联系的类型。
联系名称:属于;联系类型:1对多
③确定联系本身的属性。
无。
④画出班级与学生关系的E-R图。
⑤将E-R图转化为表,写出表的关系模式并标明各自的主码或外码。
班级(班级号,名称)
学生(学号,姓名)
属于(班级号,学号)
2、设计能够表示出顾客与商品关系的数据库。
①确定顾客实体和商品实体的属性。
顾客:姓名、联系方式
商品:名称、价格
②确定顾客和商品之间的联系,给联系命名并指出联系的类型。
联系名称:购买;联系类型:多对多
③确定联系本身的属性。
无
④画出顾客与商品关系的E-R图。
⑤将E-R图转化为表,写出表的关系模式并标明各自的主码或外码。
顾客(姓名,联系方式)
商品(价格,名称)
购买(价格,联系方式)
3、设计能够表示出房地产交易中客户,业务员和合同三者之间关系的数据库。
①确定客户实体,业务员实体和合同实体的属性。
客户:姓名、联系方式
业务员:姓名、编号
合同:类型、名称
②确定客户,业务员和合同三者之间的联系,给联系命名并指出联系的类型。
联系名称:接待、签订
联系类型:1对多、1对1
③确定联系本身的属性。(接待)(签订)
接待,签订
④画出客户,业务员和合同三者关系E-R图。
⑤将E-R图转化为表,写出表的关系模式并标明各自的主码或外码。
客户(联系方式,姓名)
业务员(编号,姓名)
合同(名称,类型)
第二篇:e-r图设计数据库
e-r图设计数据库
E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
·实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。
·属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。
·联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。
两个不同实体间的1:n关系
上图中表示的是一辆汽车与零件之间的1:n关系,一辆汽车由许多个零件构成。“汽车”这个实体具有型号、单价和牌号等属性,“零件”这个实体具有名称、单价和厂家等属性,“数量”是它们之间的关系“组成”的一个属性。
当然E-R图还可以表示1:1关系,例如夫妻关系以及姓名与学号间的关系等。
E-R图还可以表示m:n关系,例如教材中中讲的“学生”与“课程”之间通过“学习”联系,一个学生要学习多门课程,反之同一门课程有很多学生在学习。
在E-R图中,有时为了使其简洁明了,图中可以略去各属性,着重表示实体间的联系情况,而属性可以单独以表格形式单独列出。
4.E-R图的设计
E-R图的设计虽然没有一个绝对固定的方法,但一般来说应遵循以下两条基本原则:
(1)首先要针对每一个用户做出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。
[注意]
在设计E-R图时,能作为属性的就不要作为实体,这样有利于E-R图的简化。
(2)把每一个局部的E-R图综合起来,产生出总体的E-R图。
[注意]
在E-R图的综合的过程中,同名实体只能出现一次,还要去掉不必要的联系,这样才能消除冗余。
一般来说,从总体E-R图必须能导出原来所有局部E-R视图,包括所有的实体、属性和联系。
任何一个系统的E-R图都不是惟一的,强调的侧面不同,所作出的E-R图就可能差别很大。总体的E-R图所表示的实体联系模型,只能说明实体间的联系关系,还需要把它转换成数据模型才能被实际的DBMS所接受。
2.3.3 从E-R图导出关系模型
E-R图是现实世界各实体的具体反映,与数据库具体实现毫无关系,但它却是构造数据模型的主要依据。本章的重点也是难点是:正确地应用E-R图反映实体间联系并从E-R图中导出关系模型。
1.从E-R图中导出关系模型的原则
(1)对于E-R图中的每一个实体,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性(或哪几个属性组合)作为“主键”。键在关系模型中是实现联系的主要手段。
(2)对于E-R图中的联系,情况比较复杂,要根据实体联系的方式的不同,采取不同的手段加以实现。
2.从E-R图中导出关系模型
(1)两实体间1:n联系
对于两实体间1:n联系,导出关系模型的原则是:可以将“1”方实体的“主键”纳入“n”方实体对应的关系中作为“外部键”,同时把联系的属性也一并纳入“n”方对应的关系中。
(2)同一实体内部个体间1:n联系
对于同一实体集内部个体间的1:n联系,导出关系模型的原则是:可在这个实体所对应的关系中多设一个属性,用来作为与该实体相联系的另一个体的“主键”。
(3)两实体间m:n联系
对于两实体间的m:n联系,导出关系模型的原则是:必须对“联系”单独建立一个关系,用来联系双方实体;该关系的属性中至少要包括被它所联系的双方实体的“主键”,并且如果联系有属性,也要归入这个关系中。
(4)同一实体内部存在m:n的联系
如果同一实体内部存在m:n的联系,那么从E-R图导出关系模型的原则是“为这个联系单独建立一个关系;该关系中至少应包括被它所联系的双方实体的“主键”,如果联系有属性,也要归入这个关系中。
(5)两个以上实体间m:n多元联系
对于两个以上实体之间的m:n多元联系,从E-R图导出关系模型的原则是:必须为联系单独建立一个关系,该关系中最少应包括被它联系的各个实体的“主键”,若是联系有属性,也要归入这个关系中。
(6)两实体间1:1联系
对于两实体间1:1联系,只需在一个关系模型中增加另一个关系模型的主键,并可省略两实体间的联系模型。例如:书中所讲到的厂家与工厂的关系,可以省去“管理”这个模型,在“工厂”模型中加入属性“姓名”或在“厂长”模型中加入“工厂”的主键“厂号”,这样关系模型就形成了。