数据库设计-冗余是否比添加更多关系更好



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

我有购物数据库,它有两个表:CategoriesBrands。这两个表都有列:namedescriptionimage_url

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

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

冗余的一个

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

还是添加一个新表?

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

感谢

在这种情况下,它实际上不是相同的信息。它是类别名称、类别描述、品牌名称和品牌描述。

创建一个表来保存关于许多事情的一般信息是个坏主意。

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

最新更新