hrs*_*ono 1 mysql database-design
嗨,我想知道这些数据库设计中哪一个更好:
我有购物数据库,它有两个表:Categories和Brands.这两个表中有列: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)
谢谢
在这种情况下,它真的不是相同的信息.它是category_name,category_description,brand_name和brand_description.
创建一个表来保存关于很多东西的通用信息是一个坏主意.
当涉及到(de)规范化的讨论时,它通常被认为是一种更好的设计来规范化数据,我将从这样的设计开始.随着数据的发展和增长,可能需要对某些表进行反规范化,因为数据检索可能会以存储空间为代价而更快,并且会降低数据一致性的风险.