数据库技术(二)——数据库结构设计

数据库结构一般包含有:概念设计,逻辑设计,物理设计

概念设计: 以需求分析的结果如需求说明书,DFD图为依据。概念设计的结果是概念设计说明书,E—R图。

E—R模型组成:

  • 实体:客观存在,可以相互区分的物体叫实体。
  • 属性:实体具有的不同特性,可以用若干属性来表示。
  • 码(键):实体集中唯一标识实体的属性或属性组合。
  • 主码(键):用于区别实体集中的不同实体的属性或属性组合。
  • 联系:描述实体间的相互关系。

实体与实体间的联系: 一对一联系(1:1),一对多联系(1:n),多对多联系(m:n)。

逻辑设计: 以概念设计的结果E—R图以及概念说明书为基础,将E—R图转化为关系模型。

  1. 一个实体转化为一个关系模型:
    例:学号为主码(键)
  2. 1:1联系转换为关系模型:
    例:

方案一:职工(职工号,姓名,年龄)
产品(产品号,产品名,价格)
负责(职工号,产品号)

方案二:职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)

方案三:职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)

三种方案中,方案一关系多增加系统复杂性。方案三中不是每个职工都负责产品所以存在NULL值。所以选着方案三。

  1. 1:n联系转化为关系模型
    例:

方案一:仓库(仓库号,地点,面积)
仓储(仓库号,产品号,数量)
产品(产品号,产品名,价格)

方案二:仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,仓库号,数量)

两种方案中,方案一关系多适合仓储变化大的场合。方案二适合仓储变化小的。

  1. m:n联系转化为关系模型
    例:

学生(学号,姓名,年龄,性别)
课程(课程号,课程名,学时数)
选修(学号,课程号,成绩)

  1. 三个及以上实体集联系转化为关系模型
    例:

供应商(供应商号,供应商名,地址)
零件(零件号,零件名,单价)
产品(产品号,产品名,型号)
供应商(供应商号,零件号,产品号,数量)

总结:

①一个实体转化为一个关系模型
②一个1:1联系转化为一个独立的关系模型,也可以与任意一端合并(三种方案)
③一个1:n可以转化为一个独立关系模式也可以将联系与n端合并(两种方案)
④一个m:n联系可以转化为一个关系模式(一种方案)
⑤三个及以上的实体集转化为一个关系模型(一种方案)

物理设计: 物理数据库设计是设计数据库的存储结构和物理实现方法。目的是将数据的逻辑描述转换为实现技术规范,设计数据存储方案,以便提供足够好的性能并确保数据库数据的完整性、安全性、可靠性。