这是MySQL 5实力养成暨评量里的1-16.‘关于键值的说明,下列叙述何者有误?’
答案:(D) 候补键可以用来指向其他资料表内的主键
[adsense][/adsense]
这也是以前学关联资料库时没学好的结果,今天我们再度重读及分享联合大学的资料库投影片于下:
与Key相关的重要名词有以下数个:
- 超键(Super key)
- 由关联中的一个或多个的属性所构成、具有唯一识别性的属性集合即为超键。
- 最小的超键可能仅为单一属性。
- 最大的超键为所有属性的集合
- 超键可能会包括一些在区别值组时不需要的多余属性。
- 由关联中的一个或多个的属性所构成、具有唯一识别性的属性集合即为超键。
- 上述范例的Super key有:
- {学号}
- {身份证字号}
- {学号,姓名}
- {学号,姓名,身份证字号}
- …
- {学号,姓名,系别,年级,生日,地址,身份证字号}
- 以下则不为Super key:
- {姓名}
- {姓名,系别}
- …
- 候选键(Candidate Key)
- 是最少属性集合的超键。
- 能唯一识别表格中各不同Tuple的最少属性集合。
- 需具备:
- 唯一性(Uniqueness Property):可唯一识别Relation中所有的Tuple
- 最小性(Minimality)或不可缩减性(Irreducibility):若候选键为某些属性的集合,此属性集合若去除任何一个属性,即不符合唯一性。
- 最小性(Minimality)或不可缩减性(Irreducibility)说明:
- 下表可能需靠{姓名,生日,地址}或是{姓名,生日,监护人}做唯一识别,少任何一个栏位均有可能发生重覆识别之虑。
- 上述两个栏位组合皆为下表的候选键。
- 主键(Primary Key)
- 从多个候选键中选出,用来识别或代表表格中各个Tuple。
- 如果有多个候选键时,我们可以选取最方便、长度较短或作业上较常用到的来当作主键。如:学号。
- 主键不可为空值(Null Value)。
- 一个Relation中只可有一个主键。
- 被选为主键之属性名称下方,通常画一条实底线表示。
- 从多个候选键中选出,用来识别或代表表格中各个Tuple。
- 替代键(Alternate Key)
- 各候选键中,除了主键之外的其他候选键。※替代键、候补键为同义
- 外来键(Foreign Key)
- 外来键是一个Relation中的属性集合,而此集合在其它Relation中扮演主键(候选键) 的角色。
- 在某一表格(表格A)中的一个或数个属性,该属性(或属性集合)在另一表格(表格B)上担任主键。
- 被选为外来键之属性名称下方,通常画一条虚底线表示。
- 外来键是一个Relation中的属性集合,而此集合在其它Relation中扮演主键(候选键) 的角色。
- 外来键特性:
- 主要是维护表格之间资料的一致性(此一致性是由参考完整性限制所维持)
- 外来键不具唯一性
- 一个Relation中可有多个外来键。
- 外来键的内含值可以为空值(Null Value)
- 资料库中不可含有任何不相配(Match)的外来键值







1 則留言
Comments are closed.