独特的陈述和FK

时间:2016-06-29 10:37:49

标签: sql

我必须回答关于UNIQUE语句的这个问题。特别是,问题要求我指出哪个是可以在5列关系上定义的唯一语句的最大数量。我想这个数字应该是5 ^ 5。这是正确的吗? 关于外键的另一个问题问我关系R的属性A是否可以是关系S中引用B的外键,即使A不是R的主键。我认为因为FK约束也可以包含NULL值,属性指定为FK引用另一个表上的PK不应该是主键本身。这样对吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以定义的最大不同唯一关系数是2 ^ n - 1.基本上,任何给定列都可以在关系之内或之外。 “ - 1”是因为您无法定义没有列的唯一关系。

例如,有三列,您可以:

  • A
  • C
  • A,B
  • A,C
  • B,C
  • A,B,C

如果您将这些视为二进制数字,您将看到模式:

  • 100
  • 010
  • 001
  • 110
  • 101
  • 011
  • 111