Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2006, 17h49   #1
Membre habitué
 
Inscription : août 2005
Messages : 130
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 130
Points : 126
Points : 126
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
Zeusviper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2006, 21h50   #2
Xo
Expert Confirmé
 
Avatar de Xo
 
Inscription : janvier 2005
Messages : 2 701
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2005
Messages : 2 701
Points : 3 237
Points : 3 237
Envoyer un message via Skype™ à Xo
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
Xo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 09h09   #3
Membre habitué
 
Inscription : août 2005
Messages : 130
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 130
Points : 126
Points : 126
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..
Zeusviper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 10h57   #4
Membre chevronné
 
Avatar de sozie9372
 
Inscription : mai 2005
Messages : 714
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 714
Points : 647
Points : 647
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
sozie9372 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 03h14   #5
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 303
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 303
Points : 1 386
Points : 1 386
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.
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 07h33   #6
Membre Expert
 
Avatar de TheLeadingEdge
 
Inscription : mai 2005
Messages : 1 200
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 1 200
Points : 1 260
Points : 1 260
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.
TheLeadingEdge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 10h04   #7
Membre Expert
 
Avatar de afrikha
 
Étudiant
Inscription : 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 : 1 978
Points : 1 978
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
afrikha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 11h23   #8
Inactif
 
Avatar de Médiat
 
Inscription : décembre 2003
Messages : 1 946
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 1 946
Points : 1 932
Points : 1 932
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.
Médiat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 11h36   #9
Membre Expert
 
Avatar de afrikha
 
Étudiant
Inscription : 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 : 1 978
Points : 1 978
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
afrikha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 13h04   #10
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 303
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 303
Points : 1 386
Points : 1 386
@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.
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2006, 18h44   #11
Inactif
 
Avatar de Médiat
 
Inscription : décembre 2003
Messages : 1 946
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 1 946
Points : 1 932
Points : 1 932
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...
Médiat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 01h04   #12
Membre habitué
 
Inscription : février 2006
Messages : 118
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 118
Points : 116
Points : 116
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é.
yizashi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 01h33   #13
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 303
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 303
Points : 1 386
Points : 1 386
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.
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 08h41   #14
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 097
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 097
Points : 1 706
Points : 1 706
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 ?
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 18h13   #15
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
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
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 22h15   #16
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 303
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 303
Points : 1 386
Points : 1 386
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.
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 09h58   #17
Membre habitué
 
Inscription : août 2005
Messages : 130
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 130
Points : 126
Points : 126
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!
Zeusviper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 10h21   #18
Membre Expert
 
Avatar de TheLeadingEdge
 
Inscription : mai 2005
Messages : 1 200
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 1 200
Points : 1 260
Points : 1 260
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é.
TheLeadingEdge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 11h14   #19
Membre habitué
 
Inscription : août 2005
Messages : 130
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 130
Points : 126
Points : 126
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é".
Zeusviper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 12h56   #20
Membre Expert
 
Avatar de TheLeadingEdge
 
Inscription : mai 2005
Messages : 1 200
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 1 200
Points : 1 260
Points : 1 260
et le ''couple'' LDAP (pour l'organigramme) / CMS (pour les doc) ? Ca ne conviendrait pas ?
TheLeadingEdge est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h10.


 
 
 
 
Partenaires

Hébergement Web