2016-10-26 1 views
0

Je veux m'assurer de comprendre le concept de normalisation de table. J'ai la table d'exemple ci-dessous:Normaliser une table à 3NF

Visit# VisitDate Patient# PatientBirth ProviderID ProviderSpecialty 

100000 2/15/2012 55555555 4/8/1990 862715  Nurse Practitioner 
100022 2/17/2012 33333333 3/30/1998 382216  Physical Therapist 
104278 2/21/2012 22222222 7/18/1972 232174  Family Medicine 
103745 2/20/2012 11111111 12/22/2011 145690  Pediatrics 
116238 2/23/2012 11111111 12/22/2011 145690  Pediatrics 
112145 2/26/2012 66666666 8/6/1989 582361  Midwife 

Briser cette table vers le bas dans 3NF, ma proposition est de le décomposer en 3 tables avec les groupes d'attributs suivants: (Visite #, VisitDate), (patient # , PatientBirth), (ProviderID, ProviderSpecialty) Ce dont je ne suis pas sûr, c'est ce que nous faisons après cela pour lier toutes les tables ensemble. Mes pensées initiales sont de clouer sur le patient # comme la clé primaire pour chaque table, mais je pense que cela brise les règles de 2nf. Toute orientation serait grandement appréciée!

Répondre

1

La première étape après avoir cassé les tables comme vous avez, est de déterminer quelles sont les relations entre les tables. Dans votre exemple, chaque visite concerne un patient et un prestataire. Chaque patient a une ou plusieurs visites et (s'il n'est pas montré dans l'exemple) éventuellement un ou plusieurs fournisseurs. Chaque fournisseur prévoit de nombreuses visites et de nombreux patients. En utilisant ces relations, vous placerez les clés primaires du patient et du fournisseur dans le tableau des visites. Si vous avez spécifiquement besoin d'un lien entre le patient et le fournisseur, vous devrez créer une autre table avec les clés primaires des deux, mais cela n'est pas nécessaire pour cet exemple.

edit: 3nf n'implique généralement pas la spécification de clés étrangères car elles sont généralement spécifiées après que les tables ont été normalisées. Donc, les tables que vous avez trouvées sont déjà en 3nf.

+0

Ok, cela a du sens. Merci d'avoir clarifié ma confusion initiale avec l'édition. – user2789945