这是数据库规范化的一个很好的尝试吗?

时间:2011-02-17 02:27:49

标签: database database-design ms-access

我有一个数据库,处理根据分数对不同类型的伤害进行分类的人。例如,有如下测试:

承认疼痛,排出疼痛,家庭疼痛 承认记忆,放电记忆,家庭记忆

这些测试中的每一项都是1-7。现在我的表格设置如下:

主要表格

first name, last name  
SSN  
address  
etc.  
pain FK (foreign key)  
memory FK (foreign key) 

疼痛表

autonum PK  
admit  
discharge  
home

内存表

autonum PK  
admit  
discharge  
home

这是否正确归一化?或者,我是否应该有承认,出院和带有疼痛的表格和那些表格的记忆部分?

2 个答案:

答案 0 :(得分:2)

现有结构的问题在于,疼痛表中只能有一个条目,每个患者只能在内存表中有一个条目。我的猜测是这些测试将多次运行。也许允许进行额外测试的替代结构可能看起来像这样:

主表
autonum PK
名字
姓氏
SSN
解决
等。

测试结果表
autonum PK
日期
患者ID(FK到主表)
test类型id(FK到测试表)
测试结果

测试表
autonum PK
测试名称

如果您需要在每个测试中获得额外数据,则必须对此设计进行一些修改。但根据您的问题,这将允许您为每个人存储多个测试和测试结果

答案 1 :(得分:1)

Pain和Memory表是否与记录类型相同?

测试表

autonum PK  
typeID  FK       (Pain/memory)
admit  
discharge  
home

测试类型表

autonum typeID   PK
description