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