我試圖爲以下實體設計數據庫模式:商店,產品,折扣和買家。目標是爲幾款產品提供折扣活動。然而,我在數據庫架構,我可以看到第一次迭代有如圖所示波紋管的循環依賴關係:SQL循環依賴關係
的問題是:是有這種依賴不好的SQL設計?另外,如何將買方的實體包括在內,以代表參考產品和所使用的折扣?謝謝。
我試圖爲以下實體設計數據庫模式:商店,產品,折扣和買家。目標是爲幾款產品提供折扣活動。然而,我在數據庫架構,我可以看到第一次迭代有如圖所示波紋管的循環依賴關係:SQL循環依賴關係
的問題是:是有這種依賴不好的SQL設計?另外,如何將買方的實體包括在內,以代表參考產品和所使用的折扣?謝謝。
沒有循環引用,這是不會被定義爲不正確的:例如具有部門外部關鍵字的員工(員工工作)和部門之間的外部關鍵字(由管理人員)。
的設計缺陷,我確實看到:該模型能夠從一個店的折扣從商店B.產品
如果你想避免這種情況,你可以添加STOREID到主(或備用唯一鍵)的產品和折扣中,將該列添加到Product_Discounts並使其成爲兩個外鍵的一部分。
至於合併買方:您需要創建買方,銷售和銷售物品表。
最後,你需要一個Sales_Items_ Products_Discount表,用於存儲應用於銷售項目的產品折扣。
標題外殼/複數表名稱讓寶寶耶穌哭了。 –
命名風格有很多不同的偏好,我認爲這不是你的。實際上,它不是我的,但我試圖保持與問題中使用的相同的風格,因爲我認爲混合風格是最糟糕的風格。 –
或者,制定一些標準並隨時間治癒結構。游泳池可能很髒,但如果你沒有開始清潔它,它總是很髒。 –
'Stores'和'Discounts'之間的關係是什麼? – eggyal
根據您的設計,多種折扣可適用於同一產品。它很好嗎?如何選擇一個折扣(或計算)?可能只是一列DiscountId(可爲空)應添加到產品表中。此外,我會使產品商店多tomany但實際上設計很好(恕我直言)。 – StanislavL
@eggyal商店1 - M折扣 – alexsc