数据库设计----概念结构设计(概念模型、E—R模型、概念结
构设计)
概念模型
将需求分析得到的⽤户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。
特点:
1. 能真实、充分地反映现实世界,是现实世界的⼀个真实模型。
2. 易于理解,从⽽可以⽤它和不熟悉计算机的⽤户交换意见。
3. 易于更改,当应⽤环境和应⽤要求改变时,容易对概念模型修改和扩充。
4. 易于向关系、⽹状、层次等各种数据模型转换
E-R模型
E-R图提供了表⽰实体型、属性和联系的⽅法
实体型:⽤矩形表⽰,矩形框内写明实体名。
属性:⽤椭圆形表⽰,并⽤⽆向边将其与相应的实体型连接起来。
联系:⽤菱形表⽰,菱形框内写明联系名,并⽤⽆向边分别与有关实体型连接起来,同时在⽆向边旁标上联系的类型(1∶1,1∶n或
m∶n)。(联系可以具有属性)。
两实体型之间的联系可以分为:
①⼀对⼀联系(1∶1)
如果对于实体集A中的每⼀个实体,实体集B中⾄多有⼀个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有⼀对⼀联系,记为1∶1。
②⼀对多联系(1∶n)
如果对于实体集A中的每⼀个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每⼀个实体,实体集A中⾄多只有⼀个实体与之联系,则称实体集A与实体集B有⼀对多联系,记为1∶n。
③多对多联系(m∶n)
如果对于实体集A中的每⼀个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每⼀个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n。
两个实体的联系⽰意图:
三个实体联系⽰意图:
单个实体型内的联系⽰意图:
联系的度:参与联系的实体型的数⽬
2个实体型之间的联系度为2,也称为⼆元联系;
3个实体型之间的联系度为3,称为三元联系;
N个实体型之间的联系度为N,也称为N元联系
eg:某个⼯⼚物资管理的概念模型。物资管理涉及的实体及属性有:仓库属性有:仓库号、⾯积、电话号码
零件属性有:零件号、名称、规格、单价、描述
供应商属性有:供应商号、姓名、地址、电话号码、账号
项⽬属性有:项⽬号、预算、开⼯⽇期
职⼯属性有:职⼯号、姓名、年龄、职称
实体之间的联系有:
1. ⼀个仓库可以存放多种零件,⼀种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系。⽤库存量来表⽰某种零件在某个
仓库中的数量。
2. ⼀个仓库有多个职⼯当仓库保管员,⼀个职⼯只能在⼀个仓库⼯作,因此仓库和职⼯之间是⼀对多的联系。
3. 职⼯之间具有领导与被领导关系。即仓库主任领导若⼲保管员,因此职⼯实体型中具有⼀对多的联系。
4. 供应商、项⽬和零件三者之间具有多对多的联系。即⼀个供应商可以供给若⼲项⽬多种零件,每个项⽬可以使⽤不同供应商供应的零
件,每种零件可由不同供应商供给。
概念结构设计
为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。
原则:
1. 作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。
2. 属性不能与其他实体具有联系,即E-R图中所表⽰的联系是实体之间的联系。
例⼦:在医院中,⼀个病⼈只能住在⼀个病房,病房号可以作为病⼈实体的⼀个属性;
如果病房还要与医⽣实体发⽣联系,即⼀个医⽣负责⼏个病房的病⼈的医疗⼯作,则根据准则(2) 病房应作为⼀个实体。
数据库属性的概念分E-R图的集成
分E-R图的集成⼀般需要分两步
1. 合并。解决各分E-R图之间的冲突,将分E-R图合并起来⽣成初步E-R图。
2. 修改和重构。消除不必要的冗余,⽣成基本E-R图。
消除冲突
E-R图之间的冲突主要有三类:
属性冲突
属性域冲突,即属性值的类型、取值范围或取值集合不同。
命名冲突
1. 同名异义,即不同意义的对象在不同的局部应⽤中具有相同的名字。
2. 异名同义(⼀义多名),即同⼀意义的对象在不同的局部应⽤中具有不同的名字。
结构冲突
1. 同⼀对象在不同应⽤中具有不同的抽象。
2. 同⼀实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。
3. 实体间的联系在不同的E-R图中为不同的类型。
消除不必要的冗余
所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。
消除冗余主要采⽤分析⽅法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。
并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提⾼效率,不得不以冗余信息作为代价。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论