如何構建動態自引用多對多關係?動態自引用多對多關係
我有一個問題,我無法克服。
我有表:
Types:
id
name
Products:
id
name
type_id
product_products
parent_id
child_id
讓我們假定我們有幾個產品在產品表。其中一些是:
(名稱是不相關)
CB1234 - products.type_id -> cardboard
CBB999 - products.type_id -> cardboardbox
CBP321 - products.type_id -> paper
TSH123 - products.type_id -> tshirt
FAB321 - products.type_id -> fabric
THR321 - products.type_id -> thread
現在我想告訴大家,我有一個用紙板和紙張類型的產品cardboardbox是product_product關係。在紙箱紙板和紙箱紙張關係,我想定義多少百分比的產品使用(一致性),使紙箱產品(可以說80/20,不相關)
我對不同的產品有不同的情況。現在我想要定義T恤織物和T恤線程之間的關係,但不是一致性,我想爲此產品定義織物和線程成本。
產品和產品參數計數不固定。可能有500種不同的產品和它們之間的不同關係。這個問題有什麼好的做法?有跡象表明,我想出了
- 很多手工的許多一對多的關係表
- 很多很多列的一些方法來product_product表
在這兩種情況下,有一些事情我不不喜歡設計,但也許這是正確的方式來做到這一點,也許我從一開始就設計我的數據庫是錯誤的。
感謝您的評論。我認爲你可能是對的。 「最終用法是什麼?你想問什麼樣的問題?」 - 答案就是全部。我不知道未來的數量或類型問題。這就是爲什麼我需要它儘可能動態。 –
一個非常通用的選項就像是一個帶有relationship_type的product_relationship表,但我認爲使用一個表來處理大量關係與關係數據庫的工作方式是對立的,並且只是存儲麻煩。每個表的清晰目的(「對象」或對象之間的關係)是做事的方式。 –