APP下载

数据库逻辑设计中的规范化

2017-04-25刘中胜

数字技术与应用 2017年1期
关键词:数据库设计数据库系统规范化

刘中胜

摘要:数据库系统是信息化应用系统的核心组成部分,不合理的数据库设计可能会引起操作异常、性能降低、空间浪费等后果,甚至影响系统的安全性和稳定性,因此,设计合理的数据库系统是至关重要的。数据库设计包括概念结构设计、逻辑结构设计和物理结构设计,本文将从数据库逻辑结构设计部分探讨设计中的各种规范化措施,以致设计出合理的项目数据库。

关键词:数据库系统;数据库设计;规范化

中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2017)01-0188-01

数据库系统是信息化应用系统的核心组成部分。在很多应用系统中,因为数据库设计不合理、不规范,导致系统出现操作异常、性能降低、空间浪费,甚至是系统崩溃等严重现象。如何避免数据库系统出现这些不良现象,在数据库设计时实现规范化是至关重要的。设计项目数据库时,应该基于项目本身实际需求,从数据库设计的各个阶段出发,设计合理规范的数据库系统,数据库设计包括概念结构设计、逻辑结构设计和物理结构设计,本文将主要考虑逻辑结构设计过程中的规范化,从范式、命名、约束等主要方面进行规范化的设计和检查。

1 设计满足范式要求

为了设计结构清晰合理、数据较少冗余的数据库,避免出现修改、插入和删除数据时出现异常,在数据库设计时必须遵循一定的规则,在关系型数据库中,这种规则称为范式。目前,关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。这六种范式有着各自不同规则要求,但最低的、最基本的要求是第一范式。根据应用系统的实际需求不同,在设计相应数据库时应满足不同的范式要求。但不是满足范式越多越好,而应根据应用系统访问数据的情况和数据库存储的数据记录情况而定,一般情况下,满足第三范式就可以了。

2 命名满足规范化

在数据库逻辑结构设计时,不管是为数据库对象(如数据表、视图等)命名,还是为数据表中的字段命名,都需要遵循一定的命名规则。在项目中,规范化数据库对象或字段命名时,要遵循如下几个原则:

(1)采用的命名规则应是行业认可的共性规则,不建议违背此规则而自成体系,特立独行。如当用字母命名时,应用常用易懂的英文单词或英文单词的组合,而不应使用偏僻难懂,日常使用率极低的单词来命名,也不应使用汉语拼音来命名。(2)在遵循命名共性规则的前提下,可以有自己的命名风格。但同一个项目中应保持一致的命名风格,不要这几个对象用这种命名风格,而另几个对象用其他的命名风格,否则,给人以杂乱无章的感觉,影响命名的规范化程度。(3)要使用“见名知意”的单词或单词缩写,单词意思要明确、清晰,缩写时应使用大家都能理解的,不会产生歧义的缩写方式,最好是常见的缩写方式。例如数量的缩写应使用“Qty”,而不建议使用“Qua”。另外,对于缩写建议有相应的注释说明。(4)不要使用全数字和特殊符号(下划线除外,如?、%、&等),如名称不应为诸如“123”、“5”、“8?”之类。名称的第一个字符应为英文字母。(5)不应使用数据库系统的保留关键字。如名称不应使用“create”、“table”、“join”等,这些关键字在数据库系统中有特定的含义。(6)禁止使用带空格的名称。需要使用多个单词组合的时候,中间不应有空格,如“order date”。

3 约束满足规范化

(1)主键约束。实现了实体完整性,唯一标识表中的每一个实体。一般情况下,每个数据表都需设置主键,一个表只能设置一个主键,这个主键可以是一个字段,也可以是多个字段的组合(复合主键)。选择表中哪个字段作为主键,关键是分析该字段能否唯一标识表中的每一个实体。(2)外键约束。实现了数据表的参照完整性,体现了数据表之间的联系,是维护数据表之间数据一致性的重要方法。例如,引用B表中的主键字段作为A表中的一個字段,则在A表中此字段为他的外键,这样就实现了A和B的外键约束关系,在A表中此字段的值必须引用B表中此字段对应的有效值或NULL值(前提A表中此字段允许为NULL值)。(3)检查约束。用于指定数据表中的一个字段或多个字段可以接受的数据值或格式。例如,在某数据表中,“性别”字段设置检查约束,使得此字段的值只能接受“男”或“女”,输入其他的值则无效。“邮政编码”字段设置检查约束,只能接受六位数字。(4)唯一约束。针对数据表中某非主键字段,要想确保其不能输入重复的值,则需为此字段设置唯一约束。例如,要确保某数据表中“用户名”字段不能输入重复值,则在此字段上设置唯一约束即可。(5)默认值约束。就是在数据表中为某字段定义一个值,当没有为此字段输入值时,则将定义的值自动提供给这一字段。

4 结语

在应用软件开发过程中,数据库需求分析和设计,是软件生命周期中的前期阶段,也是重要的阶段,他影响到软件生命周期后期各个阶段的顺利进行。因此,在进行数据库设计时不但要遵循一定设计规范原则,也应考虑设计符合客户应用的实际项目需求,同时,在设计完成之后,在逻辑结构方面,应从范式、命名、约束等主要方面进行规范化的设计和检查,以确保数据库设计的合理性、有效性、规范性和可行性。

猜你喜欢

数据库设计数据库系统规范化
数据库系统shell脚本应用
微细铣削工艺数据库系统设计与开发
试论数据库设计在网站开发中的应用
实时数据库系统数据安全采集方案
面向等级考试,探讨高校理工科计算机基础课程教学改革
核反应堆材料数据库系统及其应用
狂犬病Ⅲ级暴露规范化预防处置实践
高血压病中医规范化管理模式思考
满足全科化和规范化的新要求