TNSI : BDD - Types Relations entre Tables⚓︎
Différents Types de Relations et Schématisations UML vs ERD⚓︎
La schématisation précédente - un trait simple - est imparfaite et ne suffit pas totalement à résumer le lien complexe entre deux tables quelconques. En effet, revenons à notre site de VOD proposant de louer des vidéos (pour 24H) :
- un utilisateur dispose d'une seule zone géographique
- mais une même zone géographique peut être choisie par plusieurs utilisateurs
La schématisation précédente ne permet en effet pas, en son état actuel, de rendre compte de ces subtilités. Pour combler cela, on ajoute plusieurs informations à l'entrée à et à la sortie des tables, qui permettent de rendre compte des divers types de relations entre tables. Il existe (au moins) deux notations concurrentes :
- la notation
UML : Unified Modeling Language - la notation
ERD : Entity Relation Diagram - etc ..
Diagrammes ERD / Diagramme Entité-Association
On ajoute trois informations à la relation symbolisée par un trait entre les tables :
- à gauche : un symbole représentant le
min (encore appeléordinalité ) qui modélise le nombre minimum de fois qu'une instance dans une table/entité (sortante) peut être associée à une instance de l'autre table/entité (cible) - à droite : un symbole représentant le
max (encore appelécardinalité ) qui modélise le nombre maximum de fois qu'une instance dans une table/entité (sortante) peut être associée à une instance de l'autre table/entité (cible) - l'
association (en général un verbe, un extrait de phrase) qui détaille plus précisément la relation entre ces deux tables/entités
Relations 1
à 1
⚓︎
Notation UML - Unified Modeling Language⚓︎
- Un utilisateur du site dispose d'une (unique) carte client matérielle dès son inscription sur le site.
- Une carte client appartient à un seul client
Col
Col
Col
Symbole \(min..max\) \(min,max\) |
Signification |
---|---|
\(0\) | Zéro |
\(1..1\) (quelquefois \(1\)) |
Un |
\(1\) \(0..1\) \(0,1\) |
Zéro ou Un |
\(n\) \(0..n\) \(0,n\) |
Zéro ou Plusieurs |
\(1..n\) \(1,n\) (quelquefois \(n\)) |
Un ou Plusieurs |
\(\infty\) | une infinité |
Un utilisateur "est le propriétaire" d'exactement une carte client.
Une carte client appartient exactement à un utilisateur
Appartenance : doit quelquefois être pensée à l'envers
quand on la lit dans l'autre sens...
Notation ERD - Entity Relation Diagram⚓︎
Col
Col
Symbole | Signification |
---|---|
![]() |
Un |
![]() |
Plusieurs (ou \(\infty\)) |
![]() |
Un (et seulement Un) |
![]() |
Zéro ou Un |
![]() |
Un ou Plusieurs (ou \(\infty\)) |
![]() |
Zéro ou Plusieurs (ou \(\infty\)) |
Relations 1
à n
(plusieurs)⚓︎
- un utilisateur habite dans une (unique) zone géographique
- une zone géographique est peuplée/associée à (aucun ou) plusieurs utilisateurs du site
Col
Un utilisateur habite/est associé à exactement une zone géographique Une zone géographique est associé à aucun ou plusieurs utilisateurs
"est associé à"
Col
Relations n
(plusieurs) à n
(plusieurs)⚓︎
- Un utilisateur peut louer aucun ou plusieurs films
- Un film peut être loué par aucun ou plusieurs utilisateurs
Col
Un utilisateur peut louer aucun ou plusieurs films.
Un film peut être loué (à la demande...) par aucun ou plusieurs utilisateurs
"louer"
Col