APP下载

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

2018-02-17黄雅琼

信息记录材料 2018年3期
关键词:主键字段数据表

黄雅琼

(江西旅游商贸职业学院 江西 南昌 330000)

1 引言

数据库设计的主要内容一般包括数据库逻辑设计、数据库概念设计以及数据库物理设计。数据库设计中的每一项内容都是至关重要的,关系到数据库的正常应用,而数据库系统则在信息化技术应用系统中占据着重要的地位。在众多应用系统之中,由于数据库设计方面存在着不规范、不合理等状况,直接导致了数据库系统出现异常状态,严重的情况下,还会出现系统崩溃的现象。因此,在对数据库系统进行设计的过程中,保持其设计的规范化是非常必要的。在对项目数据库进行设计的过程中,应以项目的具体需求作为出发点,并从各阶段数据库出发,使数据库系统的设计更加合理化、规范化。本文主要从数据库逻辑设计着手,并从范式、约束、命名等方面来实现规范化检查和设计。

2 数据库逻辑设计应该对范式的要求进行满足

为了使数据库逻辑设计在结构方面更加清晰化、合理化,并保证数据库中的冗余数据能够减少,从而在对数据进行插入、修改以及删除的过程中,使其出现的异常能够得以避免,在进行数据库逻辑设计的过程中应该对相应的规则进行遵循,当数据库的类型为关系型时,此规则及被称作范式。从当前关系数据库的范式来看,主要有6种,分别为第一范式(简称为1NF)、第二范式(简称为2NF)、第三范式(简称3NF)、第四范式(简称4NF)、第五范式(简称5NF)以及Boyce-Codd范式(简称BCNF)。以上6种范式的具体规则和要求存在的差异,其中,第一范式的要求是最低的,同时其要求也是最基本的。因应用系统在具体需求方面存在着差异,因此,在进行数据库逻辑设计过程中,应该使各种范式的具体要求得到满足。但着并不意味着在满足范式方面最好能够做到更多范式的满足,而是需要以应用系统对数据进行访问的情况以及数据库存储过程中的数据记录的具体情况为根据,一般来讲,若要能够使第三范式(3NF)得到满足即可。

3 数据库逻辑设计应该对约束的规范化进行满足

3.1 主键约束

其目的是为了使实体中形成的完整性得以实现,包括分布在唯一标识表内部的各实体。通常而言,各数据表都应该对主键进行设置,并且一个数据表只能够设置单个主键,所设置的这一主键可以选择某一字段,也能够选择多字段相互组合而形成的复合字段,也称之为复合主键。对表中的字段进行选择,使其成为主键的关键点在于这一字段是否能够对表中各实体进行唯一标识。

3.2 外键约束

对数据表本身的参照完整性进行实现,能够对各数据表之间形成的联系进行体现,这是使各数据表之间出现的数据能够保持一致性的主要方法。例如,对b表中出现的主键字段进行引用,并将其当做a表中的某一字段,这种情况下,上表中的这一字段就是它的外键,这就使a表和b表之间外键约束的这种关系得以形成和实现,在a表之中这一字段的值应该对b表中的与这一字段相互对应的NULL值或是有效值,若对应的是NULL值,则其前提条件是a表之中的这一字段必须允许NULL值的出现和存在。

3.3 检查约束

主要用于特定数据表之中的某一字段或者是多个字段能够接受的格式或者数据值。例如,在某一特定数据表之中,对“性别”这一字段进行检查约束的设置时,使这一字段的值仅仅能够接受“男”或者是“女”,当其他值进行输入时,则显示无效。当对字段“邮政编码”进行检查约束的设置时,所接受的数字位数只能是六位数。

3.4 唯一约束

对于出现在数据表之后总的某一非主键类型的字段,若要保证其输入的值不重复,这是对这一字段的设置便需要进行唯一约束。例如,若要保证数据表中的“用户名”这一字段不出现重复值,在这一字段中对唯一约束进行设置便可。

