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 :

heritage des contraintes


Sujet :

PostgreSQL

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Par défaut heritage des contraintes
    Salut,
    j'ai voulu mettre en place un système d'héritage entre trois tables (2 filles héritant de la mère), et j'ai remarqué que l'on herite pas de la contrainte clé unique.
    y'a t'il une commande SQL pour heriter des contraintes ?
    car en passant pas les classes (ou plutot tables) filles, ont peut, via heritage qui remonte dans sa hiérarchie inclure des doublons dans la table mère sur la colonne Identifiant qui comporte une contrainte clé unique.

    euh... je suis pas sur de m'être bien exprimé la...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 209
    Par défaut
    Hello,

    Non effectivement j'ai pas tout compris. Mais concernant l'héritage, tu peux utiliser le inherits de la syntaxe de Postgres. Les attributs, clé,... sont gérer automatiquement. Par contre tu ne peux pas retrouve un enregistrement dans tes deux enfants. Fait quelques tables et test cette clause inherits... tu verras c'est pratique.

    Si tu travailles avec un soft de conception, normalement, il devrait te gérer cela lui-même. Sinon à toi de le faire à la main.

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Par défaut
    voila ce que je voulai dire :
    j'ai une classe mere par exemple

    CREATE TABLE Villes (
    IdVilles
    autres attributs
    );

    avec une clé unique sur IdVilles

    et je crée une classe fille capital, qui est un elle meme une ville donc :

    CREATE TABLE Capitales (
    attributs
    ) INHERITS(Villes);

    evidement cela fonctionne bien, je retrouve IdVilles dans ma table capitale. Seulement, la contrainte fonctionne que quand j'insert sur la table Villes, la pas de problemes, impossible de créer des doublons, mais par contre je peut en créer sur Capitale.

    Je voulai juste savoir comment heriter de cette contrainte, etant donné que je cherche depuis un petit moment en vain ...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 209
    Par défaut
    Salut,

    Désolé mais je ne peux pas faire de tests maintenant, je ne suis pas au bureau! Je t'aiderai volontier lundi.

    A+

Discussions similaires

  1. [DBA] Détruire et re-créer des contraintes
    Par Doctor Z dans le forum Oracle
    Réponses: 4
    Dernier message: 18/02/2005, 11h51
  2. passage nom des contraintes de MPD au script de création BD
    Par marièmdiaw dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 14/01/2005, 13h18
  3. Liste des contraintes
    Par mic79 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 09/11/2004, 16h40
  4. Prise en compte des contraintes
    Par potanie dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/11/2004, 10h00
  5. Affichage des contraintes
    Par nicobouboufr dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 17/03/2004, 09h21

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