我有一個項目,我正在創建分類項目的網站。網站上的用戶將添加項目出售並給出相關規範。MySQL數據庫:如何存儲不同大小的產品?
但問題是:在這個網站上,單個產品可以被視爲不同的產品。例如,我可以賣T恤兩種尺寸:
- 尺碼:S
- 滑雪(尺寸:150cm,所以一個二進制值)
什麼是設計表的最佳途徑保持這些屬性和產品的有效性?
我有一個項目,我正在創建分類項目的網站。網站上的用戶將添加項目出售並給出相關規範。MySQL數據庫:如何存儲不同大小的產品?
但問題是:在這個網站上,單個產品可以被視爲不同的產品。例如,我可以賣T恤兩種尺寸:
什麼是設計表的最佳途徑保持這些屬性和產品的有效性?
你應該有一個產品的基本表,然後你應該有基本的細節,如產品的名稱和相同的東西是相同的,例如,類型,它是一件襯衫等。你應該有一個屬性表具有產品ID和屬性。您必須使用該產品ID進行參考。
事情是這樣的:
在MySQL中相同的SQL如下:
CREATE TABLE `Products` (
`Product_ID` bigint NOT NULL AUTO_INCREMENT,
`Product_Name` varchar NOT NULL,
`Product_Type` varchar NOT NULL,
`TimeStamp` TIMESTAMP NOT NULL,
PRIMARY KEY (`Product_ID`)
);
CREATE TABLE `Product_Attributes` (
`Product_SKU` bigint NOT NULL AUTO_INCREMENT,
`Product_ID` bigint NOT NULL,
`Product_Size` bigint NOT NULL,
`Product_Price` bigint NOT NULL,
PRIMARY KEY (`Product_SKU`)
);
ALTER TABLE `Product_Attributes` ADD CONSTRAINT `Product_Attributes_FK`
FOREIGN KEY (`Product_ID`)
REFERENCES `Products`(`Product_ID`);
這裏Product_SKU
是庫存單位,這是真正的產品ID爲每件產品 - 尺碼爲S的T恤和尺寸爲150釐米的T恤。而Product_ID
是產品的父母ID - T恤。
產品
產品SKU人們可以購買這些
希望這個聲音很清楚。
你的意思是事實/維度還是數據類型?
您可以輕鬆地將不同的大小存儲爲varchar。但我建議你有一個事實/維度結構,可以將所有細節(如大小等)存儲在單獨的表中,以供參考。
我不明白 – Strawberry
@Strawberry哪部分你不明白? – Soolie
關於如何解決問題的部分 – Strawberry