数据库引用表

时间:2015-09-08 00:53:02

标签: mysql database database-design

您好我尝试做一些数据库工作并且已经做了很多年我试图搜索但我不认为我使用了正确的词语。

我有两张桌子

人(Num_PK,姓名,电话) 标题(Num_PK,标题)

标题是一个预先填好的表格,其内容包括Mr,Mrs等

我的问题是,人们是否需要一个拥有标题num的标题的外键? 或者我是否需要创建另一个表,其中num_pk' s就像一个木匠? 有点像我不能发布的图片。

人(Num_PK,姓名,电话) - Joiner(Num_PK" person",Num_PK" title") - 标题(Num_PK,标题)

1 个答案:

答案 0 :(得分:1)

这里没有完美的答案。

如果严格的第3范式对您很重要,您可以在PERSON表中将外键添加到TITLE。你会避免为每个人重复标题;只允许您添加的值。

当然,允许非规范化。如果您希望使该列保持标题值,则可以执行此操作。您只需重复值,不能限制为您选择的设置。

了解规则;了解后果。您可以选择违反规则,例如"始终尽可能正常化"只要你了解其后果。