mysql 商品属性_MySQL产品属性表设计
對(duì)于當(dāng)前的客戶項(xiàng)目,我開(kāi)發(fā)了一個(gè)存儲(chǔ)產(chǎn)品的CMS.
產(chǎn)品是具有標(biāo)題,文字和文字等一些特性的條目.等等
但是,有些客戶希望擁有不同的屬性,如價(jià)格,顏色和價(jià)格.等等
我嘗試使我的代碼盡可能通用,所以我不想修改代碼
為每個(gè)客戶.
我的問(wèn)題:
我如何設(shè)計(jì)這樣一個(gè)數(shù)據(jù)庫(kù),產(chǎn)品可以擁有無(wú)??限的多個(gè)屬性?
如何為這種不同的設(shè)計(jì)創(chuàng)建/生成表單?
謝謝閱讀.
解決方法:
你需要有兩個(gè)表:
CREATE TABLE products( product_id INT, product_name VARCHAR, ... );
CREATE TABLE product_properties( product_id INT, property_name VARCHAR, property_value VARCHAR );
第一個(gè)表包含每行一個(gè)產(chǎn)品及其唯一ID及其常用屬性
--------------------------------------------------------
| id | name | other common properties...
--------------------------------------------------------
| 1 | apple | ...
| 2 | bentley |
| 3 | ... |
| ... | ... |
第二個(gè)表將每個(gè)產(chǎn)品與其非常見(jiàn)屬性相關(guān)聯(lián):
----------------------------------------------------
| id | property_name | property_value |
----------------------------------------------------
| 1 | color | red |
| 1 | size | large |
| 2 | wheel count | 4 |
| 2 | top speed | 200 |
| 2 | airbags | yes |
| ... | ... | ... |
您通過(guò)兩個(gè)查詢獲得產(chǎn)品信息,首先獲得公共屬性:
SELECT product_name, ... FROM products WHERE product_id = 2
那么非常見(jiàn)的屬性:
SELECT property_name, property_value FROM product_properties WHERE product_id = 2
標(biāo)簽:mysql,database-design
來(lái)源: https://codeday.me/bug/20190716/1482491.html
總結(jié)
以上是生活随笔為你收集整理的mysql 商品属性_MySQL产品属性表设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cf信用不足四星不让排位怎么办 为什么还
- 下一篇: 美菜商城怎么确认收货(汉典美字的基本解释