Choix de modélisation & conception pour la relation entre PERSONNE et ADRESSE
A défaut de consignes quant au choix de modélisation & conception pour la relation entre PERSONNE et ADRESSE plusieurs solutions sont envisageables pour modéliser la relation.
NOTE : PERSONNE est une entité factorisé qui comprend ainsi l’ensemble des ELEVEs et PROFESSEURs.
La logique du quotidien voudrait :
Qu’une personne puisse ne pas fournir d’adresse ou qu’elle puisse en avoir plusieurs.
Que plusieurs personnes puissent résider à une même adresse.
Qu’une adresse enregistrée soit a minima affectée à une personne, car on enregistres pas des adresses pour le plaisir.
Solution 1 :
[PERSONNE]----0,1----(localiser)----1,N----[ADRESSE]
Une PERSONNE à au minimum aucune ADRESSE et est localisée au maximum à une seule et unique ADRESSE
A une ADRESSE est localisée au minimum une PERSONNE et au maximum plusieurs PERSONNEs.
PB, la cardinalité 0 (NULL) implique perte de relation bivalente; du fait on lui préférera un schéma équivalent qui conserve la bivalence tout en préservant l’entité [PERSONNE] :
[PERSONNE]----0,1----(R)----(1,1)----[PERSONNE_ADRESSE]----1,1----(R)----1,N----[ADRESSE]
Solution 2 :
[PERSONNE]----(1,1)----(localiser)----1,N----[ADRESSE]
Une PERSONNE est localisée à une seule et unique ADRESSE
A une ADRESSE est localisée au minimum une PERSONNE et au maximum plusieurs PERSONNEs.
Solution 3 :
[PERSONNE]----0,N----(localiser)----1,N----[ADRESSE]
Une PERSONNE est localisée au minimum a aucune ADRESSE et au maximum à plusieurs ADRESSEs.
A une ADRESSE est localisée au minimum une PERSONNE et au maximum plusieurs PERSONNEs.
La présence des cardinalités x,N de part et d’autre de la relation, celle-ci sera traduite par le schéma équivalent :
[PERSONNE]----0,N----(R)----1,1----[PERSONNE_ADRESSE]----1,1----(R)----1,N----[ADRESSE]
Ce n’est pas trivial mais fixer les cardinalités 1,N du coté ADRESSE est un choix de conception peut judicieux. En effet la probabilité que plusieurs personnes (professeur(s) et/ou élevé(s)) résident à la même adresse et soient enregistrées dans notre BD dans le cadre de l’IUT sont des cas exceptionnels ! Exemple si deux personnes Pierre et Maryse habitent en collocation. Pendant l’année universitaire Maryse quitte la collocation.Pierre lui reste dans son logement. Étant donné que Maryse & Pierre ont le même identificateur d’adresse {idAdresse} on ne peut pas simplement mettre à jour l'adresse de Maryse sans affecter aussi celle de Pierre. Ainsi il est nécessaire de créer une nouvelle adresse pour Maryse => nouvel identificateur unique d’adresse.
Le seul «gain» qu’un identificateur d’adresse commun peut apporté dans notre cas serait:
- Économiser une ligne dans adresse néanmoins dans le cadre de notre application nous ne sommes pas à quelques lignes prés.
- Le cas ou une erreur ce serait glissée dans {adresse1, adresse2} et qu’un grand nombre de personnes seraient localisées à cette même adresse néanmoins ADRESSE utilise l’identification relative, toute correction apporté aux villes & code postaux se répercutent automatiquement dans ADRESSE grâce à l’identification relative.
De plus on constate que d’un point de vue gestion de la BD il est bien plus simple d’affecter une unique adresse par personne quitte à avoir de temps à autres quelques répétitions d’adresses.
In fine dans notre cas avoir recours à l’identificateur commun d’adresse pour n personnes à plus d’inconvénients que d’avantages. D’un point de vue conceptualisation il est judicieux de ne pas construire une relation sur une exception mais sur une généralisation :
A une ADRESSE est localisé une seule PERSONNE.
Une PERSONNE peut avoir aucune ou plusieurs ADRESSEs.
[PERSONNE]----0,N----(localiser)----(1,1)----[ADRESSE]
L’identification relative (1,1) évite de recourir aux jointures et permet l'optimisation du processus de traitement quand le nombre de ligne est très grand (>100000).
MLD :
PERSONNE{
idPersonne, dateNaissance, nom, prenom, prenom2 ,tel, email, photo}
ADRESSE{
idAdresse, #idPersonne, adresse1, Adresse2, #idCodepostal,#idVille}
Partager