我刚开始谈论建模数据库。但我尽我所能尽力学习。因此,我想问你,我的第一次尝试对下面的例子是否有意义:
所以我按照以下方式对数据库建模:
数据库是关于医学的。有几种药物应该根据患者的年龄给药。每个药品都可以属于一个或多个组(或没有)。
这只是一个测试案例,展示了我到目前为止学到的东西。所以欢迎提高我技能的每一个提示!
非常感谢!
答案 0 :(得分:2)
relationtable
表名只是一个占位符,对吧?它应该更具描述性,可能是dosage
?
有些东西告诉我,年龄范围会有很大变化。有些药物对3岁以下儿童有不同规定,其他5岁以下,10岁以下。不要创建单独的表,而是在start
中添加两个额外的列(end
和relationtable
)。查询会更容易,我不会认为这是非规范化。
谈论age
和dose
表 - 删除unit
列并使用标准化的固定单位。年龄和mg剂量。这将使查询更加简单。不要害怕使用浮动数字,例如0.5代表六个月。
答案 1 :(得分:1)
我同意Tomasz所写的内容并希望补充:
仅从表格中无法告知哪个版本是正确的。
根据经验法则:当没有正确名称和概念的表格链接超过另外两个表格时,我会持怀疑态度。这是可能的,但通常暗示概念隐藏在某处。
为了检查建议的模型是否正确,如果您在前三行中的一行中替换Antibiotika和Superantibiotika,请询问业务专家是否仍然正确。如果是,这意味着剂量不依赖于组,不应该与它相关联,因此我提出的模型会更正确。
如果更改后的表格不正确,您的模型可能会更好,但我会仔细聆听解释原因不正确的原因。