0

我对我的数据库设计有疑问。

我想保存一些关于省和国家的信息。一开始我以为我可以将所有这些信息保存在一个表中(General_info)。然后对于该表中的每条记录;属于国家的列的值应重复。

另一个想法是将这个表分成两个表(General_info_countrygeneral_info_province)。第一个表只有 3 列,另一个超过 10 列。

我该怎么办?哪种方法更有效?

4

2 回答 2

3

第一种方法(一个大表)的最大问题是,如果任何一个国家信息发生变化,您需要更新多行,这意味着您可能会犯错误并最终得到不一致的信息。

第二种方法被规范化并被认为是更好的关系设计。

于 2012-11-19T11:55:37.193 回答
0

如果关系是一对一的并且将保持一对一的关系,那么您可以双向进行。但是如果是一对多,那么当然你必须拆分它们,并且在多部分中有外键

在关系是一对一的情况下,问题就变成了,您打算多频繁地使用所有属性?

如果您要经常一起使用这两个表,那么我建议您不要拆分它们,因为您需要在查询中大量加入它们。

但是,如果您要单独使用这两个故事而不是同时使用两个表中的信息,那么将它们分开可以节省一些时间。

于 2012-11-19T11:59:30.380 回答