具有相同属性但不同关系的表是不好的做法吗?

Are tables with the same attributes but different relationships bad practice?

有两个具有相同属性但含义和关系不同的 table 是不是很糟糕?

table1 的属性 = table2 的属性。

但是table1table3有关系 和 table2table4有关系。

这被认为是不好的做法吗?或者应该 table1table2 整理成一个 table?

虽然整理成一个table岂不是说table1也和table4有关系?

有相同属性的表是可以的。只要找到足够的meanings/predicates来记录你的应用程序状态。

A base table has a "meaning" or "predicate (expression)" that is a fill-in-the-(named-)blanks statement given by the DBA. The names of the blanks of the statement are the columns of the table. Rows that fill in the blanks to make a true proposition about the world go in the table. Rows that fill in the blanks to make a false proposition about the world are left out. Ie a table holds the rows that satisfy its statement. You cannot set a base table to a certain value without knowing its statement, observing the world and putting the appropriate rows into the table. You cannot know about the world from base tables except by knowing its statement and taking present-row propositions to be true and absent-row propositions to be false. Ie you need its statement to use the database.

并适当声明 relationships/FKs。 ER 中的 R 用于 关系 意思是 协会(在实体中)。然而,许多自称 "ER" 的方法和产品使用 "relationship" 作为 外键 (FK)。从一个关联 set/table 中的某些 roles/columns 到另一个关联中的某些 FK 仅意味着源中那些 roles/columns 的每个 entity/subrow 必须出现在相应的 roles/columns 中目标作为关键。如果是这样,请声明 relationship/FK.

A constraint expression just corresponds to a proposition aka always-true statement about the world and simultaneusly to one about base tables.

(来自 this answer. See this answer re attributes/headings, re predicates and this one 重新 relationships/FKs/链接。)