ER模型设计的问题

时间:2017-09-08 11:51:06

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

我正在尝试为我们未来的玩具数据库设计一个模型,以及必须在后期制作中进行的某些测量。我很难掌握如何对此进行建模。我尝试了多种方法,但没有一种方法看起来是最优的,最后我总是失去了实体之间的连接。

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

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

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

我知道这里的人一般都讨厌/不回答这类"类似讨论"问题,但是我要求你至少指出一个系统中的好习惯,我需要将它本地存储在一台机器上,但需要一个数据库来保存数据 - 转向串行式数据,只是做一般易于这样做的关系,或者尽可能地将其标准化?

1 个答案:

答案 0 :(得分:0)

如果测量步骤共享大多数属性(或属于同一类型,就像你所谓的PARAMETERS),并且我理解你的定义,我会做出类似的事情。

这可能是一个起点。

SELECT t.id, t.age, t.skills
FROM tablename t
join (select skills, max(age) as maxage
      from tablename
      GROUP BY skills) t2
    on t.skills = t2.skills and t.age = t2.maxage