先决条件 – DBMS |关系模型中的键
主键和候选键都是用于从表中访问元组的属性。这些(主键和候选键)也可用于创建两个表之间的关系。
主键:
主键是一组唯一标识关系或表中元组的属性(或属性)。主键是一个最小的超级键,所以在任何关系中只有一个主键。例如,
Student{ID, F_name, M_name, L_name, Age}
这里只有ID可以是主键,因为姓名、年龄和地址可以相同,但ID不能相同。
候选键:
候选键是一组唯一标识关系或表中元组的属性(或属性)。正如我们所知,主键是一个最小的超级键,因此在任何关系中只有一个主键,但可以出现多个候选键。候选键的属性可以包含一个与主键相反的 NULL 值。例如,
Student{ID, First_name, Last_name, Age}
在这里我们可以看到两个候选键ID和{First_name, Last_name, DOB} 。因此,这里存在多个候选键,它们可以唯一标识关系中的元组。
主键和候选键的区别:
S.NO | Primary Key | Candidate Key |
---|---|---|
1. | Primary key is a minimal super key. So there is one and only one primary key in a relation. | While in a relation there can be more than one candidate key. |
2. | Any attribute of Primary key can not contain NULL value. | While in Candidate key any attribute can contain NULL value. |
3. | Primary key can be optional to specify any relation. | But without candidate key there can’t be specified any relation. |
4. | Primary key specifies the important attribute for the relation. | Candidate specifies the key which can qualify for primary key. |
5. | Its confirmed that a primary key is a candidate key. | But Its not confirmed that a candidate key can be a primary key. |