数据库设计(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、标识每个实体需要存储的详细信息:将数据库中的主要实体标⽰为表的候选实体以后,就要标识每个实体存储的详细信息,也称为该实体的属性,这些属性将组成表中列。