0

我有两个表:类别和产品

Category : id (autoincrement), label
Product : id (autoincrement), label, image (blob), category_id(foreign key)

因此,按照该设计,每次我向产品添加类别时,这意味着产品以某种方式重复,但唯一会改变的值是“category_id”。我真的觉得它是多余的:

------------------
| Category       |
-----------------------
| id | label          |
-----------------------
| 1  | entertainment  |
| 2  | professional   |
| 3  | kitchen        |
-----------------------

------------------------------------------
| Product                                |
------------------------------------------
| id | label     | image | category_id   |
------------------------------------------
| 1  | computer  | [BLOB]| 1             |
| 2  | computer  | [BLOB]| 2             |
| 3  | TV        | [BLOB]| 1             |
------------------------------------------

问题:有没有办法摆脱product表格中的冗余并避免重复产品以便我可以添加类别?

问候

4

2 回答 2

2
  1. 从产品表中删除类别列。
  2. 创建一个名为“产品类别”的新表,其中包含以下列:产品 ID(外国)、类别 ID(外国)
于 2018-08-12T00:32:00.617 回答
2

您的结构字面意思是每个产品都可以属于一个类别。因此,不存在“为产品添加类别”的问题。如果“向产品添加类别”是一种要求(意味着产品必须可能具有/关联/...>1 个类别),那么数据库结构就是错误的,必须是修改。

于 2018-08-13T11:11:46.567 回答