2017-08-24 17 views
0

MySQLで製品テーブルを生成する場合、同じ製品を別の製品として別の条件で扱う方が効率的ですか?価格、在庫、および製品条件に依存する詳細を指定するテーブルに固定された基本製品のテーブル?MySQLのE-Storeデータベースの製品条件(新品、新品など)の扱い

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

3つのテーブルすなわち..製品、product_conditionとproduct_detailsに製品の詳細を保存することがベター。これにより、多くのスペースを節約できるので、異なる結果のクエリを書くことは本当に簡単です。

例えば、defectiveの条件ですべての製品を見つけるために簡単にクエリを書くことができます。

関連する問題