Note03- 概念数据库设计和 E-R 模型
概念数据库设计的任务包括两方面:
- 概念数据库模式设计
- 以需求分析阶段所识别的数据项和应用领域的未来改变信息为基础,使用高级数据模型建立概念数据库模式
- 事务设计
- 考察需求分析阶段提出的数据库操作任务,形成数据库事务的高级说明
E-R 模型就是用于概念数据库设计的高级数据模型
E-R 模型
图中有三个主要元素:实体、属性、联系
实体
实体是 ER 模型的基本对象,是现实世界中可区别所有其他对象的一个“事务”或“对象”
每个实体都有一组特征或性质,称为实体的属性。实体属性的一组特定值确定了一个特定的实体。实体的属性值是数据库中存储的主要数据。
属性
属性是指实体的特征或性质,是实体集映射到域的函数
属性可包括:
- 单值 (single-valued)、多值 (multivalued) 属性
- 简单 (simple)、复合 (composite) 属性
- 派生 (derived) 属性
在 ER 模型中每个实体集具有一个由一个或多个属性组成的码,是足以区分每个实体的属性集:
联系
不同实体集的实体之间可能具有某种关联,我们称这种关联为实体间的联系。
例如,一个学生必属于一个系;一个学生需选修多门课程
约束
ER 企业模式可以定义一些数据库中的数据必须满足的约束:
- 映射基数:一个实体通过一个联系集能关联的实体的个数
- 一对一:一个系只有一个系主任,一个大学只有一个校长
- 一对多:一个系有很多学生
- 多对多:一个学生可选修多门课程,每门课程可被多个学生选修
- 参与约束
- 全域关联约束:如果在大学数据库中规定每个教研室必须属于一个系,则教研室实体集与联系 Belong_To 联系集有个全域关联约束
- 部分关联约束
弱实体集
指具有一个或多个属性,使得这些属性可以与主实体集的码相结合,形成相应弱实体的码,弱实体的这些属性称为弱实体集的部分码
例,父亲实体集与孩子实体集
不同父亲的孩子可以具有相同的姓名、年龄和性别,而同一个父亲的孩子一定具有不同的名字,所以孩子实体集是弱实体集
实体联系图
- 矩形: 实体集
- 矩形里面文字:属性
- 菱形: 联系集
- 线段: 将实体集连接到联系集
概念数据库设计方法与策略
自顶向下策略
从一个包含高级抽象概念结构的模式出发,对这些高级抽象概念结构逐步求精,形成最终的概念数据库模式
自底向上策略
从包含基本概念结构的模式出发,逐步组合这些基本概念结构,形成最终的概念数据库模式。
视图综合设计方法
- 局部概念模式设计
- 抽取各局部应用涉及的数据,标定各局部应用中的实体、实体的属性、标识实体的键,确定实体之间的联系及其约束
- 形成局部 E-R 图
- 全局概念模式的合成
- 识别局部概念模式间的冲突
- 修改局部模式
- 局部模式合并
- 优化全局模式
事务的设计
什么是事务?
一个或多个数据操作构成的集合,这组操作满足原子性。例如,银行从账户 A 到账户 B 的一次资金转账操作