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

XQUERY/SGBD XML Discussion :

Comparaison XML-base de donnée SQL


Sujet :

XQUERY/SGBD XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut Comparaison XML-base de donnée SQL
    J'essaie de faire une comparaison entre les 2 technologies qui accèdent aux données: celle qui accède les bases de donnée XML et celle qui utilise SQL pour accéder à des bases de données.

    1. Peut-être qu'un avantage possible pour xml, c'est qu'il n'y a pas besoin d'installer une sgbd et d'utiliser un logiciel pour créer des tables dans un fichier. Il suffit juste d'utiliser word pour créer un document xml.

    2.D'autre part si on veut créer une page web à partir de base de donnée, dans le cas de XML, il faut créer un fichier XSL. Dans le cas des base de donnée classiques, il faut utiliser des servlet ou autre programme (ce qui est peut-être moins simple aussi).

    3.On peut rajouter des colonnes et des données dans une base de donnée ordinaire. Une base de donnée XML n'est accessible qu'en lecture seule, il me semble (dites-moi si je me trompe !).

    4.Il est plus facile de stocker des longues portions de texte dans dans un document xml que dans des cellules d'une table d'une base de donnée ordinaire.

    Voilà donnez-moi votre avis là-dessus, et éventuellement d'autres éléments de comparaison ...

    Marc

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    Je ne pense pas que le XML doive être utilisé comme une base de donnée...

    tout d'abord, par rapport à tes arguments :

    rien à dire pour les 1 et 2

    pour le 3 par contre il existe de nombreux outils de parse XML qui permettent de modifier un document, donc on peut toujours (au prix d'une certaine gymnastique) modifier un doc XML...

    pour le 4 : non, si on choisit le bon type de colonne, on peut stocker toutes les chaînes de caractère qu'on veut sans problème...

    A mon avis, différence d'utilisation entre XML et SGBDR :

    XML :
    peu de données, données devant transitées, être transformée ou destinées au public.

    SGBD(R/O) :
    quantité de donnée importante, stockage général et brut, non destiné au public, mais uniquement aux scripts et devant rester sur le même serveur.

    pourquoi :
    d'une part selectionner des données en XML est très couteux en temps et en ressource, et le parse d'un grand document XML peut être également très couteux, alors que les fichiers de BDD sont optimisés pour...

    le format XML est extensif, c'est à dire qu'il prend beaucoup de place certaines données comparées à une BDD

    par contre :
    le XML est facilement parsable dans presque tous les langages, pour les SGBD il faut souvent installer un plugin de connection.

    il est beaucoup plus sécurisé de ne transmettre que les données nécessaires via XML que les identifiants de connexion à la BDD à un serveur étranger.

    Autrement dit, pour le stockage global, je pense qu'il vaut mieux utiliser un SGDB, et pour le stockage ponctuel d'informations précises et pré-filtrée, je pense qu'il vaut mieux utiliser XML...

    J'espère que cela t'aidera
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut
    swog --> "Je ne pense pas que le XML doive être utilisé comme une base de donnée..."

    XMl sert à stocker des données auxquelles on peut accèder, c'est ce que je veux dire. Comment tu peux exprimer ça autrement sinon ??

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Perso, par base de donnée, je pense à une structure assez conséquente, avec un certain, et une quantité d'information non négligeable, donc le traitement peut supposer des jointures entre les tables, diverses opérations de tris, de filtrage, etc...

    Comme je l'ai dit, le traitement de ses opérations sur du XML risque d'être très complexe et couteux, et, à mon sens, à ce point complexe et couteux qu'il serait prohibitif pour l'usage en tant que BDD centrale d'un application ou d'un Site Web...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut
    Oui mais alors comment appeler ça ? Bonne question !

    Peut-être que "structure de donnée" pourrait être une appelation utilisable .... Ce n'est pas pratique de ne pas avoir du tout crée d'appelation.

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    en effet, structure de donnée parait juste comme appelation... c'est vrai que c'est pas super pratique, mais bon, c'est avant tout des considérations personnelles aussi, tous les outils permettant de gérer une BDD en XML existent, ou sont créable relativement facilement (excepter jointures etc... qui sont plus complexes)... mais je pense que le temps/coût parsage/traitement ne vaut vraiment pas le coup pour de telles structures...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut
    swoog--> je te réponds sur 2 points que tu as dis.
    ---------------------------------
    "Perso, par base de donnée, je pense à une structure assez conséquente, avec un certain, et une quantité d'information non négligeable, donc le traitement peut supposer des jointures entre les tables, diverses opérations de tris, de filtrage, etc..."


    La définition de base de donnée dans mes cours ne dit pas du tout ça, elle a un sens très large :

    "A database is a collection of data stored in a computer system."

    en français-->Une base de donnée est un ensemble de donnée stocké dans un système informatique.

    Quoi de plus large ? D'après ce qu'il y a écrit, ce que tu dis n'est peut-être pas totalement exact.

    -----------------------------------------------------------

    "XML :
    peu de données, données devant transitées, être transformée ou destinées au public.

    SGBD(R/O) :
    quantité de donnée importante, stockage général et brut, non destiné au public, mais uniquement aux scripts et devant rester sur le même serveur."

    Es-tu sûr de ces informations là ? car j'ai lu des choses différentes sur d'autres sites, et j'aimerai bien avoir une confirmation de ce que tu écris si possible.

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Effectivement, d'un point de vue de définition, le concept de BDD est beaucoup plus large, mais il s'agissait de la façon dont je le concevais ici, de même que les utilisation de XML et SGBD que j'ai donné ne sont que des considérations plus ou moins personnelles, disons que du fait du traitement nécessaire, je pense que c'est une utilisation raisonnable :

    un SGBD reste un serveur de service à installer, et donc quelque chose de tout de même relativement lourd, donc je ne vois pas vraiment l'utilité de l'utiliser pour une quantité de donnée "à usage unique", prétriées etc...

    pour XML, les ressources demandées pour le traitement ponctuelle reste proportionnelles, dans le meilleur des cas, à la taille des données et au traitement, d'où l'idée de réduire ou simplifier au maximum les traitement à effectuer

    Il ne s'agit que d'idées personnelles bien sûr ^^

    on peut tout à fait utiliser XML et les BDD autrement...

    D'ailleurs XML a de très nombreuses autres utilisations, selon la norme utilisée (XSLT, XSD, XHTML, RSS, etc...)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  9. #9
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Bon on va essayer de clarifier un peu tout ça parce que la

    Il ne faut pas confondre Base de Données (BD)et Système de Gestion de Base de Donnée(SGBD) et encore moins avec Système de Gestion de Base de Donnée Relationnelle (SGBDR)

    En effet, toute structure permettant de stocker des données est une base de donnée.
    Un SGBD est le système qui permet d'acceder en ecriture/lecture a ces données.

    Un SGBDR est un de ses systèmes qui permet d'acceder à ces données sous la forme d'une logique relationnelle.
    C'est ca la "vision personnelle" de swoog sans doute parce que c'est la plus couramment utilisé aujourd'hui.

    Maintenant on n'a pas forcemment besoin d'un systeme relationne et xml (sans vrai sgbd) est un format qui permet de conserver et d'acceder facilement a de petits volumes de données.
    Mainteant il existe aussi de veritables SGBD XML pour des volumes et des opérations plus conséquentes.
    Ils utilisent des normes comme XML BASE,Xlink, Xpointers pour les organiser et Xquery pour remplacer le SQL.
    Dans une approche plus "classique" la plupart des gros SGBDR permettent maintenant de stocker directement sous un format SGBDR voir fournissent des langages comme Xsql qui permettent , avec une requete sql, d'avoir en sorti un XML dont on a "codé" la forme

  10. #10
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par mtaveau
    1. Peut-être qu'un avantage possible pour xml, c'est qu'il n'y a pas besoin d'installer une sgbd et d'utiliser un logiciel pour créer des tables dans un fichier. Il suffit juste d'utiliser word pour créer un document xml.
    plusieurs possibilités:
    -A la main
    - Dans un programmes via le DOM qui permet de creer document et noeuds

    Si tu disposes de certains fichiers XML et que tu veux en crrer de nouveaux en fonctions de ceci:
    - XSLT
    -Xquery


    Citation Envoyé par mtaveau
    2.D'autre part si on veut créer une page web à partir de base de donnée, dans le cas de XML, il faut créer un fichier XSL. Dans le cas des base de donnée classiques, il faut utiliser des servlet ou autre programme (ce qui est peut-être moins simple aussi).
    Un fichier XSLT.
    Neanmoins le XSLT seul est a mons avis un mauvais choix, celui ci ne donne sa pleine puissance ( grace au passage de parametre) qu'associer à autre langage (asp, java, php......).
    Par contre il permet de simplifier à l'extreme ces programmes, ceux ci n'effectuant plus que pasage de parametre, et calcul laissant la presentation au XSLT.Cela peut grandement faciliter des changements de plateforme

    Citation Envoyé par mtaveau
    3.On peut rajouter des colonnes et des données dans une base de donnée ordinaire. Une base de donnée XML n'est accessible qu'en lecture seule, il me semble (dites-moi si je me trompe !).
    Non, en lecture ecriture.Il faut utiliser le DOM
    Citation Envoyé par mtaveau
    4.Il est plus facile de stocker des longues portions de texte dans dans un document xml que dans des cellules d'une table d'une base de donnée ordinaire.
    Dans une base de donnée tu ne disposes que d'un certains nombres de types predeterminées et, en effet, utiliser à tort et à travers certains des types les plus élevé en volume est généralement très pénalisant pourle reste des performances de la base.
    Dans un XML, les seuls limites qui peuvent être fixé le sont, si il le souhaite, via un documant validant (XML Schéma, DTD....) ou ils fixera les limites qu'il souhaite .

    Les principaux defauts du xml aujourd'hui ?

    - C'est un format très gourmand en mémoire.
    - Sur de gros volumes les SGBDR disposent de bien meilleurs temps d'acces et optimisation.
    - Les Bases de Données XML en sont en leur debuts, peu de gens les maitrisent et les normes sont peu implémentées (voir en développement)

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Xml recherche
    salut les ami(e)s je s une question pour vous :


    c est ki le plus rapide pour la recherche c est xml ou les SGBD
    pourquoi et comment ?

  12. #12
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Lut ! Si tu avais lu les topic en cours... tu verrais (dans le dernier post de Erwy, juste au dessus du tiens d'ailleurs...)

    qu'il a marqué
    Citation Envoyé par Erwy
    - Sur de gros volumes les SGBDR disposent de bien meilleurs temps d'acces et optimisation.
    On en revient donc au même, tout dépend de ce que tu veux traiter, et dans quelle optique tu souhaites le faire
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

Discussions similaires

  1. fichier XML à partir d'une base de données SQL
    Par MuldyMath dans le forum XQUERY/SGBD
    Réponses: 6
    Dernier message: 24/05/2006, 14h57
  2. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 11h33
  3. probleme base de donnée SQL server
    Par waguila666 dans le forum ASP
    Réponses: 9
    Dernier message: 01/12/2004, 12h54
  4. Réponses: 3
    Dernier message: 29/03/2004, 19h02
  5. XML->Base de donnée Mysql
    Par lheureuxaurelie dans le forum XQUERY/SGBD
    Réponses: 4
    Dernier message: 11/03/2004, 00h47

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