数据库设计(E-R图转换)
- 格式:ppt
- 大小:57.00 KB
- 文档页数:9
用E-R图设计数据库(概念结构设计和逻辑结构设计)
用E-R图设计数据库(概念结构设计和逻辑结构设计)
1. 实验目的
1) 熟悉E-R模型的基本概念和图形的表示方法。
(概念结构设计)
2) 掌握将现实世界的事物转化成E-R图的基本技巧。
3) 熟悉关系数据模型的基本概念。
4) 掌握将E-R图转化成关系模式的基本技巧。
(逻辑结构设计)
2. 实验内容
1) 根据需求确定实体,属性和联系。
2) 将实体,属性和联系转化为E-R图。
3) 将E-R图转化为关系模式。
3. 实验步骤和结果
1) 设计能够表示出班级与学生关系的数据库。
①确定班级实体和学生实体的属性。
②确定班级和学生之间的联系,给联系命名并指出联系的类型。
③确定联系本身的属性。
④画出班级与学生关系的E-R图。
⑤将E-R图转化为关系模式,写出关系模式并标明各自的主码或外码。
2) 设计能够表示出顾客与商品关系的数据库。
①确定顾客实体和商品实体的属性。
②确定顾客和商品之间的联系,给联系命名并指出联系的类型。
③确定联系本身的属性。
④画出顾客与商品关系的E-R图。
⑤将E-R图转化为关系模式,写出关系模式并标明各自的主码或外码。
注意:对由E-R图转换得到的关系模式进行分析,如果不合理,进一步对它进行规范化处理,得到最终的关系表。
4. 实验总结
实验中遇到的问题及解决情况,通过实验,掌握了什么。
数据库——数据库设计E-R图向关系模型的转换1、将下列物资管理E-R图转换为关系模式:转换原则⒈ ⼀个实体型转换为⼀个关系模式。
关系的属性:实体型的属性关系的码:实体型的码⒉ ⼀个m:n联系转换为⼀个关系模式(初步,以后可能调整)。
关系的属性:与该联系相连的各实体的码以及联系本⾝的属性关系的码:各实体型码的组合⒊ 1:n联系---与n端对应的关系模式合并在n端关系中加⼊1端关系的码和联系本⾝的属性⒋ ⼀个1:1联系,可以与任意⼀端对应的关系模式合并。
⒌ 3个或3个以上实体间的⼀个多元联系转换为⼀个关系模式。
关系的属性:与该多元联系相连的各实体的码以及联系本⾝的属性关系的码:各实体码的组合供应(供应商号,项⽬号,零件号,供应量)⒍ 同⼀实体集的实体间的联系,即⾃联系,也可按上述1:1、1:n和m:n三种情况分别处理。
⒎ 具有相同码的关系模式可合并。
⽬的:减少系统中的关系个数1.⼀个实体型转换为⼀个关系模式:供应商(供应商号,姓名,地址,电话号,账号)2.⼀个实体型转换为⼀个关系模式:项⽬(项⽬号,预算,开⼯⽇期)3.⼀个实体型转换为⼀个关系模式:零件(零件号,名称,规格,单价,描述)4. 3个或3个以上实体间的⼀个多元联系转换为⼀个关系模式。
供应(供应商号,项⽬号,零件号,供应量)5.⼀个实体型转换为⼀个关系模式:仓库(仓库号,⾯积,电话号)6. ⼀个实体型转换为⼀个关系模式。
1:n联系---与n端对应的关系模式合并。
(1:n⼯作联系)同⼀实体集的实体间的联系,即⾃联系,也可按上述1:1、1:n和m:n三种情况分别处理。
(职⼯与领导职⼯的⾃联系)职⼯(职⼯号,姓名,年龄,职称,仓库号,领导职⼯号)7. ⼀个m:n联系转换为⼀个关系模式。
库存(仓库号,零件号,库存量)2019/6/19更新后天考试,这⾥再给出两道课本样题1.学校中有若⼲系,每个系有若⼲班级和教研室,每个教研室有若⼲教员,其中有的教授和副教授每⼈各带若⼲研究⽣; 每个班有若⼲学⽣, 每个学⽣选修若⼲课程, 每门课可由若⼲学⽣选修。
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图的简化。
如何绘制E-R图并将其转换成关系数据模型E-R图是描述概念数据模型的主要工具,利用E-R图实现概念结构设计的方法叫做E-R方法;而概念设计是数据库设计的第一个阶段,所以E-R图是个极其重要的考点。
E-R图也称为实体-联系模型(E-----entity, R-----relation),由实体,属性,联系三个要素构成。
图形符号为:实体(长方形),属性(椭圆),联系(菱形)
绘制E-R图的方法:
1,绘制数据流程图
2,数据字典分析
3,确定局部E-R图:A,画出部分实体E-R图,
B,画出分E-R图,即实体之间的联系图:4,集成完整的E-R图,即全部实体之间的联系图
E-R图转换成关系模型的方法:
只要记住以下转换原则,即可:
(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码
(2)一个联系也转换为一个关系,联系的属性即联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:
1:1联系,两端实体的码都成为关系的候选码
1:多联系,端实体的码成为关系的码
多:多联系,两端实体码的组合成为关系的码
(3)具有相同码的关系可以合并。
简述e—r模型转换为关系模型的规则e-r模型转换为关系模型的规则包括以下几点:
1.实体转换:将e-r图中的每个实体转换为一个关系表,表的名字为实体的名称。
2.属性转换:将e-r图中的每个属性转换为一个表的属性,表的属性包括属性名称、数据类型、长度、是否可以为空、默认值等。
3.关系转换:将e-r图中的每个关系转换为一个表,表的名字为关系的名称或者描述。
4.主键定义:对于每个关系表,需要定义一个主键,以唯一标识表中的每个记录。
5.外键定义:当两个关系表之间存在关联时,需要在其中一个关系表中定义一个外键,以引用另一个关系表的主键。
6.索引定义:对于需要频繁查询的字段,在数据库中需要创建索引,以提高查询效率。
7.规范化:对于关系表中的冗余数据和多值依赖关系,需要进行规范化处理,以提高数据的一致性和减少数据冗余。
数据库设计(⼀)E-R图数据库设计定义: 指的是将应⽤中涉及的数据实体及这些数据实体之间的关系,进⾏规划和结构化的过程。
影响数据库系统效率的因素:数据库中创建的数据结构种类,以及在数据实体之间建⽴的关系好的设计:效率⾼,便于进⼀步扩展,使应⽤程序的开发变得容易糟糕的设计:效率低下,更新和检索数据时会出现许多问题。
⼀、设计的步骤:⼀般在项⽬开发需要经过:需求分析、概要设计、详细设计、代码编写、运⾏测试和部署上线这⼏个阶段,⽽数据设计在这⼏个阶段主要做的事,如下:(当然上线后有时也会出现改需求,动代码动数据库)//数据库设计时需要注意的需求分析阶段:分析客户业务和数据处理需求概要设计阶段:绘制数据库的E-R图,⽤于在项⽬团队内部、设计⼈员和客户之间的沟通,确认需求信息的正确性和完整性。
详细设计阶段:将E-R 图转换为多张表,进⾏逻辑设计,确认各表的主外键,并应⽤数据库设计的三⼤范式进⾏审核。
经项⽬开会讨论确定后,根据项⽬的技术实现、团队开发能⼒进⾏项⽬的成本预算,选择具体的数据库进⾏物理实现,之后就是开发应⽤程序注意:在需求分析阶段的重点是调查、收集并分析客户业务的数据需求、处理需求、安全性与完整性需求。
常⽤的需求调研⽅法:在客户的公司跟班实习、组织召开调查会、邀请专⼈介绍、设计调查表并请⽤户填写和查阅与业务相关的数据记录等。
常⽤的需求分析⽅法:调查客户的公司组织情况、各部门的业务需求情况、协助客户分析系统的各种业务需求和确定新系统的边界。
//在进⾏数据库系统分析时可参考的基本步骤1、收集信息:创建数据库之前,必须充分理解数据库需要完成的任务和功能,了解数据库需要存储哪些数据、实现哪些功能2、标识实体:收集信息后,标识数据库要管理的关键对象或实体。
(实体⼀般是名词,⼀个实体只描述⼀件事情,不能出现含义相同的实体,⽽且实体可以是有形的事物(如⼈或产品),也可以是⽆形的事物(如部门,时间))3、标识每个实体需要存储的详细信息:将数据库中的主要实体标⽰为表的候选实体以后,就要标识每个实体存储的详细信息,也称为该实体的属性,这些属性将组成表中列。
实验内容08 建模请使用visual studio建模或网络教学平台的建模工具建模。
1)根据现实世界的组织和工作过程将其转化成E-R图描述。
1.根据现实世界的组织和工作过程将其转换为E-R图描述。
其中一个员工属于一个部门,一个部门有多个员工;一个员工可以参加多个项目,一个项目可以有多个员工一起开发。
(1)你确定实体和实体的属性。
答:实体:员工,属性:员工号、姓名、性别、年龄、联系方式、参与项目、所属部门实体:部门,属性:部门名称、部门主管、联系电话、部门人数实体:项目,属性:项目名称、项目主管、参与人数、项目性质(2)确定员工和部门的联系、员工和项目之间的联系,给联系命名并指出联系的类型。
答:员工(表).所属部门和部门(表).部门名称,为所属,为一对多的联系。
员工(表).参与项目和项目(表).项目名称,为参与,为多对多的联系。
(3)确定联系本身的属性。
答:员工和部门为所属关系,员工和项目为参与关系。
(4)画出员工、部门、项目组成的E-R图。
2.将E-R图转换为关系表。
(1)将实体转换为关系表。
员工表:(3)写出表的关系模式并标注各自的主码和外码。
答:员工(员工号,姓名,性别,年龄,联系方式,参与项目,所属部门)外码:参与项目,所属部门部门(部门名称,部门主管,联系电话,部门人数)项目(项目名称,项目主管,参与人数,项目性质)(4)确定主要属性的约束条件。
答:员工的主属性为“员工号”约束为必须在所有员工号的集合之中。
部门的主属性为“部门名称”约束为必须在所有部门的集合之中。
项目的主属性为“项目名称”约束为必须在所有项目的集合之中。
3.设置关系表的模拟数据,视图转换的表不少于8条记录,联系转换的表不少于15条录。
员工表:项目表:4.设计对上述关系表的基本操作任务。
答:对员工表进行插入一个人员信息操作。
对员工表进行查询操作。
对部门表进行删除操作,删除一个元组。
对项目表进行删除操作。
问题思考:(1)将联系转化为一个关系表,将表的主键和外键相吻合就可以将两个表转化为一个关系表。
简述e-r模型转换为关系模型的转换规则E-R模型(实体-关系模型)和关系模型是数据库设计中两种不同的建模方法。
E-R模型的重点是实体、关系和属性,而关系模型的重点是表、字段和主键等。
将E-R模型转换为关系模型需要把ER 图中的实体、关系和属性转换为关系模型中的表、字段和主键。
下面介绍E-R模型转换为关系模型的转换规则。
1.实体转换为表E-R模型中的实体转换为关系模型中的表,实体的名称对应表的名称,属性对应表中的字段。
每个实体会对应一个表,并且表的主键将会对应实体的标识符。
2.属性转换为表的字段实体中属性的名称和类型都可以转换为表的字段名称和类型,并且属性所在的实体的标识符将成为表的主键。
比如,Person 实体有两个属性 name 和 age,那么就可以映射为 Person 表,其中 name 和 age 两个属性分别对应表中的 name 和 age 字段,Person 实体的标识符将映射为表的主键。
3.关系转换为表如果有两个实体之间的关系,那么就需要将关系转换为表,其中关系表的表名可以采用关联的两个实体的名称拼接而成,关系表的每一行对应一个实体之间的关系。
4.关系属性转换为字段如果关系具有属性,则需要将关系属性映射为关系表的字段。
比如,如果实体 A 和实体 B 之间有关系 R, R 具有属性 C,那么关系表 R 将有一个名为 C 的字段。
5.主键的确定在关系模型中,每个表都需要有一个主键,而在E-R模型中实体之间的关系也可以有主键。
主键的确定是要根据具体情况而定,如果关系表中只有两个实体关联,那么可以将两个实体的主键作为关系表的复合主键,如果关系表有额外属性,则需要使用一个独立的主键,该主键同时也可以使用两个实体的标识符的组合方式。
6.外键的确定如果在E-R图中,两个实体 A 和 B 之间有一个一对多的关系,那么在关系模型中表A 将拥有对表 B 的外键。
表 A 中包含了 B 表主键的引用,这样在A表中就可以引用B表中的数据。
E-R图转换关系模式E-R图转换关系模式ER模型转换关系数据库的⼀般规则:(1)将每⼀个实体类型转换成⼀个关系模式,实体的属性为关系模式的属性。
(2)对于⼆元联系,按各种情况处理,如下⾯所⽰。
⼆元关系ER图转换成的关系联系的处理主键外键1:1(2个关系)模式A模式B(有两种)处理⽅式(1):(1)把模式B的主键,联系的属性加⼊模式A处理⽅式(2):(2)把模式A的主键,联系的属性加⼊模式B(略)(依据联系的处理⽅式)⽅式(1):模式B的主键为模式A外键⽅式(2):表A的主键为表B的外键1:N (2个关系)模式A模式B把模式A的主键,联系的属性加⼊模式B(略)模式A的主键为模式B的外键M:N (3个关系)模式A模式B模式A-B联系类型转换成关系模式A-B;模式A-B的属性:(a)联系的属性(b)两端实体类型的主键两端实体类型的主键⼀起构成A-B主键两端实体类型的主键分别为模式A-B的外键M:N联系的⽰例⽐如,ER图如下:可以转换成以下模式:学⽣(学号,姓名,性别,年龄)主键为学号课程(课程号,课程名,任课教师)主键为课程号选课(学号,课程号,成绩)主键为课程号、学号,外键为课程号,学号;1:N联系的⽰例⽐如,ER图如下:可转换为如下关系模式:商店模式(商店编号,店名,店址,店经理)主键为商店编号商品模式(商品编号,商品名,单价,产地,商店编号,⽉销售量)主键为商品编号,外键为商店编号职⼯模式(职⼯编号,职⼯名,性别,⼯资,商店编号,开始时间)主键为职⼯编号,外键为商店编号。
E-R图向关系模型的转换学习目标:概念模型E-R图是各种数据模型的共同基础。
为了能够用某一数据库管理系统实现用户需求,还必须将概念模型进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。
逻辑结构设计的步骤如下。
(1)将概念模型转化为一般的关系、网状、层次模型。
(2)将转化来的关系、网状、层次模型向特定数据库管理系统数据库管理系统支持下的数据模型转换。
(3)对数据模型进行优化。
下面讲述E-R图向关系模型的转换。
一、转换内容E-R图由实体、实体的属性和实体之间的联系三个要素组成,关系模型的逻辑结构是一组关系模式的集合。
将E-R图转换为关系模型就是将实体、实体的属性和实体之间的联系转化为关系模式。
二、转换原则(1)一个实体型转换为一个关系模式。
关系的属性:实体型的属性。
关系的码:实体型的码。
例如,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年级,平均成绩)同样,如下图所示。
性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。
(2)一个m:n联系转换为一个关系模式。
关系的属性:与该联系相连的各实体的码以及联系本身的属性。
关系的码:各实体码的组合。
例如,“选修”联系是一个m:n联系,如下图所示,可以将它转换为:选修(学号课程号,成绩),其中学号与课程号为关系的组合码。
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
①转换为一个独立的关系模式。
关系的属性:与该联系相连的各实体的码以及联系本身的属性。
关系的码:n端实体的码。
②与n端对应的关系模式合并。
合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性。
合并后关系的码:不变,可以转换为一个独立的关系模式,也可以与n端对应。
可以减少系统中的关系个数,一般情况下更倾向于采用这种方法。
(4) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
1、设某工厂数据库中有四个实体集。
一是“仓库”实体集,属性有仓库号、仓库面积等;二是“零件”实体集,属性有零件号、零件名、规格、单价等;三是“供应商”实体集,属性有供应商号、供应商名、地址等;四是“保管员”实体集,属性有职工号、姓名等。
设仓库与零件之间有“存放”联系,每个仓库可存放多种零件,每种零件可存放于若干仓库中,每个仓库存放每种零件要记录库存量;供应商与零件之间有“供应”联系,一个供应商可供应多种零件,每种零件也可由多个供应商提供,每个供应商每提供一种零件要记录供应量;仓库与保管员之间有“工作”联系,一个仓库可以有多名保管员,但一名保管员只能在一个仓库工作。
(1)试为该工厂的数据库设计一个ER模型,要求标注联系类型,可省略实体属性。
(2)根据转换规则,将ER模型转换成关系模型,要求标明每个关系模式的主键和外键。
保管员(职工号,姓名,仓库号)仓库(仓库号,仓库面积)零件(零件号,零件名,规格,单价)存放(仓库号,零件号,库存量)供应商(供应商号,供应商名,地址)供应(零件号,供应商号,供应量)2、为体育部门建立数据库,其中包含如下信息:(1)运动队:队名、主教练,其中队名惟一标识运动队。
(2)运动员:运动员编号、姓名、性别、年龄。
(3)运动项目:项目编号、项目名、所属类别。
其中:每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加多个项目,每个项目可以有多个运动员参加。
系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。
(1)根据以上叙述,建立ER模型,要求标注联系类型。
(实体的属性可以省略)(2)根据转换规则,将ER模型转换成关系模型,要求标明每个关系模式的主键和外键(如果存在)。
3、学生运动会模型:(1)有若干班级,每个班级包括: 班级号,班级名,专业,人数(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄(3)有若干比赛项目,包括:项目号,名称,比赛地点(4)每名运动员可参加多项比赛,每个项目可有多人参加(5)要求能够公布每个比赛项目的运动员名次与成绩(6)要求能够公布各个班级团体总分的名次和成绩解题要求:(1)画出每个实体及其属性关系、实体间实体联系的E-R图.(2)根据试题中的处理要求:完成关系模型转换,并指出每个表的主键和外键。