Module 140

Administrer et exploiter des bases de données

Jour 7 - PL/SQL - Contraintes inter-associatives

# Objectifs du jour

Objectifs du jour

  • Mise à jour du Mindmap

  • Suite de l'exercice 5.4 des triggers

  • Exercice sur une contrainte inter-associative

  • Correction de l'exercice

Ne pas oublier de démarrer Lanschool !

# Mise à jour du mindmap

Modification du mindmap

  • Lever la main quand vous avez trouvé l'erreur :

CREATE OR REPLACE PROCEDURE afficher_message(p_nom OUT VARCHAR2) IS
BEGIN
   DBMS_OUTPUT.PUT_LINE('Bonjour, ' || p_nom || ' !');
END;
/
# Suite des exercices

Suite de l'exercice 5.4

 

  • Suite de l'exercice 5.4

    • Voir le corrigé de la première partie

  • Faire la suite : la partie des triggers

Contraintes inter-associatives

# Contrainte inter-associative

Les contraintes inter-associatives en base de données sont des règles qui expriment des relations ou des restrictions entre deux ou plusieurs associations dans un modèle entité-association.
Ces contraintes permettent de définir des conditions plus complexes que les simples cardinalités et jouent un rôle crucial dans la modélisation précise des données.

Exemple :

# Contrainte inter-associative

Cas des communes

Voici la modélisation des communes appartenant à un district qui appartiennent eux-même à un canton.

Exemple : Bure -> Porrentruy -> Jura

# Contrainte inter-associative

Cas des communes

Toutefois si on prend la liste officielle des communes, on constate que les communes peuvent appartenir à un canton directement :

# Contrainte inter-associative

Cas des communes

Voici le schéma modifié :

# Contrainte inter-associative

Cas des communes

Problème : Avec notre modélisation actuelle, une commune pourrait être reliée à rien (pas de district ni de canton), de même qu'elle pourrait être reliée aux deux (district et canton).

District Canton Résultat
Non Non Invalide
Oui Non Valide
Non Oui Valide
Oui Oui Invalide

Voici ce que nous souhaiterions :

# Contrainte inter-associative

Cas des communes

On constate que le résultat souhaité correspond à un XOR :

District Canton Résultat
Non Non Invalide
Oui Non Valide
Non Oui Valide
Oui Oui Invalide
A B A XOR B
0 0 0
1 0 1
0 1 1
1 1 0

# Contrainte inter-associative

Cas des communes

Nous pouvons donc ajouter ces contraintes inter-associative XOR entre les relations correspondantes :

# Contrainte inter-associative

Exercice 6.1

Exercice des communes avec

contrainte inter-associative XOR :

# Contrainte inter-associative

Cas des communes

# Travail pour la prochaine fois

Travail pour la prochaine fois

  • Pas de devoir spécifique -> Profitez-en pour mettre à jour vos notes et réviser

Merci de votre attention 😊
Bonne fin de journée !

M140 - Jour 7

By paranor

M140 - Jour 7

  • 86