关系数据库设计原则分析

2018-03-22 11:23高见斌
数字通信世界 2018年4期
关键词:主键视图实体

高见斌

(武汉职业技术学院,武汉 430074)

1 引言

信息社会离不开数据库,只有科学规范的数据库才能够满足人们对信息的需求。数据库设计是开发应用数据库整个过程的第一环,这个环节的优劣直接影响后续的使用和开发效果,因此,数据库的设计与优化显得尤为重要。

2 数据库设计方法

数据库采用New Orleans方法设计,主要思想是过程迭代和逐步求精。数据库设计通常分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。

2.1 需求分析阶段

此阶段是与用户交流沟通的过程,了解用户需求,熟悉其数据及处理流程。根据用户需求,画出数据流程图,数据流程图表达了数据和处理过程之间的关系,一般包括数据项、数据结构、数据流、数据存储和处理过程五个部分。同时建立数据字典,数据字典是各类数据描述和功能需求描述的集合。需求分析的重点是用户对信息的要求、对数据处理的要求、数据安全性与完整性要求。最后把数据流程图和数据字典反馈给用户看,要求用户签字确认,形成原始文档材料,这是进行下一步概念设计的依据。

2.2 概念设计阶段

依据需求分析的结果,形成不依赖于具体机器、独立于各种数据库管理系统产品的概念数据模型。这种概念数据模型利用ER或IDEF1X建模方法实现,用特定的图形方式表达实体及其属性、实体间的联系以及各种约束等。

2.2.1 概念设计的一般步骤

(1)准备工作。这个阶段所需做的是,组织建模人员,制定规章制度,确定建模目标,制订建模计划,收集源材料,源材料包括各种报表、数据和功能描述、业务流程等。

(2)定义实体。实体集是指具有相同属性或特征的事物集合。大部分实体可以从收集的源材料中直接或间接标识出来。一般来说,表示物的术语和具有编号的术语,如学生、教师、教材、学号、课程号等名词代表的实体能够直接标识出来,形成初步的实体表。一些隐形的实体,比如诊断号,处罚号等,要结合业务需要和事情处理过程分析标识出来。

(3)定义主键。为了能够惟一标识一个实体或联系实例,从实体属性中找出多个候选键,再从候选键中选定主键。通过非空约束和取值惟一约束来保证主键的有效性。比如把职工号定义成主键,那么它的取值不能是空值,也不能取相同值。

(4)定义联系。实体集之间或一个实体集内各实体之间存在联系,联系类型有三种:一对一联系、一对多联系、多对多联系。在此基础上,联系可再进一步分为分类联系、标识联系和非标识联系。分类联系是指父实体与子实体之间的联系,父子代表的是同一个对象。标识联系也是指父实体与子实体之间的联系,特点是子实体的每个实例都需要通过和父实体的联系来标识,否则为非标识联系。非标识联系又分为中强制联系和为非强制联系,强制联系是指每个子实体的实例都与而且只与一个父实体的一个实例关联,否则为非强制联系。

(5)定义属性。从上述实体表中,找出每个实体中包含的说明性字段作为属性,比如学生实体属性有学号、姓名、性别、出生日期等。实体集之间的联系也有自己的属性,比如学生和课程之间的联系的属性应是成绩。属性分为主属性和非主属性,作为主键的属性是主属性,否则是非主属性。非主属性要满足完全函数依赖规则和非传递规则。完全函数依赖规则是指每个非主属性必须依赖于整个主键且仅依赖于主键,非传递规则是指属性之间不存在传递关系。

(6)定义其他对象和规则。定义属性的数据类型、长度、默认值、非空和约束规则等。定义视图、存储过程、触发器、角色、同义词等对象信息。

2.2.2 ER方法设计概念模型的过程

(1)设计出局部ER图。局部ER图模型设计是从数据流程图和数据字典出发,确定实体和属性。同时根据数据流程图中表示的数据间的处理关系,确定实体之间的联系。实体用矩形框表示,属性用椭园表示,联系用菱形表示,数据间联结关系用直线表示。局部ER图一般含有若干个。

