梗概

  • 先直观感受,直接快速试出所有的候选码
  • 先尝试找出唯一候选码:
    • 测试属性组(所有的L属性)是否为候选码,是就一定是唯一的
    • 测试属性组(所有的L属性, 尽量少的N类属性)是否为候选码,是就一定是唯一的
  • 如果找不到唯一候选码,就试出所有的候选码:
    • 从少到多地组合属性组(所有的L类属性,所有的N类属性尽量少LR属性),判断其是否为候选码,如果是的话,不一定是唯一的,继续找
      • 理论支撑:所有的候选码都包含所有的L类、N类属性

实例

之一

题目

R(U,F),U={A,B,C,D,E,P}, F={A→D, E→D, D→B, BC→D, DC→A}

L类:C和E

N类:P

因为CEP的闭包即为U,所以CEP为唯一候选码

之一

题目:

关系模式R(U,F),U={A,B,C,D},F={AB→C,C→D,D→A}

解:

L类:B,其他均为LR类

AB,BC是候选码