数据库设计
数据库设计过程。
四、概念数据库设计
1、数据库设计过程
实体-联系模型(E-R model )
1、实体-联系模型:是概念数据库设计阶段使用的一种重要模型,用于将现实世界抽象为实体及实体间的联系
2、E-R模型提供了数据建模所需的多种概念
- 与实体(entity)相关的概念
- 与联系(relationship)相关的概念
3、实体-联系图:简称 E-R 图,是 E-R 模型的一种图形化表示方法
E-R模型概念
实体相关的概念:
实体,属性,键,实体集,实体型,弱实体型
联系相关的概念:
联系,联系型,联系集,联系的约束,联系的属性,多元联系
实体(Entity)与属性(Attribute)
实体:数据库中表示的现实世界中的具体对象或事务
属性:用于刻画实体的特性
每个实体的每个属性都具有一个值,全部属性值共同刻画了该实体
每个属性都关联着它得到取值域(或数据类型)
属性的类型
简单属性:具有原子属性值的属性,其属性不可再分
复合属性:由多个成分构成的属性
多值属性:一个实体可具有多个值的属性
派生属性:有其他属性派出来的属性
键属性:同一实体型的任意实体都具有不同的属性
复合属性和多值属性可以相互嵌套的
实体域实体集
实体型:具有相同属性的实体共同具有的类型
实体集:当前存储在数据库中的某实体型的实例的集合
实体->对象、实体型->类型、实体集->对象集合
实体型的E-R图表示
1、实体型表示为矩形
2、属性表示为椭圆

- 简单属性表示为实线椭圆
- 多值属性表示为双实线椭圆
- 派生属性表示为虚线椭圆
- 键属性的属性名加下划线
3、实体型与其属性用线连接起来

联系、联系型、联系集
联系:一个联系表示多个实体之间有意义的关联关系
联系型:同一联系共同具有的类型
联系集:数据库中当前存储的联系型实例的集合
联系型的度:参与到一个联系型中的实体的个数

联系型的E-R图表示
联系型表示为菱形

用直线将联系型与参与到联系型中的实体型连接起来

相同的参与实体型之间可以存在多种不同的联系型
一个实体型可以和自身参与到同一个不同的类型中
该实体型在联系型中担任不同的角色
需要在E-R图中标出实体型参与在联系型中的角色

联系型的约束
技基数比:刻画实体型参与到联系型中的最大基数

存在以来约束/参与度约束:刻画实体型参与到联系型中的最小基数
0 个(部分参与):在 E-R 图中表示为单线
≥1个(全部参与):在 E-R 图中表示为双线

联系型的属性
在 E-R 图中,用直线将联系型与联系型的属性连接起来
联系型的属性主要出现在 M:N 联系型中
N:1 联系型的属性可以被移到 N 一方的实体型中

弱实体型、弱实体集
弱实体型:没有键属性的实体型
标识实体型:因弱实体型无键属性,需依赖于其他实体型进行区分
标识联系型:弱实体型与其标识实体型通过标识联系型关联
部分键:用于区分和同一标识实体相关联的弱实体的属性集合
用“弱实体型的部分键 + 标识实体型的主键”来区分不同弱实体
弱实体型的E-R图
弱实体型表示为双实线矩形,部分键加虚下划线


多元联系
多元联系:3 个以上实体参与的联系
一个 n 元联系和 n 个二元联系所表示的意义通常是不同的

2、实体联系模型
子类/超类
实体型 E 的一部分实体构成了一个有特殊含义的子集,这部分实体的实体型 E' 称为 E 的子类,同时 E 称为 E' 的超类
- 超类,例如:employee
- 子类,例如:engineer,DBA
子类继承了父类的全部属性及父类所参与的全部联系型
子类/超类联系的表示方法

不相交子类
如果超类的每个实体属于最多一个子类,则子类是不相交的(disjoint)
- 超类,例如:faculty
- 子类,例如:assistant_prof,associate_prof,full_prof

重叠子类
如果超类的每个实体可以属于多个子类,则子类是重叠的(overlap)
- 超类,例如:employee
- 子类,例如:engineer,designer,secretary

全部特性化
超类的每个实体必须属于至少一个子类
- 超类,例如:faculty
- 子类,例如:assistant_prof,associate_prof,full_prof

部分特性化
超类的某些实体可以不属于任何子类
- 超类,例如:employee
- 子类,例如:engineer,designer,secretary
3、增强实体联系模型
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)