请教:我的数据从UNF转换到1NF的规范化操作是否正确?
数据规范化练习疑问:UNF转1NF操作是否合规?
我最近在做数据规范化的练习来打磨自己的能力,这次练的是Seneca学院DBS201课程里的Exercise 1。
练习的原始表格结构
最初的表格里,每条记录不仅包含患者的基础信息:patient_no、patient_name、address、phone,还带着该患者某次就诊的visitdate、procedure_no、procedure_name——这就导致同一个患者的基础信息会重复出现在多条行里。
我整理的非规范化表(UNF)
基于原始表格,我得到的UNF就是典型的单表结构:同一个患者的patient_no、patient_name等基础信息,会随着每一条就诊+诊疗记录重复出现,存在大量冗余。
我的1NF转换操作
为了满足第一范式(1NF)「消除重复组/冗余字段」的要求,我把和就诊、诊疗相关的字段——visitdate、procedure_no、procedure_name——单独抽出来做成了一张独立的表,同时保留了只存患者基础信息的主表,两张表用patient_no来关联。转换后的两个表结构是:
- 患者主表:主键为
patient_no,包含patient_name、address、phone,每条记录对应唯一一位患者 - 就诊诊疗记录表:以
patient_no作为外键关联患者主表,每条记录对应一次就诊的某个诊疗项目,字段包括visitdate、procedure_no、procedure_name
我感觉转换后的结果同时符合2NF和3NF,但心里没底,想请教下各位:我这次从UNF转1NF的操作是不是合规的?有没有哪里考虑不周的地方?
内容的提问来源于stack exchange,提问作者Zampanò
相关产品推荐
相关产品推荐

