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 :

Des termes à éclaircir


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien Systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien Systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Points : 18
    Points
    18
    Par défaut Des termes à éclaircir
    Bonjour,

    Je me perds un peu dans des termes relatifs aux clés étrangères donnés dans la documentation mais pas expliqués plus clairement que ça, visiblement...


    Si je prends un exemple simple :

    > une table camion avec les attributs : cam_id, cam_immatriculation
    > une table intervention avec les attributs : int_id, int_date, int_duree et int_cam_id

    La table intervention comporte une clé étrangère qui est la clé primaire de la table camion.

    Questions :

    - Quelle est la table référençant ?
    - Quelles sont les colonnes et lignes référencées ?
    - Quelles sont les lignes de référence ?
    - Quelles lignes référencent quelles lignes ?


    Merci beaucoup !

    Thomas

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    La table référençant, c'est intervention.
    La table référencée (celle à laquelle on fait référence), c'est camion.
    La colonne référencée, c'est cam_id, dans la table référencée camion.
    Les lignes de référence (ou référencées) sont donc celles de la table camion.
    Enfin, les lignes d'intervention référencent (plutôt comprendre "font référence à) les lignes de camion.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien Systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien Systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Points : 18
    Points
    18
    Par défaut
    Merci ced ! J'y vois plus clair...

    Donc je peux définir ma clé étrangère ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CONSTRAINT intervention_int_cam_id_fkey FOREIGN KEY (int_cam_id)
    REFERENCES camion (cam_id)
    ON UPDATE RESTRICT ON DELETE RESTRICT
    L'usage de l'action référentielle RESTRICT signifie que lors de mises à jour ou de suppressions de lignes de la table intervention, celles-ci ne seront pas répercutées dans la table camion. Autrement dit : si je supprime un enregistrement d'intervention, je ne risque pas de perdre d'enregistrements de camions...

    C'est bien ça ? ...ou l'inverse ?

    Merci encore !

    Thomas

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    RESTRICT signifie que tu ne pourras pas supprimer de la table camion tant qu'il y aura des lignes qui feront référence à ce (ou ces) camion(s) dans la table intervention. Il faudra d'abord enlever les interventions de ces camions avant de les supprimer.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien Systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien Systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Points : 18
    Points
    18
    Par défaut
    OK, donc c'est l'inverse de ce que j'ai écrit... L'action référentielle RESTRICT se paramètre donc au niveau de la clé étrangère et définit les répercutions sur la table qui référence (intervention) d'actions effectuées sur la table de référence (camion).

    Merci encore !

    Thomas

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

Discussions similaires

  1. dictionnaire des termes informatique
    Par tchekevara dans le forum Débuter
    Réponses: 2
    Dernier message: 12/04/2008, 17h21
  2. Algorithme de simplification des termes d'une équation
    Par Shivaneth dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 03/01/2008, 09h42
  3. Pilotage OLE WORD - Remplacer des termes-
    Par bru-no dans le forum C++Builder
    Réponses: 10
    Dernier message: 19/03/2007, 22h51
  4. Traduction des termes de programmation
    Par ciol2.6.12 dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 20/01/2007, 11h19
  5. importance de l'ordre des termes d'une addition
    Par naz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/08/2006, 15h47

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