这是我上一篇文章的后续问题:即使它是循环的,这个简单的数据库设计也能工作吗?
我是一名研究乳腺癌的研究生。我的老鼠被基因改造成癌症,我想了解它们的健康状况。
每天,动物护理人员检查每个笼子。如果他们至少进行了一次临床观察,他们就会向兽医报告。这份报告看上去像是:

动物护理人员会给盒子上色,兽医会确认(复选标记=“是”,x=“否”)。注意,一次可以报告几个观察结果。跟踪笼子的数量也很重要,因为几个笼子(有相同的规程和研究人员)可能有相同的观察,动物护理人员只会做一次报告。
一旦发现某种情况,就会打开一个临床病例(报告成为病例单)。随后,如果对已经有病例编号的笼子进行了额外的观察,兽医只需将它们写在第一份报告的“注释”部分。因此,几份报告可以归类为一个案例。当我输入一个新的报告/案例时,我希望数据库验证一个案例是否已经存在。如果是,请附上新的报告。如果不是,创建一个新案例。当老鼠恢复健康或安乐死时,情况就结束了。
最后,我要保留动物护理人员的所有“假阳性”观察。以下是我的暂定数据库模型:

我有两个过渡表,我非常感谢社会各界的反馈。非常感谢!
编辑:
[


发布于 2016-02-08 23:11:45
正如我在前面的评论中所说的,您应该有两个主要的表。
在我看来,你把这么多桌子弄得太复杂了。我认为,任何健康专业人员的报告都应该具有相同的地位--无论是医护人员还是兽医--你可以通过staff_id跟踪这一情况。有一个封闭的字段,以指示鼠标正在恢复或(吞咽)被安乐死。
您使用什么数据库来跟踪这些经验/观察?如果您还没有做出选择,我会推荐PostgreSQL。您的开发环境是什么?
首先,使用简单的系统系统--记住奥卡姆的剃须刀-- "实体不应超越需要而成倍增加。“。但是,如果你真的需要的话,你可以让它变得更复杂--就像爱因斯坦说的,"每件事都应该尽可能简单,而不是更简单。“:-)。最好从简单的开始,而不是过度的工程。
编辑-回答OP关于为什么PostgreSQL比MySQL更好的问题
https://dba.stackexchange.com/questions/128657
复制相似问题