Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 03/05/2011 15:05:45
- dmagnenat
- Membre
Multiples foreign keys pointant vers une même table
Bonjour,
Je dois développer une application pour gérer des projets avec RoR / PostgreSQL, et j'ai un soucis au niveau de la gestion des relations.
Je me trouve avec une table "projets" qui regroupe les divers infos de chaque projet, et une table "projets_projets" qui liste pour chaque projet, les projets qui lui sont liés.
En résumé :
projets
id
nom
date
responsable
description
debut
fin
cout
incertitude
projets_projets
projet_id # le projet qui nous intéresse
id_projet # un autre projet dont il est dépendant
Comment dois-je m'y prendre pour créer les liaisons en respectant l'intégrité référentielle, et mon modèle est-il cohérent ?
Enfin, même si il y a une astuce pour contourner ce cas, comme gère-t-on ce type de problème où on fait référence à une même table dans plusieurs champs au sein d'une même table étrangère ?
Merci de votre aide et de vos conseils
Hors ligne
#2 03/05/2011 16:00:35
- Marc Cousin
- Membre
Re : Multiples foreign keys pointant vers une même table
La modélisation est cohérente.
Mettez un nom plus explicite que id_projet, ça facilitera la lisibilité.
Et vous pouvez déclarer des liens de foreign key entre projets_projects et projets (pour vérifier que tous les id projet existent). Et une contrainte d'unicité sur (projet_id, id_projet), ainsi que des contraintes not null sur les deux colonnes (c'est à dire une primary key ).
Marc.
Hors ligne
#3 03/05/2011 16:05:27
- dmagnenat
- Membre
Re : Multiples foreign keys pointant vers une même table
D'accord
Merci pour vos conseils !
Hors ligne