数据库关系中关键字⼀些概念的区分
⼀:⾸先,表和关系模式是不同的概念:
关系模式是⽐如S_1(SNO, SNAME, SAGE, SSEX, SDEPT),⽽表是基于通过ACCESS等设计的⼀张数据表。关系数据库中,关系模式是型,关系是值。关系实质上是⼀张⼆维表。
⼆:概念上
关键字(键,码):唯⼀地标识实体的属性集。分为:候选关键字和主关键字以及外部关键字。
候选关键字(Candidate Key):是⼀个属性,或者是⼀个属性组合。
主关键字(Primary Key,主键):若候选关键字多于⼀个,则选定其中⼀个作为主关键字(指S_1打下划线的)。
【助记(联想记忆):候选,说明多(候选码可以有多个),主,说明只有⼀个;但是都是关键字。例⼦:在众多拳击⼿中选择⼀个当主拳击⼿,他们都是拳击⼿(只是通过这个产⽣意象助记,不要纠结于例⼦)。这⾥拳击⼿是关键字,不管是众多的(候选关键字),还是最终的⼀个(主关键字),他们都是拳击⼿(关键字)】
另外:外部关键字(Foreign Key,外键):在关系模式R(U)中的属性或属性组X不是R的码,但X是另⼀个关系模式的码。
三:概念下
主属性(Prime attribute):包含在任何⼀个候选码中的属性。
⾮主属性(Prime attribute):不包含在任何⼀个码中的属性。
全码(All-key):整个属性组是码。
四:举例:
S_3(SNO, CNO, GRADE)
数据库属性的概念在关系S_3中,(SNO, CNO)->GRADE, (SNO, CNO) 是关键字,SNO,CNO称为主属性。