候选码/候选键建 (多组)
唯一标识一个记录的字段(可以有多个)
如:学号、身份证号
找出候选键
提示: 不能被其他属性推导的属性,称为 入度为0的属性
将关系模式的函数依赖关系用
有向图的方式表示。(建议不做)找出
入度为0的所有属性如果这些属性,能 推导出其他所有属性,则该属性集为候选键。
如果这些数学,不能推导出其他所有属性,而是 需要加入一些中间结点(既有入度,也有出度的结点),才能推导其他所有属性,此时的属性集合为候选键。
例子
例子1答案
- 找出 入度为0 的属性:
A,B,C,D - 这4个属性可以推导出所有属性
结论:所以候选键是 A,B,C,D
例子2答案
B
技巧:有选项,直接用各个选项往里面套:
- A → BC:A可以推导出所有属性
- B → C,B → A:B 可以推导出所有属性
说明有 两组候选码
例子3
关系模式 CSZ(CITY,ST,ZIP),其属性组上的函数依赖集为:F={(CITY,ST)→ ZIP,ZIP → CITY} 其中CITY表示城市,ST表示街道,ZIP表示邮政编码。
- 找出 入度为0 的属性:
ST - ST属性不能推导出所有属性
- 加入 一些中间节点,得到:
- CITY,ST:可以推导出 ZIP,即:推导出全部属性
- ZIP,ST:ZIP可以推导出 CITY,即:推导出全部属性
所以有两组候选码:CITY,ST、ZIP,ST
该关系模式中的 所有属性都是候选码,此时是 全码/ALL-Key
题
若给定的关系模式为R,U={A,B,C},F={AB→C,C→B}则关系R()。
A、有2个候选关键字AC和BC,并且有3个主属性
B、有2个候选关键字AC和AB,并且有3个主属性
C、只有一个候选关键字AC,并且有1个非主属性和2个主属性
D、只有一个候选关键字AB,并且有1个非主属性和2个主属性
答案
- 找出
入度为0的属性:A、B、C - A、B、C 这3个属性,无法 单独 推导出所有属性
- 加入中间节点:
- AB能推导出C,即:推导出所有属性
- AC能推导出B,即:推导出所有属性
结论:有两组候选关键字 AB、AC,3个主属性
B
题
给定关系模式R(U,F),其中:U为关系模式R中的属性集,F是U上的一组函数依赖。假设U={A1,A2,A3,A4},F={A1 → A2,A1A2 → A3,A1 → A4,A2 → A4},那么关系R的主键应为()。函数依赖集F中的()是冗余的。
A、A1
B、A1A2
C、A1A3
D、A1A2A3
A、A1→A2
B、A1A2→A3
C、A1→A4
D、A2→A4
分析第一问
将各个选项代入题干,看哪个选项符合
A:A1是
入度为0的属性,能推导出 A2,A1A2能推导出A3,A1能推导出A4,即:推导出所有属性,正确B:不用A2
C:A3不是
入度为0的属性,错D:A1A2A3:不用A2A3
分析第二问
将各个选项代入题干,看哪个选项符合
A、A1→A2:必不可少
B、A1A2→A3:必不可少
C、A1→A4:由于
A1 → A2,A2 → A4,根据 传递律,推导出A1 → A4,所以 C 正确D、A2→A4:注意:有 D ,那么 C 就冗余
答案
B
D
题
给定关系模式 R<U,F>,其中U为属性集,F是U上的一组函数依赖,那么Armstrong公理系统的伪传递律是指()
A、若X→Y,X→Z,则X→YZ为F所蕴涵
B、若X→Y,WY→Z,则XW→Z为F所蕴涵
C、若X→Y,Y→Z为F所蕴涵,则X→Z为F所蕴涵
D、若X→Y为F所蕴涵,且Z≤U,则XZ→YZ为F所蕴涵
答案
- A:合并
- B:正确
- C:传递
- D:曾广
