SQL数据库和外键

时间:2017-10-31 11:45:23

标签: mysql sql

我对我的计算机科学硕士进行了评估。它们为您提供了3个表,并要求您编写SQL语句以在MySQL中构建表。有关作业,请参阅link

我正在努力编写预订的外键和主键。我知道我需要perftime和date作为外​​键但我觉得我也需要行号..但是我相信外键用于将两个表连接在一起。

此外,主键应该是预订ID,因为它是唯一的唯一项目,但它在分配中仅提及包括表格中的内容。

2 个答案:

答案 0 :(得分:0)

要制作好桌子,您需要预订ID。但在这种情况下,这是不允许的。所以现在你必须将pk放在列上: -perfDate -perfTime -Rownumber(否则您无法在“预订”表中创建唯一的主键)

您需要将表性能中的外键设置为在perfDate和perfTime列上进行预订。

您不需要行号上的fk。行号是复合主键的一部分。

答案 1 :(得分:0)

该作业实际上是告诉您带下划线字段的主键是什么。他们定义了一个复合键(一个主键,它是列的组合而不是单列)

预订的主键定义为PerfDate,PerfTime,RowNumber

外键是PerfDate,PerfTime,它链接到性能表中的主键,该表是包含这两列的复合键。这是因为一个表演可以有很多预订,每个预订只涉及一个表演

演出没有行号列,因此不能出现在您的外键