梦幻西游地府伤害公式
0
2025 / 06 / 28
EAV生产数据库建模的一个例子是临床研究结果(过去的历史,现在的投诉,体检,实验室测试,专项调查和诊断等),可以适用于病人。纵观所有特色的医药,这些范围可以在几十万(每个月都在开发新的测试)。但是,大多数去看医生的人都有相对较少的结果。
没有医生会永远有时间来询问每一个病人。相反,医生更加注意他们的病因,并询问一些问题。还有的其他问题,是基于以前提出的问题的答复,其他的问题或者测试也许可以联系到他们的体检。某些结论可以自动排除许多人,例如,如果病人是一个男性,那么医生将不会考虑与怀孕相关的医疗了。
当病人的记录汇总之后,通常会记录“积极”的结果,在任何情况下,不会记录大量不相关的结果,导致没有找到这个特殊的病人。
考虑什么可以代表一个临床记录中的大体的数据。显然,创建一个数千列的表(或一组表),不是唯一的方法,因为绝大多数的列将是空的。如果是一些复杂的东西,在一个纵向的医疗记录下患者的数据随着时间的推移,可能有多个值相同的参数。比如说一个孩子的高度和体重,当孩子成长时,这些数据都在改变。最后,临床发现病例不断增加,例如疾病SARS的出现,要制定新的实验室测试,这又将需要“列”,用户界面要不断增加、不断修订。(在数据库中,属性列表的变动频率被称为“属性的波动”。)
下面显示了一个EAV表的临床研究结果的快照。所示的尖括号中的条目在这里显示为文本,而不是作为编码的外键值——为了便于理解和引用。这是一个医生在98年1月5日上午看一位发热病人的一些细节。在这个例子中,值指的是所有的文字值,但这些也可以成为预先定义值列表的外键。当那些已知数是很有限的时候,这些将会变得特别有用。
1、实体。临床发现,实体是病人的事件:一个外键,记录到一个至少包含一个病人ID和一个或更多的时间标记的表中(例如,测试的日期/时间的开始和结束)。
2、属性或参数:一个成一个属性定义的表的外键(在这个例子中,指的是临床研究结果的定义)。至少,属性定义表将包含以下几列:一个属性ID,属性名称,描述,数据类型,计量单位,和协助输入验证,例如,最大的字符串的长度和正则表达式,最大和最小允许列值,设置的允许值,等等。
3、该属性的值。这将取决于数据类型。
(<patient XYZ, 1/5/98 9:30 AM>,<Temperature in degrees Fahrenheit>,102)
(<patient XYZ, 1/5/98 9:30 AM>,<Presence of Cough>, True)
(<patient XYZ, 1/5/98 9:30 AM>,<Type of Cough>, With phlegm, yellowish, streaks of blood)
(<patient XYZ, 1/5/98 9:30 AM>,<Heart Rate in beats per minute>, 98)
...