我有一个简单的问题,但我仍然对此感到困惑。
每当你设计一个ER模型时,你应该如何绘制PK和FK?
假设我有两个表,User和Country
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”列吗?我的意思是,两个实体之间会有关系(Rhombus),但是我应该用User实体明确添加“FKCountry”吗?
希望我的问题很明确,提前谢谢你:)
答案 0 :(得分:2)
Foreign Key
的主要目的是在两个表之间强制引用完整性。
如果Country
与User
的关系为One-to-Many
,那么在表FKCountry
上添加列User
应该没问题。
但是,如果关系为Many-to-Many
,其中Country
可以包含多个User
以及User
属于多个Country
,则为3-桌面设计是首选。其中第3个表是其他两个表之间的关联表。
答案 1 :(得分:1)
是的,您应该将FKCountry
添加到ER图表中的User
表格中。如果列存在于表中,则应在实体中表示。毫无疑问,关系标记会将Country.ID
连接到User.FKCountry
。仅仅因为在这个例子中很明显并不意味着在其他关系中,链接的列可能没有完全不同的命名而且不明显。