0

我有一个简单的问题,但我仍然对此感到困惑。

每当你设计一个 ER 模型时,你应该如何绘制 PK 和 FK ?

假设我有两个表,用户和国家

User
ID | firstName | lastName | FKCountry
1  | John      | Stewart  | 1
2  | Paul      | Duschmol | 2
etc.

Country
ID | country     | code
1  | Germany     | GER
2  | Switzerland | CH
etc...

那么,我是否应该在 ER 模型中添加“FKCountry”列?我的意思是,两个实体之间会有关系(菱形),但是我应该通过用户实体明确添加“FKCountry”吗?

希望我的问题很清楚,提前谢谢你:)

4

2 回答 2

2

的主要目的Foreign Key是加强两个表之间的参照完整性。

如果与Countrya的关系User是 ,One-to-Many那么FKCountry在 table 上添加列应该没问题User

但是,如果关系Many-to-ManyCountry可以有多个User也可以User属于多个Country,则更优选 3 表设计。其中第三个表是另外两个之间的关联表。

于 2013-03-23T16:09:00.397 回答
1

是的,您应该添加FKCountryUserER 图中的表中。如果该列存在于您的表中,它应该在实体中表示。Country.ID关系标记连接到应该是零怀疑User.FKCountry。仅仅因为在此示例中很明显并不意味着在其他关系中,链接的列可能不会以完全不同的方式命名并且不明显。

于 2013-03-23T16:09:52.393 回答