【问题标题】:Issues with ER model designER模型设计的问题
【发布时间】:2018-02-17 08:15:19
【问题描述】:

我正在尝试为我们未来的玩具数据库和必须在后期制作中完成的某些测量设计一个模型。我很难掌握如何建模。我尝试了多种方法,但似乎都不是最佳方法,最后我总是迷失实体之间的连接。

我需要实现的是以下之间某种有意义的关系:

  • 一个玩具(有一些琐碎的属性)。
  • 一个系列的玩具(多个玩具可以关联一个系列,一个玩具只能属于一个系列)。
  • 测量步骤。目前有 6 个这样的步骤。每个步骤都有自己的输入参数,这些参数的类型和数量各不相同(例如,测量步骤 1 仅有 3 个参数,测量步骤 2 有 10 个参数)。
  • 对于每个系列,都定义了这些测量步骤的顺序。允许重复测试(例如,测量步骤 1 > 测量步骤 4 > 测量步骤 1 是有效序列)。序列和参数必须存储在某个地方以供将来参考。
  • 每个玩具都经过由其系列定义的测量序列。所有结果都必须存储在某个地方(对于每个单独的玩具)。

如果我将测量步骤拆分到它们自己的表中,我就不能有条件地将它们(作为外键)引用到其他表中。 如果我尝试序列化部分数据,我将无法在各个测量步骤、测量结果(至少通过查询)等之间建立联系。

我知道这里的人们通常讨厌/不回答这类“类似讨论”的问题,但我希望您至少指出在我需要存储此信息的系统中什么是好的做法在本地机器上,但需要一个数据库来保存数据 - 转向类似串行的数据,并在容易做到的地方建立一般关系,或者继续尝试尽可能地对其进行规范化?

【问题讨论】:

    标签: database database-design entity-relationship er-diagrams


    【解决方案1】:

    如果测量步骤共享大部分属性(或属于同一类型,如您所说的 PARAMETERS),并且我正确理解您的定义,我会做这样的事情。

    这可能是一个起点。

    +----------------------------+                    +------------------------------+
    |             TOYS           |                    |           TOY_SERIES         |
    +-----+----------------------+                    +---------+--------------------+
    | PK  |  ID_TOY              |         +----------+ PK, FK1 |  ID_S              +--------+
    |     |                      |         |          +------------------------------+        |
    | FK1 |  ID_S                +---------+          |         |  ...               |        |
    +----------------------------+                    |         |                    |        |
    |     |  ...                 |                    |         |                    |        |
    |     |                      |                    |         |                    |        |
    +-----+----------------------+                    +---------+--------------------+        |
                                                                                              |
                                                                                              |
                                                                                              |
                                                                                              |
                                                      +------------------------------+        |
                                                      |         BR_SER_MEAS          |        |
                                                      +---------+--------------------+        |
                                                      | PK, FK1 |  ID_S              +--------+
                                                      |         |                    |
                                                      | PK, FK2 |  ID_M              +--------+
                                                      |         |                    |        |
                                                      | PK      |  ID_SEQ            |        |
                                                      |         |                    |        |
                                                      +---------+--------------------+        |
                                                                                              |
                                                                                              |
                                                      +------------------------------+        |
                                                      |        MEASURE_STEPS         |        |
                                                      +------------------------------+        |
                                                      | PK          ID_M             +--------+
                                                      +------------------------------+
                                                      |             PARAM_01         |
                                                      |             ...              |
                                                      |             PARAM_10         |
                                                      |                              |
                                                      |                              |
                                                      +------------------------------+
    

    【讨论】:

    • 感谢您的努力。这是一个不错的模型,但我遇到的问题(如果我理解正确的话)是我需要一个预定义的最大值。参数计数。
    猜你喜欢
    • 2021-04-23
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    相关资源
    最近更新 更多