2013-04-04 88 views
0

pet store database schema改進數據庫模式

我創建一個小型寵物商店數據庫項目

數據庫需要通過由寵物類型或產品類別分組的供應商擁有的產品列表。

每個商店銷售和客戶訂單可以有每個訂單以及附屬於他們的員工多產品的客戶訂單必須有一個客戶和員工必須有一個位置,

http://imgur.com/2Mi7EIU

+0

你的問題是什麼? – TheEwook 2013-04-04 15:49:25

+0

@TheEwook我認爲這個問題是顯而易見的,他希望他如何能提高自己的模式 – 2013-04-04 15:50:27

+1

@詹姆斯一個建議 - 我什麼都看不到圖像 – 2013-04-04 15:50:50

回答

1

這裏有一些隨機想法

  1. 我經常從具有地址的東西中分離地址。您可以在員工,客戶和供應商之間建立一對一的關係到地址表。這將允許您爲每個實體擁有不同類型的地址,並且可以在不接觸原始表的情況下更改地址。

  2. 如果物品價格有可能發生變化,您需要以某種方式對此進行說明。那裏的想法是創建一個定價表,或者捕獲銷售物品表上的價格。

  3. 我不喜歡你處理銷售物品表的方式。基於事務類型的不同外鍵是不完全正確的。另一種方法是用SalesRecordId替換SalesItem SaleID和OrderId ...另一個更好的選擇是將InStoreSale,SalesRecord和CustomerOrders中的字段合併到一個表中,並在表上打上一個指示符來指示哪種類型的事務它是。

  4. 您可能會嘗試與桌面上的複數一致。例如,CustomerOrders與CustomerOrder。

  5. 將PositionPay放在EmployeePosition表上似乎是......員工在同一職位通常可以有不同的薪酬。

  6. PetType的結構是否足夠複雜?你不能擁有適用於多種寵物類型的物品嗎?例如,一個魚缸可以用於魚或蜥蜴?如果是這樣,那麼你需要一個多對多的連接表。

希望這有助於!

+0

感謝我會做出一些改變,並回來給你, SalesRecord的想法是能夠產生銷售報告的日常/那麼每週/每月的時間段還是不需要的? – 2013-04-04 17:18:16

+0

我不認爲你需要一個特殊的表來支持報告......除非你有一些表現或審計相關的需要來存儲報告的結果......如果你需要,我可能會採取不同的方式。順便說一句,如果你喜歡答案,你會介意接受嗎?我有一個個人的目標,在這裏建立代表;) – Doug 2013-04-04 17:24:17

+0

謝謝接受你的回答 我更新了設計讓我知道你的想法,我仍然不知道我怎麼能改善銷售部分 http://我。 imgur.com/EQ2rflB.png – 2013-04-04 19:07:03