1

想象一下,我有一张表电影。它拥有电影的名字,导演等。它可以在任何时间开始和结束,并且这个时间创建为动态,在另一个表中:时间表。 因此,在Cine-Schedule一对多关系。所以,这将通过添加外键附表来解决。有些事情是这样的:一对多关系数据库中常见的相关表格

电影

ID名称

1 ...矩阵


附表

CineID。从...... ......周日

1 .. ........ 17.00。 19.00 .....星期三

1 ........... 20.00。 22.00 .....周四


现在想象一下,另一台也想利用这个计划,这是概念上完全从电影分离,让说CarRevision

在这种情况下,数据库将如何“更好的设计”。

  • 将另一个外部ID添加到Schedule?

附表

CineID。 RevisionID From To ...... WeekDay

1 .. ......... Null ............. 17.00。 19.00 .....星期三

1 ............ Null ............. 20.00。 22.00 .....星期四

空......... 325 ............ 14.13。 14.34 .....周一


  • 创建另一个表,像RevisionSchedule,同样附表,但-logically-不同的外国ID?

  • 其他解决方案?如果我们有许多想要使用Schedule的概念不同的表,那么怎么办?

回答

0

适当正常化,你会从计划中删除cine_id - 因为它不是一个时间表定义的直接部分

你会作出一个新表

cine_schedule 
-------------- 
cine_id 
schedule_id 
start_date 
end_date 

你也建立其他关系适当

car_schedule 
-------------- 
car_id 
schedule_id 

+0

因此,您的设计将为每一个到多个关系创建不同的表格。 –

+0

是的,这是正确的。 – Randy