数据库中主键、主码、主属性、关键字、候选关键字、码的区别

来源:百度知道 编辑:UC知道 时间:2024/06/18 01:51:41
主键、主码、主属性、关键字、候选关键字、码,概念太多看着烦,请用精简的解释区分一下,越简单越好。
比如:主码=主键。
我给个例子,告诉我以上名词对应下面的哪个?题目来自CSDN,谢谢。
已知关系R如下表所示
R
A B C D
a b c d
a c d e
b d e f
a d c g
b c d g
c b e g

码:代表数目的符号
主码 我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。
所谓主码就是在实体集中区分不同实体的候选码。
一个实体集中只能有一个主码,但可以有多个候选码。
必须注意两点:
1.主码的选择必须慎重。
例如:人的姓名是不可以做主码的,因为可能有多个人重名,而身份证可以做主码。
2.主码的选择应该是那些从不或极少变化的属性。
例如:一个人的地址就不应该作为主码的一部分,因为它很可能变化

候选码 若关系中的某一属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为候选码。
例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“年龄”的属性组合足以区分学生实体,那么{学号}和{姓名,年龄}都是候选码

主属性 包含在任一候选关键字中的属性称主属性。

非主属性 不包含在主码中的属性称为非主属性。
非主属性是相对与主属性来定义的。
例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性