1

嗨,我想知道这些数据库设计中哪一个更好:

我有 Shopping db,它有两个表:CategoriesBrands. 这两个表都有列:namedescriptionimage_url

那么保留重复的列可以吗?或者我应该创建一个存储这些信息的表?

为了更好地可视化它,这里有一个图表

多余的

| CATEGORIES    |    | BRANDS        | 
| - name        |    | - name        |
| - description |    | - description |
| - image_url   |    | - image_url   |

或添加一个新表?

| CATEGORIES    |    | INFORMATIONS  |      | BRANDS        | 
|               |--->| - name        |<-----|               |
| - info_id     |    | - description |      | - info_id     |
                     | - image_url   |

谢谢

4

1 回答 1

5

在这种情况下,它确实不是相同的信息。它是 category_name、category_description、brand_name 和 brand_description。

创建一个表格来保存有关许多事物的通用信息是一个坏主意。

当谈到关于(去)规范化的讨论时,它通常被认为是规范化数据的更好设计,我将从这样的设计开始。随着数据的发展和增长,可能有必要对某些表进行反规范化,因为数据检索可能会更快,但代价是存储空间和失去数据一致性的风险。

于 2013-07-23T06:58:07.057 回答