0

我有 3 张桌子 -

国家 CountryId | 姓名

StateId | 姓名 | 国家 ID

城市 CityId | 姓名 | 状态标识

这 3 个字段在用户表(和其他一些表)中被引用。

用户用户 ID | 姓名 | 国家标识 | 状态标识 | 城市编号

只有国家是强制性的。州和市可以为空。我们将仅在更新国家/地区时显示州字段,然后在更新州时显示城市。前任:

用户名 | 姓名 | 国家标识 | 状态标识 | 城市编号

美国广播公司 | xyz | 1 | 空 | 空值

abc1 | xyz1 | 1 | 19 | 空值

abc2 | xyz2 | 9 | 2 | 34

另外,我必须在很多地方列出国家。我还有一些表,其中只引用了国家字段。例如:

总统 总统 ID | 国家


我想到的另一种方法是-

位置 LocationId(Autoincrement int) | 国家(字符串) | 状态(字符串) | 城市(字符串)

用户用户 ID | 姓名 | 位置 ID


哪种方法好?如果有更好的构建数据库的方法,请建议我?

提前致谢

4

1 回答 1

0

第一种方法更好,因为例如,在第二种方法中,每个城市都会有多个国家/地区副本。但是,对于用户来说,指定 cityId 就足够了,因为您可以从中找出州和国家。另外,请注意,该标准规定对实体名称使用单数名词。

于 2013-11-13T09:27:02.260 回答