5设计关系数据库时,要遵守一定的规则。尤其是数据库设计范例。简单介绍一下1NF(第一范式)和2NF(第二范式)

1NF:表中的属性都是原子属性,不能再拆分了。

2NF:在第一范式的基础上,要求所有非主属性完全依赖于主键。

例如,1NF:

不符合第一范式:

指导研究生

第一个研究生,第二个研究生

符合第一范式的关系:

导师专业第一届研究生,第二届研究生。

2NF在举例之前,先明确什么是非主观属性,什么是函数依赖。

在表格中:

主属性:候选代码中包含的所有属性。

非主要属性:候选代码中不包含的属性。

候选代码:一个或一组属性,可以唯一地标识一个记录,不包含多余的属性。(其实就是我们常说的主键。一个是一列的主键,一个是多列组成的联合主键)

函数依赖:表中属性X的值可以唯一确定Y的值,所以说X决定Y,或者Y依赖X(记为X->;y).

传输依赖关系:X-& gt;Y,Y-& gt;z .可以说z转移依赖于x。

多值依赖:一个属性的值可以决定一组属性。(函数依赖是一种特殊的多值依赖,整个依赖属性集只有1,不是倍数)。

(例如,假设有一个人事数据的数据表。根据表中记录的一个人的名字,我们可以查出他的年龄:姓名-& gt;年龄。在没有同名的情况下,名称就是这个表的候选键(代码),因为名称可以唯一确定一条记录的其他属性,比如:name->;(性别,年龄,职位),我们选择姓名作为表的主键(包括主属性)。除了名称以外的属性都是非主属性。有时候一个表可以有多个候选键,你需要选择其中一个作为主键,候选键包含的所有属性都是主属性。)