【问题标题】:SQL Database Structure. Normalisation?SQL 数据库结构。正常化?
【发布时间】:2011-09-14 08:15:52
【问题描述】:

如果我有四个表,每个表有四列,它们使用'users'中的主键,即'id'并且是int类型,并且表之间的关系只是一对一的关系,是吗?仍然适合用 'id' 作为唯一外键的表分开,而不是一个有 16 列的表?

【问题讨论】:

    标签: sql database schema


    【解决方案1】:

    在这种情况下,我会问 JOIN 给你带来了什么。要么一张表就是你所需要的,要么它永远是一对一关系的声明可能会改变。如果是前者,我会去规范化。如果是后者,我会保留多表设计。

    【讨论】:

    • 好吧,这很有意义。我想我会坚持某种形式的规范化,以防未来发生任何变化。谢谢达菲莫。
    • 您能否说明每个提议的设计采用哪种范式?我问的原因是我认为这与规范化没有任何关系,但我准备被纠正;)
    • ...我只能认为您将 principle of orthogonal design (POOD) 与 principle of full normalization (POFN) 混淆了。
    【解决方案2】:

    使用非规范化的数据库模式通常是有原因的,例如性能或更好的概念化。但是,鉴于您提供的信息,听起来您最好使用一张桌子。拥有 3 个具有 1 对 1 关联且每个只有 4 列的表似乎有点奇怪。

    【讨论】:

    • 我明白了。嗯,这个数据库是为我正在开发的一个小型在线游戏而设计的。每个表格代表游戏中相关的实体组。
    猜你喜欢
    • 2011-01-21
    • 1970-01-01
    • 2011-11-30
    • 2017-05-30
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    相关资源
    最近更新 更多