【发布时间】:2014-02-09 04:10:12
【问题描述】:
我已经花了好几个小时在网上浏览视频和示例。有人可以帮忙看看并指出我在哪个部分是对还是错。我正在尝试将下表更改为 2NF。谢谢你。
Clinic Address Therapist TherapistTel Appointment Client ClientTel
Clinic A 123 High St J Smith 77882233 25/01/2013 11:00 A Jones 32512
Clinic A 123 High St P Taylor 77235846 25/01/2013 13:00 I Davis 34251
Clinic B 80 Low St B Morris 77991487 25/01/2013 10:30 H Kelly 53692
Clinic C 3 Middle St J Smith 77882233 26/01/2013 14:00 Y Rimmer 68595
Clinic B 80 Low St J Smith 77882233 26/01/2013 09:30 H Kelly 53692
Clinic A 123 High St B Morris 77991487 25/01/2013 14:00 J Steele 36529
我的 2NF 表如下:
诊所
**Clinic** Address **Therapist**
Clinic A 123 High St J Smith
Clinic B 80 Low St P Taylor
Clinic C 3 Middle St B Morris
治疗师
**Therapist** TherapistTel
J Smith 77882233
P Taylor 77235846
B Morris 77991487
客户
**Client** ClientTel
A Jones 32512
I Davis 34251
H Kelly 53692
Y Rimmer 68595
J Steele 36529
约会
**Therapist** **Client** Appointment
J Smith A Jones 25/01/2013 11:00
P Taylor I Davis 25/01/2013 13:00
B Morris H Kelly 25/01/2013 10:30
J Smith Y Rimmer 26/01/2013 14:00
J Smith H Kelly 26/01/2013 09:30
B Morris J Steele 25/01/2013 14:00
【问题讨论】:
-
我已编辑以突出显示我的主键和外键。
-
您的诊所表存在许多问题,最值得注意的是 P Taylor 与诊所 B 根本没有关联。您需要一张表来连接诊所和治疗师。你的约会表也有问题;在您的架构中,患者和治疗师都不知道该去哪个诊所,而原来的诊所确实告诉他们去哪里。
-
我得到了 P Taylor 被错误关联的错误。我能知道诊所还有什么问题吗?同样对于预约,我认为诊所与诊所有关联,因为预约和诊所都有治疗师。
-
你为什么停在 2NF?这是作业还是什么?
-
过去一年的试卷。为即将到来的考试抢劫。我想正确理解这个概念。在这之后有3nf。但在弄清楚之前,我不明白去那里的意义。
标签: sql database relational-database normalization