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 :

[MySQL/XML] optimisation et choix de stockage


Sujet :

XQUERY/SGBD XML

  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 [MySQL/XML] optimisation et choix de stockage
    Bonjour,
    ce message fait suite à ce fil : http://www.developpez.net/forums/sho...d.php?t=161955

    mais pour résumer, l'idée est de développer un outil qui permet de faire transiter un document dans un circuit de destinataires hiérarchique, ceux ci devant valider le document pour qu'il continue son chemin.

    j'ai établi la toute simple base mysql suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    conteneur : id, date_creation, id_emetteur, circuit
    signature : id_conteneur, id_personne, etat_signature, commentaire, date
    personne : id, nom, mdp
    circuit est alors un champ blob où je stocke un fichier xml à la structure du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <emetteur>Jean Voi</emetteur>
     
    <destinataires>
    <agent type="valideur">dest1</agent>
    <parallèle>
    <sequence>
    <agent type="valideur">dest2</agent>
    <agent type="valideur">dest3</agent>
    </sequence>
    <agent type="valideur">dest2bis</agent>
    </parallèle>
    <agent type="valideur">dest4</agent>
     
    </destinataires>
    Que pensez vous d'une telle structure?

    conserver la table signataire permettra de faire des recherches rapides sur quelle personne est concernée par quel conteneur mais quel est l'intéret/inconvénient à stocker d'autres infos telles que date ou commentaire dans le fichier xml directement?


    Et pour finir, question plus globale sur xml : quel est l'intéret/inconvénient de stocker des infos simples en tant qu'attributs plutot que les stocker comme des éléments??

    merci d'avance pour vos avis/conseils

  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 !

    alors, tout d'abord, je trouve que ton champ BLOB indique trop d'infos, tu as des redondance qui vont au dela de son rôle (à savoir organiser l'ordre des signatures)

    tu devrais plutôt l'organiser autour de deux balises : sequence et parrallèle qui contiendraient les listes d'id des signataires.

    de plus, ta table "signataire" porte mal son nom, ça devrait plutôt être "signature"

    pour ce qui est de l'organisation général d'un XML, c'est surtout d'un point de vue sémantique :

    les attributs ne peuvent être présents qu'une fois, et ne peuvent avoir que des valeurs relativement simples

    ensuite, c'est à chacun de voir je pense.... selon ce qui est utilisé pour traiter le document XML, il est parfois plus simple d'utiliser un attribut qu'un élément, ou l'inverse.
    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 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
    Citation Envoyé par Swoög
    je trouve que ton champ BLOB indique trop d'infos, tu as des redondance qui vont au dela de son rôle (à savoir organiser l'ordre des signatures)
    oui pour les redondances mais justement quel est l'inconvénient à stocker les infos tel que emetteur ou les champs de commentaire (sur lequel ne sera fait aucune recherche par ex) directement dans le fichier xml? (en considérant evidemment qu'on les supprime de la base sql)


    ensuite, c'est à chacun de voir je pense.... selon ce qui est utilisé pour traiter le document XML, il est parfois plus simple d'utiliser un attribut qu'un élément, ou l'inverse.
    justement, des suggestions? (code php, pas de gestionnaire de base de donné xml.)


    sinon tant que j'y suis, pour stocker des circuits prédéfinis, est il plus intéressant de les stocker en tant que fichier ou dans une table sql?

    merci bcp d'avance!!

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/07/2014, 11h33
  2. [MySQL] choix de stockage mysql ou xml ?
    Par CPPTryer dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/08/2009, 18h51
  3. [Cookies] php + mysql + fpdf optimisation
    Par bijour dans le forum Langage
    Réponses: 2
    Dernier message: 09/10/2006, 15h17
  4. MYSQL -> XML en PHP5
    Par __fabrice dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/12/2005, 10h50
  5. [Wamp] Cherche plateforme pour développer en php, mysql, xml, xsl
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 18/10/2005, 17h31

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