2012-08-25 28 views
0

我是新来的建模数据库。但我尽我所能尽可能多地学习。因此,我要问你,我的第一个学尝试是否有意义以下例子:这个数据库模型是否有意义?

enter image description here

所以我模仿数据库如下:

enter image description here

的DATABSE约药。根据患者的年龄,有几种药物应该给药。每个药品都可以属于一个或多个组(或没有)。

这仅仅是一个测试案例,用于展示我迄今为止学到的内容。所以每个提示提高我的技能是值得欢迎的!

非常感谢!

回答

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

  2. 东西告诉我年龄范围会有很大的变化。有些药物对3岁以下的儿童,5岁以下的儿童和10岁以下的儿童有不同的规定。请勿在relationtable中包含两个额外的列(startend),而不是创建单独的表。这将是更容易查询,我不会认为这是一个非规范化。

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

+0

使用标准化值是一个好主意。感谢提示。但是如果我必须使用一些不同的价值,那么最好的办法是什么?例如。剂量表应使用mg,g,kg表示某些数据,mg/d表示某些其他数据的mg/mg。 – user1255102

+0

@ user1255102:一直使用mg,1 g == 1000 mg,1 kg = 1000000 mg。然而,第二个问题更困难。我想你会需要参考类型,即“/ day”,“/ kg体重”作为单独的列 –

1

我同意托马斯写,想补充:

  1. 如果relationtable是要走的正确方法依赖于不包含在表中的一些知识。听起来很奇怪,一种药可以成为不同群体的一部分,剂量取决于这种关系。我期望一种药物可以属于不同的组(根据药物的年龄而定),并且它们存在不同的剂量(所以你可以得到剂量表,结合现有的年龄和剂量表)。新表会直接参考药品)

哪个版本是正确的,不能单独从表中告知。

作为一个经验法则:当一个没有正确名称和概念的表链接超过两个其他表时,我会怀疑。这是可能的,但往往暗示隐藏在某个地方的概念。

为了检查建议的模型是否正确,请咨询业务专家,如果在前三行之一中使用Superantibiotika替换Antibiotika,表格是否仍然正确。如果是这样,这意味着剂量不依赖于组,也不应该与其联系,所以我提出的模型会更加正确。

如果修改过的表格不正确,那么您的模型可能会更好,但我会仔细聆听它为什么不正确的解释。

+0

非常感谢您的解释!我现在用下面的方法做了:https://www.dropbox.com/s/58sl06dm7ltf9w6/database_model2.png 现在感觉更有条理,但我看不出主要区别。如果你问我,两种可能性都会描述同一条信息。你写道,在表格中看不到正确的方式,所以你可以指出,在哪种情况下,我使用第一个,在这种情况下,我使用第二个?别忘了!我是一个新手。 ;-) – user1255102

相关问题