DBMS键
键
- 键在关系数据库中发挥的重要作用。
- 它用于唯一标识表中的记录或数据行。 它还用于建立和识别表之间的关系。
例如:在学生表中,ID用作键,因为它对每个学生都是唯一的。 在PERSON表中,passport_number
,license_number
,SSN是键,因为它们对每个人都是唯一的。
键类型:
1. 主键(Primary key)
它是第一个用于唯一标识实体的一个且仅一个实例的键。 正如在PERSON
表中看到的那样,实体可以包含多个键。 从这些列表中最合适的键成为主键。
在EMPLOYEE
表中,ID
可以是主键,因为它对每个员工都是唯一的。 在EMPLOYEE
表中,甚至可以选择License_Number
和Passport_Number
组合作为主键,因为它们也是唯一的。
对于每个实体,主键的选择基于需求和开发人员。
2. 候选键(Candidate key)
候选键是可以唯一地标识元组的属性或属性集。
除主键之外的其余属性被视为候选键。候选键与主键一样强。
例如:在EMPLOYEE
表中,id
最适合主键。 其余属性(如SSN
,Passport_Number
和License_Number
等)被视为候选键。
3. 超级键(Super Key)
超级键是一组可以唯一标识元组的属性。 超级键是候选键的超集。
例如:在上面的EMPLOYEE
表中,对于(EMPLOEE_ID
,EMPLOYEE_NAME
),两个员工的名称可以相同,但他们的EMPLYEE_ID
不能相同。 因此,这种组合也可以成为键。
超级键是EMPLOYEE-ID
,(EMPLOYEE_ID
,EMPLOYEE-NAME
)等。
4. 外键(Foreign key)
外键是表的列,用于指向另一个表的主键。
在公司中,每个员工都在特定的部门工作,员工和部门是两个不同的实体。 因此无法将该部门的信息存储在employee
表中。这就要通过一个表的主键链接这两个表的原因。
例如,将DEPARTMENT
表的主键Department_Id
添加为EMPLOYEE
表中的作为一个属性。
现在在EMPLOYEE
表中,Department_Id
是外键,两个表都是相关的。