超码:可以区分记录的一个属性或多个属性的集合。
候选码:超码的最小集,即包含最少属性的超码。超码的最小集可以有多个,即多个集合大小相同,但元素构成不完全相同的最小集。
主码(主键):被选中的一个候选码。候选码可以有多个,主码只有一个。主键如果是由多个属性构成,又称联合主键。
主属性:属于某个候选码的属性。
非主属性:不属于任何候选码的属性。
表的域、属性、字段、数据项是一致的。
关系数据库中的依赖:根据A属性可以得到B属性,则B属性依赖于A属性。如:根据学号可以得到姓名,则姓名依赖于学号。
Java模块中的依赖:A模块的运行需得到B模块的支持,则A模块依赖于B模块。
关系数据库范式(Normol Form,NF):
第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(Boyce-Codd Normal Form,BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。
第N范式满足第N-1范式,N>=2。
下面的介绍,默认后者已经建立在前者的基础上,只是加上了增加部分的表述:
1NF:属性有原子性,即属性不可拆分。如: