-3
嗨,我正在設計一個網站,其中將列出13,000電子產品,首先我想能夠通過我已經創建的側導航導航,我會存儲的類別這些電子零件在數據庫中?如果是的話,什麼是存儲類別的最佳方式?因爲我有一些產品具有3級的類別例如產品類別和子類別
- 半導體
- 二極管
- TRANSORB。
正如你所看到的,我對如何正確地在數據庫中做到這一點感到困惑。
嗨,我正在設計一個網站,其中將列出13,000電子產品,首先我想能夠通過我已經創建的側導航導航,我會存儲的類別這些電子零件在數據庫中?如果是的話,什麼是存儲類別的最佳方式?因爲我有一些產品具有3級的類別例如產品類別和子類別
正如你所看到的,我對如何正確地在數據庫中做到這一點感到困惑。
有很多方法可以解決這個問題。我在暗示這一點。首先創建兩個表格
CREATE TABLE ITEM(
ITEM_KEY VARCHAR(20) NOT NULL,
NAME VARCHAR(255),
TYPE_CODE VARCHAR(50) NOT NULL,
CONSTRAINT ITEM_TYPECODE_CK CHECK(TYPE_CODE IN('ITEM','CATEGORY')),
CONSTRAINT ITEM_ITEMKEY PRIMARY KEY(ITEM_KEY)
);
表格項目用於產品和類別。
CREATE TABLE ITEMLINK(
ITEM_KEY VARCHAR(20) NOT NULL,
LINKED_ITEM_KEY VARCHAR(20) NOT NULL,
TYPE VARCHAR(50) NOT NULL,
CONSTRAINT ITEMLINK_ITEMKEY_LINKEDITEMKEY
PRIMARY KEY(ITEM_KEY, LINKED_ITEM_KEY,TYPE),
CONSTRAINT ITEMLINK_TYPE_CK CHECK(TYPE IN('CIL','CCL'))
);
項目鏈接表用於層次結構。項目鍵是父項,鏈接項鍵是子項。 CIL表示分類項鍊接和CCL表示分類分類鏈接。
INSERT INTO ITEM (ITEM_KEY, "NAME", TYPE_CODE) VALUES ('IT01', 'Transorb', 'ITEM');
INSERT INTO ITEM (ITEM_KEY, "NAME", TYPE_CODE) VALUES ('CT01', 'Semiconductors', 'CATEGORY');
INSERT INTO ITEM (ITEM_KEY, "NAME", TYPE_CODE) VALUES ('CT02', 'Diode', 'CATEGORY');
INSERT INTO RWITEMLINK (ITEM_KEY, LINKED_ITEM_KEY, "TYPE") VALUES ('CT01', 'CT02', 'CCL');
INSERT INTO RWITEMLINK (ITEM_KEY, LINKED_ITEM_KEY, "TYPE") VALUES ('CT02', 'IT01', 'CIL');
現在您可以迭代ItemLink表來填充列表。