Comment transformer une association réflexive ?

Graphe non orienté

Un graphe non orienté est transformé en une table associative. Cette table associative doit contenir un couple de clés étrangères qui réfèrent à la table des nœuds du graphe.

Techniquement, nous devons nommer les deux contraintes et colonnes de clés étrangères ; toutefois les deux noms n’ont pas de signification. Nous avons différencié les deux clés par les postfixes A et B. Nous aurions tout aussi bien pu mettre 1 et 2. Vil_RteA se réfère à l’une des deux villes et Vil_RteB seréfère à l’autre.

Limites du modèle relationnel pour un graphe non orienté

Graphe orienté

Un graphe orienté est transformé en une table associative. Cette table associative doit contenir un couple de clés étrangères qui réfèrent à la table des nœuds du graphe. Les noms des deux contraintes et des deux colonnes de clés étrangères reprennent les noms des deux rôles du modèle conceptuel.

Arbre

Un arbre est transformé en une contrainte de clé étrangère.

Rappel :

  • Lors de la transformation d’une association de degré 1:n, la table dont la cardinalité vaut n devient la source de la relation.
  • Lors de la transformation d’une association réflexive de degré 1:n, c’est le rôle dont la cardinalité vaut n qui devient source de la relation.

Liste

Une liste est transformée en une contrainte de clé étrangère.

Rappel :

  • Lors de la transformation d’une association de degré 1:1, une des deux tables est choisie pour devenir la source de la relation.
  • Lors de la transformation d’une association réflexive de degré 1:1, chacun des deux rôles peut être source ou cible de la relation.