我有3张桌子 -
国家 CountryId |名称
国 StateId |名称| CountryId
城市 CityId |名称| STATEID
这三个字段在用户表(以及其他一些表)中引用。
用户 UserId |名称| CountryId | StateId | CityId
只有国家/地区是强制性的。州和城市可以为空。 我们将仅在国家更新时显示州字段,然后在状态更新时显示城市。例如:
UserID |名称| CountryId | StateId | CityId
abc | xyz | 1 | null |空
abc1 | xyz1 | 1 | 19 |空
abc2 | xyz2 | 9 | 2 | 34
另外,我必须在很多地方列出国家。而且我还有一些表格,其中只引用了国家/地区字段。例如:
总统 PresidentId |国家
我想到的另一种方法是 -
地点 LocationId(Autoincrement int)|国家(字符串)|状态(字符串)|市(字符串)
用户 UserId |名称| LocationId
哪种方法好? 如果有更好的方法来构建数据库,请建议我吗?
提前致谢
答案 0 :(得分:0)
第一种方法更好,因为在第二种方法中,例如,每个城市都有多个国家副本。但是,对于用户而言,它足以指定cityId,因为您可以从中找出州和国家。 另请注意,该标准指定以单数形式使用名词作为实体名称。