我对我的计算机科学硕士进行了评估。它们为您提供了3个表,并要求您编写SQL语句以在MySQL中构建表。有关作业,请参阅link。
我正在努力编写预订的外键和主键。我知道我需要perftime和date作为外键但我觉得我也需要行号..但是我相信外键用于将两个表连接在一起。
此外,主键应该是预订ID,因为它是唯一的唯一项目,但它在分配中仅提及包括表格中的内容。
答案 0 :(得分:0)
要制作好桌子,您需要预订ID。但在这种情况下,这是不允许的。所以现在你必须将pk放在列上: -perfDate -perfTime -Rownumber(否则您无法在“预订”表中创建唯一的主键)
您需要将表性能中的外键设置为在perfDate和perfTime列上进行预订。
您不需要行号上的fk。行号是复合主键的一部分。
答案 1 :(得分:0)
该作业实际上是告诉您带下划线字段的主键是什么。他们定义了一个复合键(一个主键,它是列的组合而不是单列)
预订的主键定义为PerfDate,PerfTime,RowNumber
外键是PerfDate,PerfTime
,它链接到性能表中的主键,该表是包含这两列的复合键。这是因为一个表演可以有很多预订,每个预订只涉及一个表演
演出没有行号列,因此不能出现在您的外键
中