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

Décisions SGBD Discussion :

xml ou base de donnée?


Sujet :

Décisions SGBD

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut xml ou base de donnée?
    Bonjour,
    je rassure, le titre n'a pas pour but de faire bondir les puristes des bases de données

    en fait je m'interroge sur quelle structure utiliser pour stocker une liste de données hiérarchique modifiable?

    et donc sur quel seraient les avantages/inconvenients à choisir xml ou une base sql.

    merci d'avance

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    XML, c'est du texte, donc un fichier plat : ça peut suffire pour un carnet d'adresse de qq lignes, mais ça ne remplace pas un SGBD si les besoins sont un peu plus conséquents : volumétrie, relations et intégrité, indexation, etc...
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut
    Comment créer une hiérarchie dynamique facilement dans une base sql?

    Pour moi le réel intéret de la base de donnée est le tri, et la facilité de recherche.
    mais pour imbriquer des objets dans d'autres et ce de facon dynamique, ca me parait pas forcément optimal..

  4. #4
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Salut !

    A mon humble avis, tout va dépendre du langage que tu vas utiliser derrière, si tu utilises du java, les APIs sont assez costaudes pour faire ce que tu veux. De plus tu pourras l'utiliser pour exporter facilement tes données en XML à partir de SQL et inversement...
    Bon après avoir vanter les mérites de Java...
    Je te propose une solution comme ca :
    Tu fais une table "racine" avec des identifiants liants d'autres tables "filles". il suffit ensuite de lier ces tables "filles" à d'autres tables "filles"... Cela implique une sacrée gestion des commandes DDL , DML et DQL de ton SGBD. Tu devras gérer des alter, drop, create, select, update, et insert...
    bon courage !
    +++
    Ju
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  5. #5
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Un document XML est un graphe. C'est donc une structuration bien adaptée pour ta hierachie arborescente. Mais comme le dit Xo, il faut voir quels sont tes véritables besoins. A ce propos, il existe des bases de données entièrement XML et un langage de requêtes ad-hoc: X-Query.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,

    des ''sgbd'' XML + x-query je ne sais pas s'il y en a plusieurs qui soient ''utilisables'' ( @Hephaistos007 : à ce propos si tu as des liens ça m'interresse ;-) ), il y a en a au moins 1, ''tamino'' qui est complètement opérationnel et stable depuis 1 petit moment maintenant.
    Cela dépend du périmetre de ton projet (et aussi beaucoup de tes moyens).
    Parce que si c'est pour utiliser 1 ''couche gestionnaire des données'' au dessus de tes fichiers xml, tu retombe 1 peu dans le schema classique. La norme SQL permet maintenant de gérer nativement les hiérarchies et là tu as vraiment le choix des outils.

  7. #7
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Bonjour,
    Dans mon cas j'ai dù opter pour un fichier XML car je ne pouvais pas modéliser ce que je voulais dans un SGBDR : En fait le problème est que je ne savais pas à l'avance le nombre de colonnes que contiendra une des tables ( i.e le nombre de consultation que fera un patient ni le nombre de médicaments que prescrira le médecin ) . Après je ne suis pas un pro de la modélisation, donc c'est peut-étre possible.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  8. #8
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par afrikha
    Bonjour,
    Dans mon cas j'ai dù opter pour un fichier XML car je ne pouvais pas modéliser ce que je voulais dans un SGBDR : En fait le problème est que je ne savais pas à l'avance le nombre de colonnes que contiendra une des tables ( i.e le nombre de consultation que fera un patient ni le nombre de médicaments que prescrira le médecin ).
    Une colonne par consultation et une colonne par médicament : quelle horreur . C'est évidemment une ligne par consultation et une par médicament qu'il faut faire.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  9. #9
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par Médiat
    Une colonne par consultation et une colonne par médicament : quelle horreur . C'est évidemment une ligne par consultation et une par médicament qu'il faut faire.
    j'ai pas très bien compris , je n'arrive pas à imaginer la chose. Peux-tu être plus explicite s'il te plait ?



    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  10. #10
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    @TheLeadingEdge

    Les SGBDRO
    1. DB2 XML Extender
      • Stockage en BLOB
      • Fonctions d'accès Xpath intégrées à SQL
    2. Oracle 9.i XML DB
      • Support de XMLType
      • Interrogation via XSQL


    SGBD natifs XML


    Les plus aboutis sont Tamino et Xylème.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  11. #11
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par afrikha
    j'ai pas très bien compris , je n'arrive pas à imaginer la chose. Peux-tu être plus explicite s'il te plait ?
    Pour te répondre sérieusement il faudrait connaître avec précision ton problème, mais à la louche on peut penser que tu vas avoir plusieurs tables (souligné = clé primaire, italique = clé étrangère) :

    Il ne s'agit pas d'une modélisation sérieuse (il faudrait un cahier des charges, et optimiser) :

    Patient (IdPatient, NomPatient, GroupeSanguin...)
    Medecin (IdMedecin, NomMedecin, IdSpécialité, ...)
    Consultation (IdPatient, IdMedecin, DateTimeConsultation, ...)
    Medicament (IdMedicament, IdFournisseur,...)
    Ordonnance(IdPatient, IdMedecin, DateTimeConsultation, IdMedicament, Posologie, ...)
    etc...
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    Personnellement, je trouve plus facile de travailler avec une base de données et dans la majorité des cas ça convient très bien.

    Je ne vois pas en quoi les fichiers xml offrent des avantages pour des structures hierarchiques, mais c'est prévu pour ça d'après ce que je viens de lire. Il existe même des bases de données utilisant des fichiers xml, enfin c'est ce que j'ai lu sur wikipedia... y'avait ce lien si jamais:
    http://dev.sleepycat.com/documentation/bdbxml.html

    Peut-être que tu devrais préciser ce que tu veux stocker si tu veux des réponses précises.

    Sinon il y a toujours les annuaires LDAP qui offrent une structure de données hierarchique, comme si t'étais dans une arborescence de fichiers par exemple.

    D'un point de vue performance je suppose que les bases de données sont forcément en tête, ce qui ne signifie pas que les autres solutions soient mauvaises.

    Quant à la solution qui consiste à ajouter des tables et des colonnes à tout moment, je pense que ce n'est ni nécessaire ni conseillé.

  13. #13
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par yizashi
    Je ne vois pas en quoi les fichiers xml offrent des avantages pour des structures hierarchiques, mais c'est prévu pour ça d'après ce que je viens de lire.
    Réflechis bien, tu devrais comprendre pourquoi.

    Citation Envoyé par yizashi
    Il existe même des bases de données utilisant des fichiers xml, enfin c'est ce que j'ai lu sur wikipedia...
    Oui, je les ai listé plus avant. Il suffit de regarder les clients (BNP Paribas, Le Monde.fr, France Telecom, Hachette, ...) de ces solutions XML pour comprendre qu'elles sont performantes et fiables.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  14. #14
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par Hephaistos007
    Réflechis bien, tu devrais comprendre pourquoi.

    Oui, je les ai listé plus avant. Il suffit de regarder les clients (BNP Paribas ...
    Je travaille à BNP Paribas (DB2 Mainframe).
    Utilisées dans quel contexte applicatif ces solutions à base d'XML ?

  15. #15
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par yizashi
    Personnellement, je trouve plus facile de travailler avec une base de données et dans la majorité des cas ça convient très bien.
    Effectivement, dans la grande majorité des cas, une base de données sera préférable à un stockage XML. Mais il y a un domaine où les SGBDR "conventionnels" sont presque inopérants, c'est pour la gestion documentaire avec une granularité fine. La structure abstraite d'un document technique complexe comporte des chapitres divisés en sections, elles-mêmes divisées en sous-sections, etc. Chaque section comporte des paragraphes, des images, des tableaux, etc. La modélisation de tout cela sous une forme relationnelle ne va pas être triviale, et les requêtes seront complexes... Et je ne parle même pas des structures récursives courantes dans des documents rédigés, comme des tableaux dont les cellules intègrent des tableaux, ou de listes à puces imbriquées, par exemple.

    En XML, ces documents se modélisent naturellement, et des langages comme XPath et XQuery permettent très facilement d'accéder à n'importe quelle partie du document, à moindres frais.
    Citation Envoyé par yizashi
    Je ne vois pas en quoi les fichiers xml offrent des avantages pour des structures hierarchiques, mais c'est prévu pour ça d'après ce que je viens de lire.
    Je pense avoir répondu en partie à ta question...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  16. #16
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par Luc Orient
    Je travaille à BNP Paribas (DB2 Mainframe).
    Utilisées dans quel contexte applicatif ces solutions à base d'XML ?
    Je ne pourrait pas te dire mais j'ai vu BNP paribas dans les clients de Xylème.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  17. #17
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut
    Merci déja de ces réponses! bien intéressant les sgbd xml.
    Les langages derrières seraient du php/sql/xml.

    En fait après avoir recentré le sujet, il apparait que j'ai moins besoin que ce que je pensai du côté hiérarchie dynamique de la chose.
    L'idée toute simple est en fait de créer une sorte de liste de diffusion au "chacun son tour". Le premier doit avoir validé un lien pour que le suivant recoive le courrier et ainsi de suite selon la fameuse liste hiérarchique.

    j'ai pensé à un schéma sur 3 tables :

    Personne : id, nom, mail
    Valide : id_personne, id_conteneur, commentaire, date_validation
    Conteneur : id, contenu, liste

    liste est alors la liste hiérarchique des destinataires, la stocker en xml permet de conserver le coté hiérarchique et dynamique mais est ce vraiment pratique?

    sinon je me dis que je pourrai directement attacher à mon conteneur un fichier xml, qui contiendra la liste hiérarchique ainsi que les champs de la table Valide.

    Il y a peu de chances que je puisse mettre en place un gestionnaire sgbd xml, donc est ce que la recherche et l'utilisation de ce fichier xml via php pourra être relativement pratique et efficace?

    merci d'avance pour votre aide!

  18. #18
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Citation Envoyé par Zeusviper
    L'idée toute simple est en fait de créer une sorte de liste de diffusion au "chacun son tour". Le premier doit avoir validé un lien pour que le suivant recoive le courrier et ainsi de suite selon la fameuse liste hiérarchique.
    Ca ressemble furieusement à 1 workflow ton besoin.
    Peut-être as tu la chance que ta boîte utilise Lotus Notes comme messagerie? Dans ce cas tu pourrais approfondir de ce coté.

  19. #19
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut
    oui c en gros ca! un des buts est de diffuser des documents à un service.

    mais pas de lotus, pas de service de messagerie "évolué".

  20. #20
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    et le ''couple'' LDAP (pour l'organigramme) / CMS (pour les doc) ? Ca ne conviendrait pas ?

Discussions similaires

  1. Que choisir pour gérer les sauvegardes : fichiers XML ou base de données ?
    Par Invité dans le forum Développement 2D, 3D et Jeux
    Réponses: 11
    Dernier message: 14/06/2007, 11h58
  2. xml et base de donnée : faut-il passer obligatoirement par XML
    Par monphp dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 25/04/2007, 01h41
  3. [PHP] utiliser XML comme base de donnée pour un forum ?
    Par wystan dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 27/01/2007, 10h08
  4. [Structure] xml et base de donnée
    Par ons dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 22/01/2007, 16h01
  5. Manipulation de XML sur base de données
    Par psyche dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 02/11/2004, 14h07

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