数据库设计基础知识(完善中...)

1 数据库设计概述

数据库设计属于系统设计的范畴,通常把使用数据库的系统统称为数据库应用系统,把对数据库应用系统的设计简称为数据库设计。

1.1 数据库应用系统的生命期

数据库规划

需求描述与分析

数据库与应用程序设计

数据库设计实现

测试

运行维护

1.2 数据库设计的一般策略
1.3 数据库设计的基本步骤

2 系统需求分析

2.1 需求分析的任务、方法和目标
2.2 需求分析阶段的文档
2.3 案例分析

3 概念结构设计

3.1 概念结构设计策略与方法
3.2 用E-R方法建立概念模型

4 逻辑结构设计

4.1 E-R图向关系模式的转换

 

1、一对一联系(1:1):

 

(1)将联系转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性包括该联

 

系所关联的两个实体的码及联系的属性,关系的码取自任一方实体的码。

 

 任职(班主任工号,班级编号,任职时间)

 

(2)将联系归并到关联的两个实体的任意一方,给待归并的一方实体属性集中增加另一方实体的码

 

和该联系的属性即可,归并后的实体码保持不变。

 

 班主任(工号,姓名,身份证号,住址,班级编号,任职时间)

 

或: 班级(班级编号,名称,人数,班主任编号,任职时间)

2、一对多联系的转换(1:*):

(1)将联系转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系

所关联的两个实体的码及联系的属性,关系的码是多方实体的码。

 任职(工号,公司编号,入职时间,离职时间)

(2)将联系归并到关联的两个实体的多方,给待归并的多方实体属性集中增加一方实体的码和该联

系的属性即可,归并后的多方实体码保持不变。

 员工(工号,姓名,身份证号,公司编号,入职时间,离职时间)

3、多对多联系的转换(*:*):

 多对多联系只能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取

该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组。

 选修(学号,课程编号,成绩,出勤率) • 注:三方联系的多对多对多(*:*:*)也是一样,只能转换成一个独立的关系模式,如:一个供

应商可以给多个项目供应多种零件,一个项目可以使用多个供应商供应的多种零件。

 供应关系(供应商编号,项目编号,零件号,数量)

 

4.2 关系模式的规范化

 

1NF⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF

 

通过分解,可以将一个低一级范式的关系模式转换成若干个高一级范式

 

的关系模式,这种过程叫做规范化。

 

 

 

1NF(第一范式)

 

• 定义:

 

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。记为R∈1NF。

 

 

 

• 存在的问题:

 

(1)数据冗余。

 

(2)更新异常(修改操作后数据不一致)。

 

(3)插入异常。

 

(4)删除异常。

 

 

 

2NF(第二范式)

 

定义:若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF。

 

 

 

• 换句话说:当1NF消除了非主属性对码的部分函数依赖,则称为2NF

 

 

 

3NF(第三范式)

 

• 定义:若关系模式R(U,F)中不存在这样的码X,属性组Y及非主属性Z(Z⊈Y)使得

 

X→Y,(Y⇸X) Y→Z成立,则关系模式R∈3NF。

 

• 即:当2NF消除了非主属性对码的传递函数依赖,则称为3NF。

 

 

 

BCNF(巴克斯范式)

 

定义:关系模式R∈1NF,若X→Y且Y⊈X时,X必含有码,则关系模式R∈BCNF。 • 也就是说,当3NF消除了主属性对码的部分函数依赖和传递函数依赖,则称为BCNF。

 

 

 

结论:一个满足BCNF的关系模式,应有如下性质:

 

(1)所有非主属性对每一个码都是完全函数依赖;

 

(2)所有主属性对每一个不包含它的码,也是完全函数依赖;

 

(3)没有任何属性完全函数依赖于非码的任何一组属性。

 

 

 

4NF(第四范式)

 

• 定义:关系模式R∈1NF,若对于R的每个非平凡多值依赖X→→Y且Y⊈X时,X必含有

 

码,则关系模式R(U,F)∈4NF。

 

• 4NF是限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖。

 

• 注意:如果只考虑函数依赖,关系模式最高的规范化程度是BCNF,如果考虑多值

 

依赖,关系模式最高的规范化程度是4NF。

 

如何分解关系模式?
  1. 找候选码
  2. 根据描述找函数依赖集
  3. 确定范式:根据找出的函数依赖集,确定是否有部分、传递函数依赖,再来判断属于第几范式
  4. 分解关系模式:按函数依赖集来分解,即分解要保持函数依赖

 

4.3 确定完整性约束
4.4 用户视图的确定
4.5 应用程序设计

5 数据库的物理设计

5.1 物理设计工作过程
5.2 物理设计工作步骤

6 数据库系统的实施阶段

posted @ 2022-05-05 23:58  Fancy[love]  阅读(234)  评论(0编辑  收藏  举报