IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Besoin d'éclaircissement et de conseils sur les clés étrangères


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut Besoin d'éclaircissement et de conseils sur les clés étrangères
    Bonjour,

    je cherche à créer des références d'intégrité avec les clés étrangères, j'ai fait plusieurs tests et j'ai du mal comprendre la différence entre et sur la contrainte de clé étrangère suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    alter table CHANTIERS add foreign key (demande) 
    	references DEMANDE (identifiant)
    	MATCH FULL
    	ON DELETE NO ACTION
    	ON UPDATE NO ACTION;
    /*
    j'ai testé également avec ON DELETE RESTRICT
    et ON DELETE CASCADE
    */
    Sur mes 2 tables de test (CHANTIERS et DEMANDE, relation entre les champs respectifs demande et identifiant), j'ai créé 1 demande '8' et 2 chantiers associés '4' et '6'.

    Selon la contrainte (restrict, no action et cascade), j'ai tenté de supprimer la demande (avec des chantiers liés) ou les chantiers liés sans toucher à la demande.

    Lorsque j'utilise NO ACTION ou RESTRICT:

    - impossible de supprimer la demande 8 si les chantiers 4 et 6 existent.
    - je peux supprimer les chantiers 4 et 6, la demande 8 n'est pas supprimée.

    Avec CASCADE:
    - supprimer la demande 8 supprime les 2 chantiers liés 4 et 6.
    - je peux supprimer les chantiers 4 et 6, la demande 8 n'est pas supprimée.

    Ma question est la suivante: quelle différence entre RESTRICT et NO ACTION ?


    Ce message fait suite à mon précédent sans réponse...

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par Splug Voir le message
    Ma question est la suivante: quelle différence entre RESTRICT et NO ACTION ?
    La seule différence est assez subtile : NO ACTION peut être différé (la vérification de la contrainte peut être effectuée à la fin de la transaction) tandis qu'avec RESTRICT ce n'est pas possible (une erreur sera levée à la première instruction SQL violant la contrainte).
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut
    Merci GrandFather

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sur les clés étrangères
    Par anouar madrid dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/05/2014, 14h37
  2. créer les index sur les clés étrangères
    Par soul-31 dans le forum SQL
    Réponses: 1
    Dernier message: 19/11/2009, 12h03
  3. Besoin d'explications et de conseils sur les threads
    Par matteli dans le forum Développement 2D, 3D et Jeux
    Réponses: 12
    Dernier message: 02/03/2008, 17h27
  4. besoin de conseil sur les procédures stockées et vues.
    Par zenfantasy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/11/2007, 21h41
  5. Besoin de conseil sur les classes
    Par SuperWeight dans le forum MFC
    Réponses: 1
    Dernier message: 04/06/2007, 21h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo