用 SELECT COUNT DISTINCT 识别键
在一个已有数据的表中,有一个非常基础的方法可以判断哪些列可以作为键:
对所有可能的列组合统计去重后的记录数。如果某个组合得到的数字
x等于表的总行数,那么您发现了一个超键(superkey)。然后依次去掉其中一列,直到再去掉任何一列都会使数字
x下降为止。此时,您就发现了一个(候选)键。
表 professors 有 551 行。它只有一个可能的候选键,且由两个属性组成。您可以使用 "运行代码" 按钮尝试不同的组合。找到解法后,您就可以提交答案。
本练习是课程的一部分
SQL 关系型数据库入门
练习说明
按照上述步骤,通过尝试不同的列组合来识别候选键。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Try out different combinations
___ COUNT(___(___))
FROM professors;