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 :

[Postgres] Pb d'heritage...


Sujet :

PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Postgres] Pb d'heritage...
    Salut,

    voila j'ai donc une table ordi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    create table ORDI (
    ORDIID               SERIAL               not null          PRIMARY KEY);
    une table composant (parent) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    create table COMPOSANT (
    COMPOSANTID          SERIAL               not null          PRIMARY KEY);
    des enfants de composant (par ex cpu):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    create table CPU (
    CPUVITESSE           INT4                 null)
    INHERITS (composant);
    et une table intermédiaire entre composant et ordi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    create table possede(
    COMPOSANTID          INT4                 not null          REFERENCES composant,
    ORDIID               INT4                 not null          REFERENCES ordi);
    Bon voila pour la base.

    Mon pb maintenant :

    si j'insère un composant et un ordi puis un INSERT dans ma table intermèdiare POSSEDE, la pas de pb.

    Maintenant si j'insère un CPU, qui va me créer un composantid dans la table cpu et par conséquent dans la table composant(lien d'heritage) puis que je relie a ordi via possede, j'ai alors une erreur me disant que la clef étrangère possede_composantid ne peux être créer car elle fait référence a une clef ki n'existe pas. Cest un peu comme si le composantid n'etait que l'id de cpu et pas de composant.
    Alors que lorsque je fait un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM COMPOSANT;
    j'obtient bien tous mes composant inséré via la table CPU.

    Ma question est :

    S'agit-il d'un bug de Postgres ? Ou ai-je foiré quelque chose ?

  2. #2
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 172
    Points
    172
    Par défaut
    ce type d'intégrité référentielle cause beaucoup de problème sous PostGreSQL, je ne sais pas si ceci a été réglé avec la nouvelle version, à compiler et à voir

Discussions similaires

  1. Réponses: 20
    Dernier message: 03/10/2008, 10h53
  2. [Class/PHP/Postgres] Problème de modélisation...
    Par k-reen dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/02/2003, 08h49
  3. pk passer de mysql à postgre
    Par pioums dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 03/10/2002, 10h31
  4. [Kylix] Requetes Kylix pour postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h22
  5. [Kylix] Kylix - Postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h19

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