知识点 · 数据库系统 · 基础
关系的码:超码、候选码、主码与外码
关系是一张二维表,码用来唯一标识和建立联系。
1. 超码:能唯一区分表中每个元组的属性集。它可能包含多余属性,如学生表中(学号,姓名)若学号已唯一,则它也是超码。
2. 候选码:最小的超码,去掉其中任一属性就不能唯一标识元组。一个关系可有多个候选码,如学号和身份证号。
3. 主码:从候选码中选定一个作为主要标识,唯一且不能为空。如选学号为主码。
4. 外码:本关系中的属性或属性组,引用另一关系的主码或候选码,用于表示表间关联。如选课表的学号引用学生表学号。外码值可以为空(视业务约束),也可以重复。
记忆:候选码=最小超码,主码=被选中的候选码,外码=引用别人的码。
每日一题 · 数据库系统
关系的码:超码、候选码、主码与外码
关系 R(A,B,C),函数依赖 F={A→B, B→C}。下列哪个是候选码? A. A B. AB C. AC D. B
解析
选 A。候选码必须能唯一标识元组且最小。计算闭包:A+=ABC,所以 A 能决定全部属性,是超码;A 的真子集为空,不能决定全部,故 A 是候选码。AB、AC 虽也能唯一标识,但含多余属性,只是超码,不是候选码。B+=BC,不能决定 A,不是候选码。