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

Access Discussion :

Relations d'héritage dans un SGBD


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2004
    Messages : 87
    Par défaut Relations d'héritage dans un SGBD
    Voilà, je débute dans la conception des bases de données. J'utilise la méthode MERISE bien évidemment.
    Je m'en sors pas trop mal, sauf pour les relations d'héritage : je patauge pas mal!!
    En fait, je comprends à peu près le principe quand je travaille sur le MCD, mais ensuite ça se corse!!

    Je vous explique : j'ai une table Parent "RESSOURCE" qui peut être de deux types "PRISES D'EAU" ou "USINE".

    J'ai donc créé 3 tables : "RESSOURCE", "USINE" et "PRISES D'EAU".
    L'identifiant de la table "RESSOURCE" est : RESSOURCE_CDN
    Il figure donc dans les 2 autres tables en tant que clés étrangères.

    Je travaille sous Access, et en fait, je voudrais créer un formulaire pour ajouter des nouvelles ressources en "piochant" dans PRISES D'EAU et USINE.

    Mais comme je ne comprends pas trop le principe, je nage un peu : je n'arrive pas à mettre à jour automatique le champ RESSOURCE_CDN dans PRISES D'EAU ou USINE quant je crée une nouvelle ressource.

    Quelqu'un pourrait-il m'éclairer un peu??

    Merci beaucoup!!

  2. #2
    Membre Expert
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Par défaut
    Bonjour,

    Je vous explique : j'ai une table Parent "RESSOURCE" qui peut être de deux types "PRISES D'EAU" ou "USINE".
    J'ai donc créé 3 tables : "RESSOURCE", "USINE" et "PRISES D'EAU".
    Lorsqu'il s'agit d'héritage, on traduit souvent de deux façons différentes en pratique (lors du passage au MPD) :
    • En créant une seule table contenant tous les enregistrements. Table qui contient par exemple un champ booléen (oui/non) qui précise ici s'il s'agit d'une Usine ou d'une Prise d'eau.
    • En créant deux tables distinctes qui sont USINE et PRISES_DEAU. On préfère cette solution si les deux tables ont très peu de champs en commun.


    Es-tu sûr que faire trois tables est la solution ?

    En espérant t'aider.

  3. #3
    Membre chevronné Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Par défaut
    J'approuve la solution de Demco, à qques petits détails près :
    perso je préfère la solution à deux tables (usine et prise d'eau), sauf quand les tables sont similaires à 95% .
    En fait, la table ressource pourrait contenir les champs communs à usine et prise d'eau (cela peut simplifier la vie, notamment si d'autres liaison 1 à N sont à cabler sur la table ressource). Dans ressource, on a 2 clé étrangères, pointant (ou pas) sur usine et prise d'eau. Ces deux dernières tables contiennent les champs qui leurs sont spécifiques.
    Cette solution est applicable si on a (par exemple) 15 champs communs (dont 2 clés étrangères), 10 spécifiques à usines, 12 à prise d'eau.

    On a donc bien une solution à trois tables. Pour pouvoir trancher (1, 2 ou 3 tables), il faudrait connaitre le MCD

    Accessment,

    Yvan

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2004
    Messages : 87
    Par défaut
    Merci!

    J'ai opté pour la solution à 3 tables (ressources, usines, prises d'eau) avec les champs qu'ils ont en commun dans ressource,
    et ça a l'air de bien fonctionner comme ça!!

    Encore merci!

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/07/2009, 14h11
  2. [MCD] Comment créer une relation d'héritage dans Access
    Par Marounda dans le forum Schéma
    Réponses: 4
    Dernier message: 11/01/2008, 16h28
  3. Gestion des versions d'objets dans les SGBD
    Par bennus dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 09/05/2005, 12h57
  4. Relations d'héritage dans un SGBD
    Par mawi dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/04/2005, 23h51
  5. Nouveau dans la SGBD
    Par Lucier dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 14/10/2004, 07h48

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