簡體   English   中英

我該如何處理數據庫中的子類別?

[英]How can I deal with the sub category in database?

我有以下格式的csv文件:

1043374544±Collectibles
1043374544±Decorative & Holiday
1043374544±Decorative by Brand
1043374544±Christopher Radko
1043397455±Collectibles
1043397455±Decorative & Holiday
1043397455±Decorative by Brand
1043397455±Enesco
1043397455±Precious Moments

在分隔符是項目所屬的類別之后,數字是itemID,“±”是分隔符。 底部的每個類別都是上一個類別。 因此,在這種情況下,就像收藏品->裝飾和假日->品牌裝飾->克里斯托弗·拉德科。 問題是項目將具有不同數量的類別。

因此,如何創建可以查詢並知道每個類別或子類別中有哪些項目的表。

當一個項目可以具有任何數量的類別並且一個類別可以包括任何數量的項目時,則您具有通常稱為n:m關系。

解決此問題的常用方法是添加第三個表“關系”,其中主鍵是另外兩個表。

這是一個示例(*表示作為主鍵一部分的列)

餐桌產品

id* | name            | price
----+-----------------+--------
1   | Thingamy        | 3.45
2   | Whatchamacallit | 2.99
3   | FooBarWidget    | 1.00

表格類別:

id* | name
----+-------------
1   | Collectibles
2   | Holiday
3   | Decorative

表類別_產品

product_id* | category_id*
------------+---------------
1           | 1             // Thingamy is a Collectible item
2           | 1             // Whatchamacallit is a Collectible item
2           | 2             // Whatchamacallit is also a Holiday item

因為關系表的兩個列都是主鍵的一部分,所以對於每種可能的組合,它都可以只有一個條目。 具有條目意味着具有該類別分配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM