数据库设计 - 冗余比增加更多关系更好吗?

hrs*_*ono 1 mysql database-design

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

我有购物数据库,它有两个表:CategoriesBrands.这两个表中有列:name,description,和image_url.

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

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

多余的一个

| CATEGORIES    |    | BRANDS        | 
| - name        |    | - name        |
| - description |    | - description |
| - image_url   |    | - image_url   |
Run Code Online (Sandbox Code Playgroud)

或添加新表?

| CATEGORIES    |    | INFORMATIONS  |      | BRANDS        | 
|               |--->| - name        |<-----|               |
| - info_id     |    | - description |      | - info_id     |
                     | - image_url   |
Run Code Online (Sandbox Code Playgroud)

谢谢

And*_*and 5

在这种情况下,它真的不是相同的信息.它是category_name,category_description,brand_name和brand_description.

创建一个表来保存关于很多东西的通用信息是一个坏主意.

当涉及到(de)规范化的讨论时,它通常被认为是一种更好的设计来规范化数据,我将从这样的设计开始.随着数据的发展和增长,可能需要对某些表进行反规范化,因为数据检索可能会以存储空间为代价而更快,并且会降低数据一致性的风险.