这个数据库模型有意义吗?

时间:2012-08-25 20:58:20

标签: database model

我刚开始谈论建模数据库。但我尽我所能尽力学习。因此,我想问你,我的第一次尝试对下面的例子是否有意义:

enter image description here

所以我按照以下方式对数据库建模:

enter image description here

数据库是关于医学的。有几种药物应该根据患者的年龄给药。每个药品都可以属于一个或多个组(或没有)。

这只是一个测试案例,展示了我到目前为止学到的东西。所以欢迎提高我技能的每一个提示!

非常感谢!

2 个答案:

答案 0 :(得分:2)

  1. relationtable表名只是一个占位符,对吧?它应该更具描述性,可能是dosage

  2. 有些东西告诉我,年龄范围会有很大变化。有些药物对3岁以下儿童有不同规定,其他5岁以下,10岁以下。不要创建单独的表,而是在start中添加两个额外的列(endrelationtable)。查询会更容易,我不会认为这是非规范化。

  3. 谈论agedose表 - 删除unit列并使用标准化的固定单位。年龄和mg剂量。这将使查询更加简单。不要害怕使用浮动数字,例如0.5代表六个月。

答案 1 :(得分:1)

我同意Tomasz所写的内容并希望补充:

  1. 如果关系表是正确的方法取决于表中未包含的一些知识。听起来很奇怪,一种药可以是不同组的一部分,剂量取决于这种关系。我希望药物可以属于不同的组(产生药物2组映射表),并且它们根据药物的年龄存在不同的剂量(因此你得到剂量表,结合现有的年龄和剂量表。那个新表会直接参考药物)
  2. 仅从表格中无法告知哪个版本是正确的。

    根据经验法则:当没有正确名称和概念的表格链接超过另外两个表格时,我会持怀疑态度。这是可能的,但通常暗示概念隐藏在某处。

    为了检查建议的模型是否正确,如果您在前三行中的一行中替换Antibiotika和Superantibiotika,请询问业务专家是否仍然正确。如果是,这意味着剂量不依赖于组,不应该与它相关联,因此我提出的模型会更正确。

    如果更改后的表格不正确,您的模型可能会更好,但我会仔细聆听解释原因不正确的原因。