gpt4 book ai didi

database - 这些数据模型中哪个是最正确的?

转载 作者:搜寻专家 更新时间:2023-10-30 20:57:59 25 4
gpt4 key购买 nike

我正在为我将要开发的应用程序创建数据模型,我希望能就模型的一部分获得一些反馈。该应用程序将完全重新开发在 Lotus Notes 中创建的内容,重新开发的主要目的之一是转向关系数据存储层。

该应用程序专注于管理Things。应用程序的要求/约束​​是:

  1. Thing 必须有关联的Location
  2. Location 可以是例如“McDonalds”或“Melbourne Uni, Building AK, Room 301”,其中“Melbourne Uni”、“Building AK”和“Room 301”是单独相关的位置
  3. (至少)必须存在 3 层 Location
  4. 必须提供“其他”位置,以便用户可以为数据库中不存在的位置输入自由文本

所以我提出了上述 4 种不同的实现方式,但我并没有足够的 DBA 经验来知道哪一种是最正确的。

Location / Thing relational model

对此有任何想法和/或建议,我们将不胜感激!

最佳答案

如果您对三个级别的估计被证明是不充分的,那么两个选项 1 都可能被证明是不灵活的并且难以修改。

在您的选项 2 中,看起来可疑的实体是 ThingOtherLocations。任何(从它的名字)连接两个不同概念的东西都会被自动怀疑。如果你在这里确实有两个不同的概念,那么选项 2b 的结构不需要 OtherLocation 或 ThingOtherLocation。我怀疑你试图表示的关系(从中得到它的名字)实际上是位置之间的另一种关系——尽管我对此不清楚。

编辑

根据您对 ThingOtherLocations 的澄清,我建议您将与 Other 关联的文本简单地视为一个新位置,并将新位置与其他位置一起存储。似乎没有任何理由为这些情况包含特殊的数据库处理。

编辑

要处理子位置问题,您可能会考虑 Joe Celko 关于嵌套集的工作。对此的主要引用是:

Joe Celko.     
Joe Celko's Trees and Hierarchies in SQL for Smarties,
(The Morgan Kaufmann Series in Data Management Systems)
ISBN 1-55860-920-2

关于database - 这些数据模型中哪个是最正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14392413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com