a) Supposons que le numéro étudiant et le numéro de sécurité sociale sont uniques.
Etudiant(idEtudiant, numéroSécu,, nomPersonne, prénomPersonne)
Solutions :
1NF => Ok car clé unique et chaque atttribut est atomique
2NF => Ok car les champs dépent que d'une partie d'une clé, ici idEtudiant
Déjà en 3NF car il n'y à pas de dépendance fonctionnel
b) Affectation(idPersonne, idEtablissement, nomPersonne, prénomPersonne)
Supposons qu'une personne peut être dans plusieurs établissements et qu'un établissement peut accueillir plusieurs personne
Solutions :
Cette table satisfait à la première forme normale (nous avons une clé unique, et chaque attribut est atomique)
Pas à la deuxième forme normale car les attributs nomPersonne et prénomPersonne ne dépendent pas de idEtablissement
Personne(idPersonne, nomPersonne, prénomPersonne)
Etablissement(idEtablissement,#idPersonne, #nomPersonne)
Dans cette forme, elle respecte la 2NF et la 3NF puisqu'on à plus de dépendance fonctionnel.
c) Supposons qu'une personne ne peut avoir qu'une seule adresse mais qu'elle peut avoir fait plusieurs dons et qu'un don ne peut avoir été fait que par une seule personne. Supposons également que nous ne puissions pas avoir d'homonymes.
Don(nom, prénom, ville, rue, montantsDon, dates)
Solutions :
Cette table ne satisfait pas la première forme normale (nous avons aucune clé unique, et des attributs redondantes 'ville', 'rue' -> remplacer par adresse)
Personne(idPersonne, nomPersonne, prénomPersonne, adressePersonne)
Don(idDon, #idPersonne, #nomPersonne, #adressePersonne, montantsDon)
Ici, j'ai un doute si on est bien en 2NF.
d) Supposons que nous de puissions pas avoir deux homonymes :
Patient(nom,prénom,maladie)
Ville(nom,hopital)
Hopital(nom)
Hospitalisation(nomPatient,nomVille,nomHopital)
Solutions :
Patient(idPatient, nomPatient, maladiePatient)
Hopital(idHopital, nomHopital , adresseHopital)
Hospitalisation(#idPatient,#nomPatient, #adresseHopital)
Partager