3.5 默认值约束

主要是在数据表之中,对某一个字段的值进行单个定义,当相应的输入值不存在时,则将此单个定义的字段值使用系统中默认自动提供的字段值进行代替。

4 数据库逻辑设计应该对命名的规范化进行满足

在对数据库逻辑结构进行设计的过程中,无论是为数据表之中的某一字段进行命名,还是为数据库之中的某一对象进行命名,都应该对相应的命名规则进行遵循,从而保证其规范化。在项目之中,对数据库字段或是对象的命名规范化过程中,需要对以下原则进行遵循:

4.1 对数据库对象命名所采用的规则应该是此类行业中被广泛认可的共性规则,并不建议应用与这一规则相悖逆的规则而自成的相关体系,不应该特立独行。若命名的过程中需要以字母进行命名时,应该使用较为容易看懂的常用英文单词或者是有英文单词组合而成的短语,而不应该对一些不常使用的、难以理解的英文单词或是短语进行应用,同时,也不应该使用汉语拼音来对其命名。

4.2 在进行命名的过程中,应该保证对共性规则进行遵循,这是最基本的前提条件,当然,在进行命名的过程中,可以通过以及的命名风格来进行命名,但是若要采取这种命名方法,应该使同一个项目之中所采取的命名风格保持相应的一致性,而不应该出现需要命名的对象采取的命名风格存在差异,若在命名风格方面出现差异,则在整体上会给人一种杂乱感,显得没有规律感,从而使命名的规范化程度得以降低,从而不利于满足命名的规范化。

4.3 在使用单词或是缩写单词时,应该保证这些单词以及缩写单词能够被使用者顾名思义,使单词或者缩写单词的显性含义得以明显化,也就是说,再低单词以及缩写单词进行应用时,应该保证单词及缩写单词的含义清晰、明确,让人一看便懂,在进行缩写的过程中,应该使其含义的被理解程度偏重于大众化,并且缩写的形式不会出现任何歧义,所采取的缩写方式最好是经常见到的缩写方式。例如,在对数量英文单词“Quantity”进行缩写时,应该使用“Qty”进行代表缩写,而不要使用“Qua”、“Qat”等重复可能性较多的缩写词进行代表缩写。除此之外,对于英文缩写而言,还应该有相应的注释对缩写进行说明。

4.4 命名的过程中,不要对一些特殊性的符号或是全数字进行使用,并且更不应该对数字和符号混合使用来进行命名。例如,命名时不应使用特殊符号“?”、“¥”、“%”等;命名时不应使用全数字“12”、“5”“789”等;命名时更不应对数字和符号混合使用,如“71#”、“9&”等。命名的过程中,必须保证名称的首字符为英文字母。

4.5 在命名的过程中,不应该对数据库系统之中出现的关键字来进行使用命名。例如,英文单词“join”、“table”以及“create”等,这些词汇在数据库系统中较为容易出现,并且在数据库系统之中还具有某些特殊的含义。

4.6 在命名的过程中,应该避免使用空格来进行命名,在使用短语进行命名时,单词之间也不应该存有空格。

5 结语

综上所述,数据库逻辑设计要求一般较为严格,尤其特定的规范,若在设计之中出现不符合相应规范的情况,那么将会导致数据库逻辑设计出现错乱,失去其应用的效果,因此,在对数据库逻辑设计过程中应注重设计的规范性,从而使数据库能够更好的被应用。

[1]刘中胜.数据库逻辑设计中的规范化[J].数字技术与应用,2017(1):188-188.

[2]邢泉.数据库逻辑设计中消除规范化处理问题[J].计算机系统应用,2013,22(6):179-181.

猜你喜欢

主键字段数据表
基于Go 实现的分布式主键系统研究
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于外键的E-R图绘制方法研究
浅谈台湾原版中文图书的编目经验
基于列控工程数据表建立线路拓扑关系的研究
CNMARC304字段和314字段责任附注方式解析
图表
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究