(2)综合成初步ER图。局部ER图设计完成之后,将所有的局部ER图合并成全局概念ER图。合并方法是,同一实体只出现一次,两两合并,消除合并引起的命名、属性和结构的冲突问题。全局概念ER图不仅要支持所有的局部ER图,而且必须表示一个完整一致的数据概念模型。

(3)优化成完美ER图。上述得到的初步ER图是全局的数据概念模型,基本能反映现实世界数据及其联系,但它不一定是最优的,可能还存在潜在的冗余属性或联系,这要根据实际应用情况来确定是否加以消除。

2.3 逻辑设计阶段

此阶段的任务是将前面建立起来的概念模型转换成某个具体的数据库管理系统支持的数据模型。数据模型通常有三种:层次模型、网状模型和关系模型。当前广泛使用的数据模型是关系模型。关系模型是用用二维表结构来表示实体以及实体之间的联系。目前流行的数据库管理系统如SQL server、Mysql、Oracle、Access等都支持关系模型。概念模型转换成关系模型的方法:

(1)实体转换为关系模式。一个实体转换为一个关系模式,实体的属性就是关系的属性。实体的主键就是关系的主键。这种转换是直接转换。(2)联系转化为关系模式。因联系有三种类型,所以分三种情况分别进行转换:一对一联系时,将联系与任意端合并,加入另一端主键和联系的属性;一对多联系时,将联系与n端合并,加入1端实体的主键和联系的属性;多对多联系时,将联系转换成一个关系,加两端实体的主键和联系的属性。

关系模型建立起来后,根据需求分析的要求,需要进行数据库的完整性设计和规范化处理。数据的完整性是指保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作。规范是指改善数据的结构化、共享性、一致性和可操作性。不规范会产生数据冗余,带来很多问题。在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度。

一般说来,一个关系模式需要满足三个范式。范式是指规范化的程度或级别。第一范式是指关系的所有属性不可再分,这是最基本的要求,否则它就不是关系。第二范式是指所有非主属性完全函数依赖每个候选关键字,非主属性是指不是主键的属性。第三范式是指所有非主属性都不传递函数依赖每个候选键。如果一个关系不满足第二、第三范式,会带来数据冗余、更新异常、插入异常、删除异常等问题。

关系模型,亦即基本表,就是数据库的模式。在对模式进行规范化处理后,从安全性和用户对处理的要求考虑,在基本表(TABLE)的基础上再建立必要的视图(VIEW),形成数据库的外模式。视图内容由SELECT查询语句指定。同真实的表相似,包含一系列带有名称的列和行数据。行和列数据来自创建视图的查询所引用的表。视图并不在数据库中以存储的数据值集形式存在,它是在被引用时动态生成,因此视图是虚拟的表。视图(VIEW)形成数据库的外模式。视图的作用有:简化用户的操作,即被经常使用的查询可以被定义为视图,使得用户不必为以后的操作每次都指定全部的条件;提高安全性,即通过视图,用户只能查询和修改他们所能见到的数据,并能限制到某些数据行,而其他数据既看不见也取不到;提高逻辑数据独立性,即如果没有视图,应用一定是建立在表上。有了视图之后,程序可以建立在视图之上,从而使程序与数据库表被视图分隔开来。

2.4 物理设计阶段

根据数据库管理系统的特点和处理的需要,对逻辑设计形式的关系模型进行物理存储安排,设计索引,形成数据库(DATABASE)内模式。物理设计由操作系统和数据库管理系统共同完成。

[1] 熊发涯.SQL Server 2008数据库技术与应用[M].北京:高等教育出版社,2017.

猜你喜欢
主键视图实体
基于Go 实现的分布式主键系统研究
前海自贸区:金融服务实体
基于外键的E-R图绘制方法研究
5.3 视图与投影
视图
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”