在此question之后,我想我会选择实体关系建模来解决我的图片表问题,该表提供许多其他表格。
但是现在我有另一个更大的问题,因为每个上传/插入的图像,页面,用户等都有组/类别。
我拥有这些类别表的原因是允许管理员更改类别名称,并在需要时添加更多类别。
我使用类别表对每个表进行分类,例如
图片类别
category_id category_name
1 Primary image
2 Secondary image
...
用户(我在图片中复制了类别表格,只是为表格提供了不同的名称),
category_id category_name
1 Primary user
2 Secondary user
...
并继续互相复制桌子!
它们看起来类似内部,当我需要添加新的类别表时非常多余。例如,contact list
表的类别,
category_id category_name
1 Primary contact
2 Secondary contact
3 School
4 government
...
如何解决此冗余问题?以及数据库图表的外观如何?
答案 0 :(得分:0)
图片类别的名称通常与用户类别的名称不同,并且这两者的名称与页面的类别名称不同。这表明价值来自不同的领域。不同的域意味着不同的表。
为每种类别创建一个表。使用外键。
Redundant 是数据库设计中的技术术语。这并不意味着“这两张桌子看起来很相似”。这意味着表具有相同的值,并且这些值具有相同的含义。
很明显,“主要图像”与“主要用户”的价值不同。但是,为了论证,我们说这两个表都有行(1,Primary)。这仍然不是多余的,因为这两个值具有不同的含义。在一种情况下,这意味着用它标记的任何图像都是主图像。在另一种情况下,这意味着无论用户被标记为什么,都是主用户。图像不是用户。不同的含义。