2017-08-24 17 views
0

当在MySQL中生成产品表时,将具有不同条件的同一产品作为单独产品处理或者使用表格中的基本产品键入表格,该表格指定了取决于产品条件的价格,库存和详细信息?在MySQL中处理电子商店数据库的产品条件(使用,新建等)

TABLE product 
+----------+---------------+------+-----+---------+----------------+ 
| Field | Type   | Null | Key | Default | Extra   | 
+----------+---------------+------+-----+---------+----------------+ 
| id  | INT()   | NO | PRI | NONE | auto_increment | 
| model_no | varchar(20) | NO |  | NONE |    | 
| name  | varchar(50) | NO |  | NONE |    | 
| weight | decimal(10,2) | NO |  | NONE |    | 
| mfr  | varchar(20) | NO |  | NONE |    | 
+----------+---------------+------+-----+---------+----------------+ 

TABLE product_condition 
+----------------+---------------+------+-----+---------+----------------+ 
| Field   | Type   | Null | Key | Default | Extra   | 
+----------------+---------------+------+-----+---------+----------------+ 
| id    | INT()   | NO | PRI | NONE | auto_increment | 
| condition_type | varchar(20) | NO |  | NONE |    | 
+----------------+---------------+------+-----+---------+----------------+ 

TABLE product_details 
+--------------+---------------+------+-----+---------+-------+ 
| Field  | Type   | Null | Key | Default | Extra | 
+--------------+---------------+------+-----+---------+-------+ 
| product_id | INT(11)  | NO | PRI | NONE |  | 
| condition_id | varchar(20) | NO | PRI | NONE |  | 
| price  | decimal(10,2) | NO |  | NONE |  | 
| stock  | INT(11)  | NO |  | NONE |  | 
| ... 

或者类似的东西...

TABLE product 
+----------------+---------------+------+-----+---------+----------------+ 
| Field   | Type   | Null | Key | Default | Extra   | 
+----------------+---------------+------+-----+---------+----------------+ 
| id    | INT(11)  | NO | PRI | NONE | auto_increment | 
| model_no  | varchar(20) | NO | UNI | NONE |    | 
| name   | varchar(50) | NO |  | NONE |    | 
| weight   | decimal(10,2) | NO |  | NONE |    | 
| mfr   | varchar(20) | NO |  | NONE |    | 
| condition_type | varchar(20) | NO | UNI | NONE |    | 
| price   | decimal(10,2) | NO |  | NONE |    | 
| stock   | INT(11)  | NO |  | NONE |    | 
+----------------+---------------+------+-----+---------+----------------+ 
***with a unique composite key of model number and condition*** 
ALTER TABLE `store`.`product` 
ADD UNIQUE `unique` (`model_no`, `condition_type`) USING BTREE; 

回答

0

更好地保存在三个表即..产品,product_condition和product_details产品的详细信息。因为在这你可以节省大量的空间,为不同的结果编写查询将非常容易等等...

例如,您可以轻松地编写查询来查找所有含有defective条件的产品。

相关问题