[英]Mysql database design in a many to many relationship
我正在設計一個數據庫,它涉及產品和攜帶它們的商店。
許多商店將攜帶相同的產品。 同樣,顯然,每家商店會有很多類型的產品。
我試圖對制作表格的最佳方法進行一些研究,但我在網上閱讀的所有資源都是技術上令人疲憊和邏輯上形式化,以至於它無法直觀地理解他們所說的內容。
我一直聽到有人說你應該使用聯結表,但我不明白這在我的情況下會如何適用。
我想要做的是為“商店”類別創建一行,然后有單獨的行“product_1”,“product_2”“product_x”等我將列出商店銷售的每個產品,但我不確定如果這是好的形式。
此外,一些商店可能有50個產品,這意味着我需要50行。 我不確定是否有辦法解決這個問題。
最后,我的問題是,按照標准慣例,這種關系的理想數據庫結構是什么?
我會有三張桌子。 一個用於商店[名稱,ID和信息]。 一個用於項目[名稱,ID和信息]。 一個鏈接兩個[關系ID,商店ID和商品ID]。
這樣您就可以更改商店和商品數據,而無需更新關系表。
因此,如果您想要商店中的商品,則在關系表中搜索與商店ID匹配的商品。 反之亦然如果您想要具有商品的商店,則在關系表中搜索商品ID並返回包含該商品的商店ID。
裸露的必需品示例:
STORE:
*********************
storeID storeName
*********************
1 store1
2 store2
3 store3
ITEMS:
*********************
itemID itemName
*********************
1 item1
2 item2
3 item3
RELATIONS:
*********************
storeID itemID
*********************
1 1
1 2
2 1
2 3
3 2
3 3
因此,要查找store1具有哪些項目,您將獲得storeID為1,並搜索關系表以查找哪些行具有商店ID = 1,這將返回第一行和第二行,這告訴您store1具有第1項和第2項類似於找到哪些商店cary item2你將得到item2的ID,即2,在關系表中搜索itemID = 2,這將返回第二行和第五行,這告訴你商店1和3有item2。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.