2010-09-16 103 views
1

系统范围内命名应该如何使用。例如城市。 在城市查找表中,colunm被称为city_id,city_name。现在城市被用在其他地方,比如事件 - 我称之为event_city,它指的是city_name。然后在用户配置文件中有user_city,它再次执行相同的操作。这些都应该被称为相同或不同的表,即使他们都是一样的东西?现场命名问题

回答

1

准确地说,你的命名约定比你坚持的命名约定更重要,但我不建议在事件表event_city上命名你的'城市名'字段。相反,我会建议使用city_name,因为它更清晰。很明显,这是该活动的城市名称,因为它在活动表上。

3

您应该使用引用city_id的Cities表的外键引用。

不需要更改其他表中的名称,只需粘贴city_id外键即可。

2

从欧玛尔·海亚姆的鲁拜集:

我自己年轻的时候做翘首频繁
医生和圣徒,并听取了巨大的争论
关于它和有关;但永远
走出我的门一样。

有许多关于如何做到这一点,很少多协议的讨论。选择一个合理的方案并坚持下去 - 一致性可能是最重要的。

我可能会一起去:

  • 市(名称,...)
  • 活动(...,市,...)
  • 用户配置(...,市, ...)

我只会用一个合格的名字,如果有一个表中有关市两列:

  • 周的UserDetails(...,Home_City,...,Work_City,...)

顺便说一句,我放弃了 '城市标识' 列,因为你似乎能够加入到这个城市的名字。但是,使用CityID可能会更好,并且可以使用CityID将其他表加入到该ID中。这允许在multiple states中以美国为中心的示例出现相同的城市名称。

1

我会将event_city更改为city_id。

(我假设event_city将是对城市的引用,并且匹配city_id列中的值。)