一.数据库设计过程

  1. 需求分析
  2. 概念设计
  3. 逻辑设计
  4. 模式求精
  5. 物理设计
  6. 应用与安全设计

二.E-R模型基本概念(实体集,联系集,属性)

1. 实体与实体集

2. 属性及其分类

  1. 简单属性,复合属性
  2. 单值属性,多值属性
  3. 派生属性

3. 联系与联系集

  1. 多联系:各实体之间可以有多种不同的联系.
  2. 实体的角色:当同一个实体集在一个联系集中参与的次数大于一次,且每次以不同的角色参与时,要用显示的角色名定义一个实体参与联系的方式.
  3. 联系集的度:联系集的实体集的数目.

三.约束

1. 映射约束

  1. 一对一
  2. 一对多
  3. 多对一
  4. 多对多

2. 码约束

①实体集的码

  1. 超码:唯一标识一个实体的一个或多个属性的集合.
  2. 候选码:一个超码的任意真子集都不能成为超码,这样最小的超码成为候选码.
  3. 主码:从多个候选码中选择一个作为实体集的主码.

②主码选择原则

  1. 选择属性长度最短的候选码
  2. 尽量选择包含单个属性的码,而不是复合候选码
  3. 选择在数据库系统生命周期内属性值最少变化的候选码
  4. 选择在数据库系统生命周期内更可能包含唯一值的候选码

③联系集的码

每一个联系集必须存在候选码并选择其中的一个候选码作为主码

一对一联系集:主码可以使用任何一方实体集的主码
一对多(多对一)联系集:主码由”多”的一方实体集的主码组成
多对多联系集:主码由参与联系集中所有实体集的主码组成

④联系集的属性安置

一对一联系集的属性:可安置在任一边的实体集上
一对多联系集的属性:可安置于联系集上,也可安置在多的那一边的实体集上
多对多联系集的属性:只能安置在联系集上,不能放到相关联的实体集上

3. 依赖约束

依赖实体集:联系中的一种实体的存在依赖于该联系集中联系的存在
如:销货单实体集与商品销售联系集
弱实体集:联系中的一种实体的存在依赖于其他实体集中实体的存在
如:开课班实体集与课程实体集

4. 参与约束

实体集与联系集:

  1. 全部参与
  2. 部分参与

5. 多值联系

同一个给定的联系集中,相关联的相同实体之间可能存在多个联系,如客户银行之间多对多贷款联系集,及同时一个银行可以向多个客户发放贷款的一对多联系集.


四.弱实体集

某些实体集的属性不足以形成主码,他们必须依赖于其他实体集的存在而存在.

部分码:用来标识弱实体的属性
弱实体集中的实体是由标识实体集中的主码与其部分码共同标识.

五.扩展E-R特征

1. 类的层次
E-R模型使用实体集的继承和ISA联系来描述这种概念上的继承.
ISA关系可以从两个方向进行设计:
①自上而下,先设计父类实体集,再将父类具体化为其他子类
②自下而上,先具体化子类实体集,再将子类中的共同属性提取出来,泛化为父类

2. 聚合
聚合是一种抽象,它将一个联系集及其相关联的实体集抽象为一个联系实体集对待,然后建立该联系实体集与其他实体集之间的联系集.

六.E-R建模问题

E-R建模的基本原则

1.忠实性: 设计应忠实于应用需求
2.简单性: 除非有绝对需要,否则不要在设计中增加更多成分
3.避免冗余: 一个对象只存放在一个地方
4.选择实体集还是属性:
①不可再分
②不能和其他实体相联系
满足上述两条规则均可作为属性对待
5.选择实体集还是联系集:
实体集一般对应现实生活中实际存在的事物
联系集一般对应一种动作
6.多元联系转化为二元联系:

依赖约束的建模

多值联系的建模

  1. 将多值联系建模为弱实体集
  2. 将多值联系建模为依赖实体集

E-R模型的表示

  1. 实体集:矩形
  2. 弱实体集:双矩形
  3. 属性:椭圆
  4. 多值属性:双椭圆
  5. 派生属性:虚线椭圆
  6. 联系(集):菱形
  7. 标识联系集:双菱形
  8. 属性与实体之间用连线表示
  9. 加下划线的属性为实体集的主码
  10. 虚下划线表示弱实体的部分码
  11. “→”指向参与联系集中”一”方实体集,”-“指向参与联系集”多”方实体集
  12. 联系实体集:带菱形的矩形

留言

2018-01-07

⬆︎TOP