作为家庭作业的一部分,我被要求基于案例研究创建表格,并且所有表格都必须位于3NF中。然而,我试过并试图理解3NF,但我只是没有得到它的诀窍,并希望得到一些帮助。如何将这些表规格化为3NF
的案例研究的要求是一个兽医诊所:
- 允许预订在宠物约会
- 记录宠物护理
- 记录其兽医进行治疗
- 记录项目由企业出售提供信息,允许企业生产供应商购买的库存清单
犯规需要:记录所有销售
我到目前为止下表:
人员:
| staff_ID | firstName | lastName | gender | address_ID | contactNumber | partTimeOrFullTime | salary |
一位工作人员地址表:
| address_ID | staff_ID | number | street | city | county | postalCode |
兽医表:
| staff_ID | appointment_ID |
vet_nurse:
| staff_ID | appointment_ID |
的委任表格:
| appointment_ID | customer_ID | staff_ID | patient_ID | date | time |
initial_appointment表:
| appointment_ID | customer_ID | patient_ID | diagnosis | treatment |
followUp_appointment:
| appointment_ID | customer_ID | patient_ID | diagnosis | treatment |
病人:
| patient_ID | customer_ID | animal_type | gender | weight | height | previous_Appointments | previous_Treatment |
产品:
| product_ID | name | product_Category | animal | price | quantity_Available | reOrder_Level |
product_sold:
| sale_ID | product_ID | sale_Date |
供应商:
| supplier_ID | product_ID | contactNumber | email |
suppliers_address:
| supplierAddress_ID | supplier_ID | doorNumber | street | city | town | postalCode |
库存:
| name | product_ID | quantity_Available | price |
谢谢!
只是一个提示:我会尝试和更好地格式化。这是一个很长的问题,很难过滤。 – AdamMc331 2014-11-06 14:37:09
对于那些声称不理解正常化的人来说,这是非常好的努力!但是,将customer_id存储在客户表和患者表以外的任何地方都是多余的。日期和时间应该作为一个单独的实体存储。此外,没有单独的表格用于初始和后续。如果患者首次就诊时不是初次就诊,则将标志(0/1)存储在单独的栏中,指示“初次”就诊。 – Strawberry 2014-11-06 14:45:49
在我为此制作的EERD中,我们被要求对泛化/专业化进行建模,并且我是如何做到这一点的:预约是初始预约还是后续预约。我不应该为他们做单独的表吗? – h21 2014-11-06 15:00:23