关系数据库(MySQL)的规范化以及设计原则

Posted 真正的小明被占用了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系数据库(MySQL)的规范化以及设计原则相关的知识,希望对你有一定的参考价值。

1.了解范式(NF)

为了使得关系数据库能够符合规范理论,所有的数据库表都要满足:范式

关系数据库的范式有五类:第一范式,第二范式,....第五范式。下面我们来了解一下前三个范式:

第一范式:简单来说就是表中不能嵌套表(使用一个列不能有多个值,列是原子级别的不能在分割)

第二范式:(在介绍第二范式之前,首先要知道什么是主键,如果这一列是主键那么,每一行的的这一列都是不能为空且不能重复的)

简单来说第二范式就是说,你的属性必须完全依赖你的主键,如果你的表里面有一个属性是不依赖你的主键的,或者是依赖你的联合主键中的一个,那么你必须将表进行拆分。

最后最简单来讲就是,你表中的属性要和你的主键相关联,能被主键标识。

第三范式:就是说一张表里面不能存在传递依赖。就是说你这表里面的某一属性不能依赖另外一个属性来传递。

2.数据库的设计原则

1.数据库中的数据应该尽可能的实现共享,减少重复等等。

2.保证输入、修改数据时的一致性和正确性。

3.保证数据与使用数据的程序有较高的独立性。

3.实体的三种关系

1.一对一:一张表中的一个属性只与另外一张表的一个属性匹配。

2.一对多:一张表中的一个属性可以与另外一张表的多个属性匹配。

3.多对多:多对多,需要使用三种表来实现。第三个表为链接表,链接表里面含有另外两张表的主键。

4.数据库的三级模式结构

1.外模式:一个数据库可以有多个外模式,是呈现在用户目前的模式。可以看见数据逻辑和特征描述。

2.模式:数据库只有一个逻辑模式,在数据库的中间层。

3.内部=模式:数据库只有一个内模式,就是对数据库的存储方式在底层的描述。

 

以上是关于关系数据库(MySQL)的规范化以及设计原则的主要内容,如果未能解决你的问题,请参考以下文章

3 万字,关系型数据库性能体系,设计和效率提升

Day518.数据库的设计规范 -mysql

数据库篇:mysql表设计原则-三范式

JAVA设计模式大总结JAVA设计模式的六大原则 以及类之间的六大关系

mysql数据库关系表设计原则

数据库设计原则