第四章 数据库设计 v1.0
第一部分 数据库设计概述
一、数据库设计方法
1.基本概念
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求。
2.设计特点
- 数据库建设是硬件、软件和干件(技术与管理的界面)的结合
- 数据库设计应该和应用系统设计相结合
- 结构(数据)设计和行为(处理)设计相结合
二、数据库设计步骤
1.需求分析阶段
- 调查分析用户活动
- 收集和分析需求数据,确定系统边界
- 编写需求分析说明书
2.概念结构设计阶段
- 产生反映企业各组织信息需求的全局概念结构
3.逻辑结构设计阶段
- 按照一定的规则,将概念结构转换为某个数据库管理系统所支持的数据模型
4.物理结构设计阶段
- 为给定的逻辑数据模型选取一个最适合应用要求的物理结构
第二部分 概念结构与逻辑结构
一、概念结构设计
1.简介
将需求分析得到的用户需求抽象成为信息结构(即概念模型)的过程就是概念结构设计
2.常用策略与方法
概念结构设计的常用策略:自顶而下、自底而上、逐步扩张和混合策略
概念结构设计的最著名的方法:实体-联系方法
二、实体-联系方法(E-R方法)
1.简介
使用E-R图来描述现实世界的概念模型,E-R模型涉及的主要概念包括实体、属性、实体之间的联系等
2.实体
实体是现实世界中可以区别于其他对象的“事物”或“物体”,每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识某个实体,如职工号。
3.实体之间的联系
- 两个实体之间的联系:一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)
- 两个以上的实体型之间的联系:也存在一对一联系、一对多联系与多对多联系
- 单个实体型内的联系:单个实体型内部也可存在一对一联系、一对多联系与多对多联系
一般把参与联系的实体型的数量称之为联系的度,两个实体型之间的联系度为2,也称为二元联系;三个实体型之间的联系度为3,称为三元联系;N个实体型之间的联系度为N,也称为N元联系。
4.属性
简单属性和复合属性:简单属性是原子的、不可再分的,复合属性可以细分为更小的部分。如通信地址可以进一步细分为省、市、街道、邮编等。
单值属性和多值属性:指一个属性有单个值或多个值。如职工的亲属姓名。
NULL属性:当实体在某个属性上没有值或属性值未知时,使用NULL值。表示无意义或不知道。
派生属性:可以从其他属性得来。如参加工作时间和工作年限,身份证号和年龄等。
5.E-R图
E-R图提供了表示实体型、属性和联系的方法,其基本构件如下:
- 实体型用矩形表示,矩形框内写明实体名
- 属性用椭圆形表示,椭圆形框内写明属性名,用无向边将其与对应实体型连接起来
- 联系用菱形表示,菱形内写明联系名,用无向边标上联系的类型(1:1、1:n或m:n)分别与有关实体型连接
6.扩展的E-R图
拓展的E-R图的主要构件:
- 弱实体:一个实体对另一个实体具有很强的依赖联系,其主键部分或全从其强实体中获得,或者说一个实体的存在必须以另一个实体存在为前提
如:职工的家属是弱实体,其存在依赖于职工实体存在
- 多值属性:一个属性可能对应多个值(如每个人可以有多个电话号码,电话号码为多值属性)
- 派生属性:这类属性的值可以从别的相关属性或实体派生出来(可以由其他属性计算得到)
- 子类:将一个实体集可以按照某些特征区分为几个子实体,这几个子实体称为子类
[特殊化]

- 特殊化:将一个实体集(E)可以按照某些特征区分为几个子实体(S)的过程叫特殊化
不相交特殊化与重叠特殊化:如果(S_i\bigcap S_j=\Phi),S是E的不相交特殊化,否则为重叠特殊化
全特殊化与部分特殊化:如果(\bigcup^{n}_{i=1}S_i=E),S是E的全特殊化,否则为部分特殊化
E-R图相关关系
- 两方联系:两个实体之间产生联系。
- 三方联系:当同一联系需要三方同时参与的时候就是三方联系。
- 聚合:将联系作为实体,与其他的实体产生联系。
- 三方联系与聚合的区别:三方联系必须要三方实体同时参与,缺一不可。而聚合是有先后顺序的,两个实体先产生联系,再与第三个实体产生联系。
三、逻辑结构设计
1.简介
概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务则是把概念结构设计阶段设计好的基本E-R图转换为选用数据库管理系统产品所支持的数据模型和符合的逻辑结构。