我正在学习SQL,并创建了该数据库以提供电影院预订服务。
我的问题是我无法进行预订,因为我的预订表没有指向会议室的外键。我也无法创建从预订到餐桌空间的关系,因为那样会违反规范化规则。
没有预留席位的预订没有意义。 您能给我建议如何解决吗?
我正在使用MySQL。
答案 0 :(得分:1)
您必须按顺序插入。首先创建最低级别的条目,然后升序。
如果我需要一个房间来进行预订,则在创建预订之前先创建房间。如果需要提取刚创建的行的标识值,以便可以在过程中传递它,则可以使用LAST_INSERT_ID()。 The equivalent of SQLServer function SCOPE_IDENTITY() in mySQL?
作为传递密钥的示例:
[[ 1 2 3] # good
[ 2 3 4] # good
[ 3 4 5] # good
[ 4 5 111] # bad – mix of sequence 0 (4, 5) and sequence 1 (111)
[ 5 111 222] # bad
[111 222 333] # good
[222 333 444] # good
[333 444 555] # good
[ 1 2 3] # good
[ 2 3 4]] # good