![]() |
1
5
关系数据库体系结构并不是一门精确的科学,但您可以借鉴一些常见的准则来做出好的决策。在您提供的第一个选项中,可以很容易地确定存在列重复的情况。从概念的角度来看,你的专栏很少有完全相同的含义。这个
解决这些问题的一个很好的方法是在对象之间建立概念关系。例如:
此练习有助于您了解如何列出实体并组织
外键
。这是一个很好的第一步,在您的情况下,它为我们提供了三个表格:
现在,要确定将数据列放在哪里,以及是否应该有新的表:一个简单的技巧是将所有数据都写在 denormalized 实体将通过瞄准您拥有的衍生程度最高的实体来实现。
这个例子很明显,但我仍然认为它回答了您关于组实体和列重复的问题和疑问。
这时我意识到我忘了把
再一次,请记住,人们可能并不总是同意这种方法,但考虑到这个小背景;这是一个简单的思路。你一直在寻找的答案是: 列的意思重复提示您应该以不同的方式处理数据模式。 这是一个 fiddle . 如果你有任何问题或觉得这是错误的,请随时发表评论! |
![]() |
Aimal · 将postgreSQL列值从大写转换为大小写 2 年前 |
![]() |
SupaMonkey · MySQL数据库布局/建模/设计方法/关系 6 年前 |
![]() |
Michael Samuel · MYSQL在以下情况下自动创建索引 6 年前 |
![]() |
Harrison W. · SQL选择所有不在一起工作的ID号对 7 年前 |
|
Josh_GAA · MS Access多对多关系 7 年前 |
![]() |
waroxx · SQL—当多个表具有相同的列时,最好怎么做 7 年前 |
![]() |
TerminatorX · MySQL数据库所需金额 7 年前 |
|
Asim Minhas · 如何获取表中最后插入的记录? 7 年前 |
![]() |
Perino · yii2模型查找与关系 7 年前 |