【数据库】数据库设计与ER模型

学习数据库系统概念(第六版)笔记,第七章数据库设计与ER模型,概念性的东西,不细致

设计过程

  • 高层数据模型转低层
  • 用户需求规格说明
  • 概念设计:ER模型,定义实体、实体的属性、实体的联系、实体和联系的约束,检查避免冗余、不完整两个缺陷
  • 功能需求规格说明:描述操作/事务
  • 逻辑设计:概念映射到数据模型,通常是ER到关系数据模型
  • 物理设计:指明数据库的物理特征,包括文件组织格式、索引结构

ER模型

  • 实体-联系

实体集

  • 实体:事物、对象,客观存在,可相互区分
  • 实体集:相同属性的实体集合
  • 实体集的外延:实体集的实体的集合

联系集

  • 相同类型联系的集合
  • 实体集参与联系集,联系集的参与实体集的个数称度
  • 联系实例
  • 实体在联系中扮演的功能称实体的角色
  • 可以具有描述性属性
  • 联系集的超码是参与的实体集的主码集合的并

属性

  • 简单、复合属性(可划分成更小部分)
  • 单值、多值
  • 派生:由基属性计算而来,不单独存储

弱实体集

  • 没有足够属性形成主码的实体集,必须与另一个乘坐标识实体集(属主实体集)关联,联系称标识性联系
  • 弱实体集存在依赖于标识实体集
  • 标识实体集拥有它所标识的弱实体集
  • 标识性联系集没有属性,是(弱)多对一(标),弱实体集是全部参与
  • 弱实体集有分辨符,主码=分辨符+标识实体集的主码

约束

基数约束

映射基数:一个实体通过一个联系集能关联的实体的个数

参与约束

实体集中的每个实体都参与到某联系集的至少一个联系中,是全部参与,否则是部分参与

ER模型转换为关系模型

  • 复杂属性:复合属性展开,多值改为多条,派生用方法
  • 弱实体集主码=分辨符+标识实体集的主码,而联系时冗余的不需给出
  • 联系集(只考虑二元联系)
    • 一对一:任何一个实体集的主码都可以
    • 多对多:所有主码的并集
    • 一对多:多的那方的主码
    • 外码约束
    • 全部参与的,可以合并