本文主要参考了[数据库的概念设计与逻辑设计]一文。复习了数据库当中的概念设计、逻辑设计、物理设计等基本概念。
基本概念
概念设计
概念设计的目的是根据需求分析的结果,将用户对数据的需求综合成一个统一的概念模型,它是整个数据库设计的关键。
设计时,一般是先根据单个应用的需求,画出能反映每个应用需求的局部E-R模型。然后把这些E-R图合并起来,并消除冗余和可能存在的矛盾,得到系统的E-R图。
- 首先,确定实体的名字并填写实体中各项属性的名称和数据类型。
- 然后,确定实体的主键以标志实体。
- 最后,对创建好的实体添加关系。E-R图所表示的概念模型是用户数据要求的形式化。E-R图对立于任何一种数据模型,它不为任何一种DBMS所支持。
逻辑设计
逻辑设计的任务就是把概念模型转换成某个具体的DBMS所支持的数据模型。将E-R图转换为关系模型要解决两个问题,
- 一是如何将实体集和实体问的联系转换成关系模式;
- 二是如何确定这些关系模式和键。
E-R图是由实体集、属性和联系三个要素组成。将E-R图转换为关系模型实际上就是要将实体集、属性和联系转换为相应的关系模式。
在数据库的逻辑设计中还要考虑规范化的要求,对生成的关系模型作适当的调整,以使关系模式的设计更合理,达到减少冗余、提高查询效率的目的。进行规范化处理时,首先应确定规范化的级别,并要求所有的关系模式都达到这一级别。一般来说,将关系模式规范化3NF(3范式)就可以达到消除数据库更新异常的目的。3NF是从1NF消除非主属性对主属性的部分依赖和传递依赖而得到。
物理设计
根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”
简单来说,这三个阶段的输出分别是:
- 概念设计-ER图
- 逻辑设计-3NF
- 物理设计-表结构