

本文主要介绍与建立关系数据库中的关系模式(即关系表结构)密切相关的关系数据库设计的理论基础,也就是关系范式的有关基本知识。范式理论为判断关系模式的好坏提供了理论标准,是数据库设计人员设计数据库的重要依据。
1.数据库设计
数据库设计是应用系统开发过程中的重要一环,它是由数据库设计人员根据信息需要、处理需要、DBMS说明书、操作系统及硬件环境说明进行设计。设计过程主要分为四个阶段:需要分析和数据分析阶段、概念设计阶段、逻辑设计阶段和物理设计阶段。
(1)需要分析和数据分析
需要分析和数据分析主要是指对将要处理的对象进行调查,从调查中获得用户对数据库的信息要求、处理要求以及安全性和完整性要求。
(2)概念设计
概念设计是指在需要分析和数据分析的基础上,将要处理对象的有关信息表示成用户容易理解的形式。
(3)逻辑结构设计
逻辑结构设计是指将数据库的概念结构转换成所选用的DBMS所支持的数据库逻辑结构。数据库逻辑结构设计的结果并不是唯一的。要对数据库结构进行优化,可利用规范化理论进行数据库逻辑设计。本文来自编程入门网
(4)数据库物理设计
数据库的物理结构主要指数据库在物理设备上的存储结构和存取方法。对于给定的数据库逻辑结构选择一个最适合应用环境的物理结构的过程,称为数据库的物理设计。
2.函数依赖
在实际的数据库设计当中,除了实体集之间存在着联系之外,在属性之间(即数据项之间)还存在着一定的依赖关系,由此就引入了属性间的函数依赖。函数依赖是数据库设计中的一个重要概念,下面我们就给出函数依赖的定义。
设R(U)是属性集U上的一个关系模式,X,Y是U的子集。若对于R(U)中任意可能关系r(即对于每一时刻的数据库中对应于关系模式R的内容),r中不可能有两个元组在X的属性分量相等,而同时在Y的属性分量值却不等,则称X函数决定Y,或称Y函数依赖于X。记作X->Y。通俗地说,就是对于r中的属性或属性组X的每一个值,r中Y只有一个值与之对应。
3.Armstrong公理
在1974年,W.W.Armstrong首先提出了函数依赖的公理系统,称为Armstrong公理。对于一组已知的函数依赖,利用该公理可以导出所蕴含的函数依赖。
Armstrong公理:
设U为属性总体集,F为U上的一组函数依赖,对于关系模式R(U,F)有下列推理规则:
(1)自反律
若Y包含于X,X包含于U,则X->Y为F所蕴含。
(2)增广律
若x->Y为F所蕴含,且Z包含于U,则X*Z->Y*Z为F所蕴含。
(3)传递律
若X->Y,Y->Z为F所蕴含,则X->Z为F所蕴含。
4.规范化设计方法
满足一定条件的关系模式,称为范式。在1971年至1972年,E.F.Codd系统地提出了第一范式(1NF)、第二范式(2NF)和第三范式(3NF)的概念,1974年Codd和Boyce共同提出了BCNF,1976年Fagin提出了4NF,后来又有人提出了5NF。一个低级范式的关系模式,通过分解方法转换为若干个高一级范式的关系模式的集合,称为规范化。
▲第一范式:如果一个关系模式,它的每一个分量是不可分的数据项,则此关系模式为第一范式。
▲第二范式:如果一个关系R∈1NF,且每个非主属性完全函数依赖于码,则R∈2NF。
▲第三范式:若关系模式R(U,F)为第一范式,不存在非主属性对码的传递依赖,则称R(U,F)为第三范式。
▲BCNF范式:BCNF范式是修正的第三范式,有时也称为第三范式。BCNF消除了3NF中可能存在的主属性对码的部分函数依赖和传递函数依赖。
在范式中,常用的是3NF和BCNF。在设计数据库时要综合地考虑,因为尽管分解关系模式可以减少数据冗余,也可以克服数据操作容易出现异常等问题,但随之而来的是数据库操作的复杂性被提高,系统在进行多关系表操作时所付出的开销也更大。