本文内容基于《数据库系统概论》第五版,王珊、萨师煊著。
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理和数据操作要求。
1. 数据库设计的基本步骤
- 需求分析阶段:首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础,是最困难和最耗时间的一步。
- 概念结构设计阶段:概念结构设计是整个数据库设计过程的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
- 逻辑结构设计阶段:逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
- 物理结构设计阶段:物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
- 数据库实施阶段:数据库实施阶段设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行试运行。
- 数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评估、调整与修改。
2. 数据库设计各个阶段的数据设计描述
3. 概念结构设计
- E-R模型:P.P.S.Chen提出的E-R模型是用E-R图来描述现实世界的概念模型。
- 实体:客观存在并可相互区别的事务称为实体,可以说具体的人、事、物,也可以是抽象的概念或联系,例如一个职工、一个学生、一个部门、一门课、学生的一次选课、部门的一次订货、教师与院系的工作关系。
- 属性:实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画,例如学生实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成。
- 码:唯一标识实体的属性集称为码,例如学号是学生实体的码。
- 实体型:具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型,例如,学生(学号,姓名,性别,出生年月,所在院系