两个具有相同属性但具有不同含义和关系的表是不是很糟糕?
即。 table1
属性= table2
的属性。
但table1
与table3
有关系
和
table2
与table4
有关系。
这被认为是不好的做法吗?或者table1
和table2
应该整理成一个表吗?
虽然如果将它整理到一个表格中,那么table1
也会与table4
建立关系吗?
答案 0 :(得分:2)
具有相同属性的表是可以的。只需找到足够的含义/谓词来记录您的应用程序状态。
基表具有"含义"或"谓词(表达)"这是DBA给出的填充(命名)空白语句。语句空白的名称是表的列。填补空白的行将成为关于世界的真正主张。填补空白以排斥世界的行被排除在外。即表中包含满足其语句的行。您不能在不知道其语句的情况下将基表设置为某个值,观察世界并将适当的行放入表中。你不可能从基表知道这个世界,除非知道它的陈述并将当前行命题变为真实和缺席 - 行命题是错误的。即你需要它的声明来使用数据库。
只需根据需要声明关系/ FK。 ER中的R代表关系意味着关联(在实体<之间< / em>的)。然而,许多自封的&#34; ER&#34;方法和产品使用&#34;关系&#34;而是用于外键(FK)。从一个关联集/表中的某些角色/列到另一个中的某些角色/列的FK意味着源中这些角色/列的每个实体/子行必须作为键出现在目标的相应角色/列中。如果是这样,请声明关系/ FK。
约束表达式只对应于一个关于世界的命题,也就是总是真实的陈述,并且同时关于一个关于基表的陈述。
(来自this answer.请参阅this answer重新属性/标题,this one重新谓词和this one关系/ FK /链接。)