Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2001 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de clef etrangère

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de clef etrangère

n°1128887
Ummon
Posté le 23-06-2005 à 16:09:29  profilanswer
 

Hello tout le monde !
Bon alors j'ai un petit problème de FK sous postgresql 8.0, je déclare des contraintes de clef étrangères dans deux tables de façon totalement similaire, sur une cela fonctionne très bien mais sur l'autre pas du tout.
Voila mes 2 tables :
 


CREATE TABLE DonneesProjet (
  -- la clef primaire
  id serial NOT NULL,
 
  -- le fichier  
  fichier integer,
  ligne integer,
 
  PRIMARY KEY(id),
  FOREIGN KEY(fichier) REFERENCES Fichier ON DELETE SET NULL,
  FOREIGN KEY(ligne) REFERENCES Ligne ON DELETE SET NULL
);
CREATE INDEX DonneesProjet_Fichier_INDEX on DonneesProjet(fichier);
CREATE INDEX DonneesProjet_ligne_INDEX on DonneesProjet(ligne);
 
CREATE TABLE LiaisonOptique (
  id serial NOT NULL,
 
  port1 integer,
  port2 integer,
  ligne integer,
 
  PRIMARY KEY(id),
  FOREIGN KEY(port1) REFERENCES Port ON DELETE SET NULL,
  FOREIGN KEY(port2) REFERENCES Port ON DELETE SET NULL,
  FOREIGN KEY(ligne) REFERENCES Ligne ON DELETE SET NULL
) INHERITS (ObjetReseau);
CREATE INDEX LiaisonOptique_port1_INDEX on LiaisonOptique(port1);
CREATE INDEX LiaisonOptique_port2_INDEX on LiaisonOptique(port2);
CREATE INDEX LiaisonOptique_ligne_INDEX on LiaisonOptique(ligne);


 
Mon problème concerne la clef étrangère 'ligne' qui est la même dans les deux tables. Lorsque j'edite mes tables (avec pgAdmin par exemple) et je modifie DonneesProjet.ligne à une mauvaise valeur (il n'y a pas d'enregistrement ligne correspondant) il râle et me dit qu'il y a une contrainte (là c bon) mais lorsque je modifie LiaisonOptique.ligne et que je mets n'importe quoi comme valeur alors il ne me dit rien le bougre ... alors qu'il y a une contrainte d'integrité !
 
Je ne vois pas ou se situe le problème ...  :(

mood
Publicité
Posté le 23-06-2005 à 16:09:29  profilanswer
 

n°1133606
Ummon
Posté le 28-06-2005 à 13:56:49  profilanswer
 

Personne pour me dépanner ? :/

n°1133982
Arjuna
Aircraft Ident.: F-MBSD
Posté le 28-06-2005 à 17:33:58  profilanswer
 

C'est quoi le "INHERITS" ? Connait pas cette clause.

n°1134303
Ummon
Posté le 29-06-2005 à 08:38:46  profilanswer
 

Ca permet de faire de l'heritage, d'ou le nom de SGBDRO -> Serveur de Gestion de Base de Données Relationnel Objet

n°1134887
Arjuna
Aircraft Ident.: F-MBSD
Posté le 29-06-2005 à 16:17:37  profilanswer
 

Je me demande si ça ne vient pas de ça.
 
Fais juste un test sans, histoire de voir si ça résoud le problème. Si c'est le cas, regarde au niveau de la table "mère" si y'a pas un truc qui pourrait bloquer ta FK

n°1135469
Zzozo
Un peu, passionément, à la fol
Posté le 30-06-2005 à 10:02:21  profilanswer
 

http://dev.mysql.com/doc/mysql/en/ [...] aints.html
 
Vérifies que tu réponds (c'est une checklist quoi) bien à toutes les conditions énumérées à cette page (notamment le type des tables, et la syntaxe ... )

n°1135479
Zzozo
Un peu, passionément, à la fol
Posté le 30-06-2005 à 10:07:11  profilanswer
 

EDIT : Je viens de relire ton post là   je crois que j'ai pas bien compris ce que tu voulais faire
Tu peux être plus explicite stp ?


Message édité par Zzozo le 30-06-2005 à 10:14:26
n°1140997
Ummon
Posté le 05-07-2005 à 17:02:35  profilanswer
 

C'est bon j'ai trouvé la cause de mon problème :

Citation :

A serious limitation of the inheritance feature is that indexes (including unique constraints) and foreign key constraints only apply to single tables, not to their inheritance children. This is true on both the referencing and referenced sides of a foreign key constraint.


issue de la doc postgresql 8.0 : http://www.postgresql.org/docs/cur [...] herit.html


Message édité par Ummon le 05-07-2005 à 17:03:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de clef etrangère

 

Sujets relatifs
Probleme d'affichage a cause des annonces de googleProbleme avec FIREFOX et EBAY
Probleme d'affichage css (retour a la ligne)probleme de timer
Problème champ texte firefox[ASP.net][C#] problème plus conceptuel que de programmation
[MS SQL] Problème avec Procédures stockées & Curseurun probleme de recherche qui parait pourtant simple....
Problème de loginprobleme alignement!
Plus de sujets relatifs à : Problème de clef etrangère


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR