2014-01-24 24 views
0

在這裏,我有一個Movie實體,具有我需要的所有屬性。如果DVD商店有多個副本和每部電影的多個格式,我無法理解的是什麼。例如,這些電影的每個副本都使用Movie_ID和項目副本號的組合來標識。所以我的意思是當一個客戶租用一個電影項目時,他/她實際上租了一部電影 - 稱爲一個項目。例如:「蝙蝠俠」是一部電影......但你在家裏的DVD拷貝是一個物品。所以,我失去的是一個客戶可以根據他/她的配額租用不同電影項目的副本。這可以嗎我做了什麼?如果沒有,那麼做什麼方法呢?租用電影實體

+0

什麼是您目前的ER圖是什麼樣子? – Shiva

+0

這是我迄今爲止... – Ris

回答

1

跳草案模型可幫助您:
enter image description here

2

電影項目代表電影的副本權利?實際的磁盤本身?

讓我們現在重新命名它,所以我可以更好地解釋,當然,您可以將它重命名爲您喜歡的。

現在讓我們將其稱爲ProductInformation。 所以你有一個productinformation在這種情況下鏈接到一部電影。 ProductInformation需要有額外的價值,但它需要知道它是DVD藍光還是其他。

所以我們將創建另一個名爲ProductType的實體。這應該包含一個ID和一個TypeName,它將包含值DVD,藍光或其他東西。

在ProductType和ProductInformation之間創建一對多關係。

那裏,現在我們有一個productInformation類型和電影鏈接到它! 將CurrentPrice和IsRental列添加到此實體中,從電影實體中刪除價格和isrental屬性。

您應該更改productInformation和Movie之間的關係,如下所示: 一部電影可以有多個ProductInformation,一個ProductInformation可以只有一個Movie。

現在讓我們創建一個產品實體。產品實體將代表實際產品(物理DVD,藍光或其他)。 它將有一個ID,如果適用的話,可能是一個條形碼,因爲它是一家商店。

讓我們創建ProductInformation和Product之間的關係,一個產品可以有一個productInformation,一個productInformation可以有很多產品。

現在刪除您的用戶(重命名用戶到客戶)和電影之間的關係。電影不是物理的,客戶不會租一部電影,它會租用一個產品。電影只不過是關於產品的信息。

現在我們需要創建一個實體ProductCustomer或者將其命名爲Transaction。 這將照顧我們的用戶和產品之間的多對多關係。

給它一個Id,ProductId,CustomerId,Price(嘿,我們在我們的產品信息中補充說,我們沒有?,是的,我們做到了,但價格改變了,交易永遠在數據庫中。給它一個價格,以便我們知道客戶當時支付了多少)。將這些屬性rentaldate和從電影返回給此實體(產品客戶或交易),並在電影中將其刪除。 aaaand你應該把所有的東西都修好,所有的煩惱都應該解決。

對不起,我不能爲你畫一個圖,只有這檯筆記本電腦。 :-) 希望我的解釋和圖表一樣多。