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

Modélisation Discussion :

Arborescences multiples à représenter en base de données


Sujet :

Modélisation

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 75
    Points : 190
    Points
    190
    Par défaut Arborescences multiples à représenter en base de données
    Bonjour,

    J'aurais besoin de conseils pour modéliser une base de données qui doit contenir une multitude d'arborescences distinctes. Il s'agit d'une base de données qui décrit les composants qui entrent dans la composition d'un produit manufacturé. Chaque produit manufacturé et chaque composant porte un numéro de série.

    Ces informations sont fournies de manière régulière par un logiciel de GPAO sous la forme suivante :

    numéro série père ; numéro série fils

    Il y a différents produits manufacturés, la profondeur de l'arborescence est variable.

    Les informations sont exportées par le logiciel de GPAO à chaque fois qu'une liaison père/fils est enregistrée, et comme on assemble les produits en commençant par les éléments internes les enregistrements "feuilles" sont transmis avant les enregistrements "racines". Les données reçues sont donc systématiquement des informations sur le père d'éléments déjà existants auparavant (sauf s'il s'agit de l'élément le plus profond dans l'arborescence, dans ce cas père et fils sont inexistants).

    J'avais pensé à utiliser une représentation intervallaire, mais vu qu'il s'agit d'une multitude d'arbres et qu'au départ l'élément racine de chaque arbre est inexistant cela ne me semble pas adéquat.

    Toute suggestion est bienvenue.

    Merci de m'avoir lu

    PS : il n'est pas possible de modifier ou d'enrichir les informations fournies par la GPAO

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Bonjour,

    Ce type de problématique a déjà été traité quelques fois sur le forum.
    Il s'agirait sur un Modèle Conceptuel de Données de faire une association réflexive.

    Voyez par exemple ces sujets :

    http://www.developpez.net/forums/d10...s/#post5786512

    http://www.developpez.net/forums/d11...n/#post6367547

    http://www.developpez.net/forums/d35...e/#post7159986


  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,

    Et, en passant, un p'tit coup d'oeil sur les arbres entremêlés...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  4. #4
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    Ca vaut peut-être aussi le coup de jeter un oeil aux bases de données en graphes comme Neo4J. Elles sont souvent plus efficaces que les bases relationnelles pour traverser toute ou partie d'un graphe (et donc d'un arbre) si c'est l'objectif.

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 75
    Points : 190
    Points
    190
    Par défaut
    Merci pour vos réponses.

    Projet en suspens chez le client pour l'instant, j'étudierai ça en détail si la situation évolue.

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Luckyluke34
    Elles sont souvent plus efficaces que les bases relationnelles
    Quod est demonstrandum...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Luckyluke34 Voir le message
    Ca vaut peut-être aussi le coup de jeter un oeil aux bases de données en graphes comme Neo4J. Elles sont souvent plus efficaces que les bases relationnelles pour traverser toute ou partie d'un graphe (et donc d'un arbre) si c'est l'objectif.
    Une base de doonnées en graphe n'est pas là pour organiser l'information d'une entité sous forme d'arborescence, mais pour pré établir des liens entres entités comme le faisait les bases "réseau" des années 70....

    http://neo4j.com/developer/graph-db-vs-rdbms/


    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Une base de doonnées en graphe n'est pas là pour organiser l'information d'une entité sous forme d'arborescence, mais pour pré établir des liens entres entités comme le faisait les bases "réseau" des années 70....


    • Je n'ai jamais dit qu'une base de données en graphe était là pour organiser l'information d'une entité. Jusqu'à preuve du contraire on parle de liaison père/fils dans la question d'origine, donc plusieurs entités.


    • Que veux-tu dire par "pré établir" des liens ? établir au préalable de quoi ? En quoi "pré établir des liens" entre entités est moins efficace et relève d'une technique typique des années 70 (donc j'imagine, implicitement dépassée, obsolète, poussive...) ? Que sont ces bases "réseau", et pourquoi leur échec est-il dû à une inefficacité et pas une raison purement business, ou tout simplement parce qu'elles n'étaient meilleures que les RDBMS que dans une minorité des cas ?


    • Tu disqualifies d'emblée une techno sans demander à l'auteur de la question quelles vont être les opérations les plus fréquentes de lecture ou d'écriture effectuées. On a vu mieux comme analyse.


    Les affirmations fracassantes, c'est bien mais il va falloir dérouler une argumentation un poil plus cohérente pour espérer démontrer quelque chose.

    Par ailleurs, je ne dis pas qu'une techno est meilleure que l'autre dans le cas posé par pascal-od, je préconise juste de regarder les graph databases (donc idéalement faire un prototype ou un proof of concept qui montre que c'est, ou non, plus performant/maintenable/scalable/autres critères dans tel ou tel contexte quand on fait telle ou telle opération).

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