2011-06-14 121 views
1

如果我有四个表,每个表都有四列,它们使用'users'中的主键'id',它的类型为int,并且表之间的关系只是一对一,它仍然是适当将表作为唯一的外键与'id'分开,而不是一个有16列的表?SQL数据库结构。正常化?

回答

5

我想问一下在这种情况下,JOIN会购买你的产品。无论您需要的是一张桌子,还是永远是一对一关系的声明都可能发生变化。如果是前者,我会反规范化。如果是后者,我会保留多桌设计。

+0

好,这很有道理。我想我会坚持某种形式的规范化,以防未来发生变化。感谢Duffymo。 – Lee 2011-06-14 00:56:11

+0

我想补充的另一件事是使用列的频率! – mqpasta 2011-06-14 01:44:04

+0

您能否说明每个建议设计的哪个范式?我问的原因是,我认为这与正常化没有任何关系,但我准备好纠正;) – onedaywhen 2011-06-14 14:16:58

0

通常有使用非规范化数据库模式(如性能或更好的概念化)的理由。然而,考虑到你提供的信息,听起来你最好用一张桌子。有3个表格,1对1关联,只有4列,每个似乎都有点奇怪。

+0

我明白了。那么,这个数据库是为我正在开发的一个小型在线游戏。每张表代表游戏中的相关实体组。 – Lee 2011-06-14 01:02:17