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 :

Quel SGBD gratuit sachant gérer nativement des champs XML ?


Sujet :

Décisions SGBD

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Points : 25
    Points
    25
    Par défaut Quel SGBD gratuit sachant gérer nativement des champs XML ?
    Bonjour,
    je suis à la recherche d'une SGBD gratuite sachant gérer nativement des champs XML et ayant des functions capables de parser ses champs sans avoir à les extraires .
    Je voulais donc savoir si quelqu'un connaissait une telle merveille

  2. #2
    vh
    vh est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    le XQuery devrait te convenir mais ensuite il faut trouver des programmes qui l'utilisent
    j'en ai trouvé un payant sur Google et des autres gratuits sur Sourceforge
    http://sourceforge.net/projects/mxquery/
    http://sourceforge.net/projects/saxon/
    http://sourceforge.net/projects/exist/

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    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 770
    Points : 52 726
    Points
    52 726
    Billets dans le blog
    5
    Par défaut
    SQL Server le fait très bien et permet le mélange des comandes XQuery et SQL dans une même requête avec en plus la notion d'intra jointure... et l'indexation des documents XML.

    Il existe en version gratuite mais limité à 4 Go par base (version 2005 express)

    Un exemple de traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    -- création d'un schéma XML pour validation des données d'une colonne XML
     
    CREATE XML SCHEMA COLLECTION XSC_DONNEES_ENTREPRISE as N'
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:company="http://www.exemple.com/entreprise"
        targetNamespace="http://www.exemple.com/entreprise" elementFormDefault="qualified">
      <xs:element name="personnel">
        <xs:complexType>
          <xs:choice maxOccurs="unbounded">
            <xs:element name="employe">
              <xs:complexType>
                <xs:all>
                  <xs:element name="nom" type="xs:string" />
                </xs:all>
                <xs:attribute name="matricule" type="xs:ID" />
              </xs:complexType>
            </xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>'
    -- cette table possède une colonne de type XML dont les données 
    -- doivent se conformer au schéma ci avant
     
    CREATE TABLE T_ENTREPRISE_EMPLOIS_EEP
    (EEP_ID         INTEGER PRIMARY KEY IDENTITY, 
     EEP_NAME       VARCHAR(12),
     EEP_XML_DATA   XML (XSC_DONNEES_ENTREPRISE))
     
    -- insertion de deux listes d'employés 
    -- pour les entreprises IBM et Microsoft
     
    INSERT INTO T_ENTREPRISE_EMPLOIS_EEP 
           VALUES ('IBM',
    '<personnel xmlns="http://www.exemple.com/entreprise">
      <employe matricule="M0108"><nom>Jean</nom></employe>
      <employe matricule="X0017"><nom>Jacques</nom></employe>
      <employe matricule="V0009"><nom>Jules</nom></employe>
    </personnel>')
     
    INSERT INTO T_ENTREPRISE_EMPLOIS_EEP 
           VALUES ('Microsoft',
    '<personnel xmlns="http://www.exemple.com/entreprise">
      <employe matricule="AC23"><nom>Marc</nom></employe>
      <employe matricule="VF42"><nom>Marcel</nom></employe>
    </personnel>')
     
    -- extraction de la liste des employés de toutes les entreprises
    -- dont le nom comporte la lettre 'a'
     
    WITH XMLNAMESPACES (DEFAULT 'http://www.exemple.com/entreprise')
    SELECT EEP_ID as [Clef entreprise], 
           NoeudXML.value( './@matricule', 'nvarchar(10)' ) as [Matricule employé],
           NoeudXML.value( './nom', 'nvarchar(16)' ) as [Nom employé]
    FROM   T_ENTREPRISE_EMPLOIS_EEP
           CROSS APPLY EEP_XML_DATA.nodes('/personnel/employe') as T(NoeudXML)
    WHERE  NoeudXML.value( './nom', 'nvarchar(16)' ) LIKE '%a%'
     
    Clef entreprise Matricule employé Nom employé
    --------------- ----------------- ----------------
    3               M0108             Jean
    3               X0017             Jacques
    4               AC23              Marc
    4               VF42              Marcel

    Dans cet exemple, la liste des employés à été extraite de chaque document xml et mise en relation par intra jointure croisée (CROSS APPLY) avec les informations des colonnes de la table. La requête mêle les langages SQL, XQuery et XPath sur des données SQL et XML…

    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/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel SGBD a une bonne gestion des LOGs ?
    Par joker vb dans le forum Décisions SGBD
    Réponses: 12
    Dernier message: 03/04/2008, 17h17
  2. Réponses: 1
    Dernier message: 24/05/2007, 18h09
  3. Réponses: 3
    Dernier message: 19/02/2007, 10h26
  4. Réponses: 12
    Dernier message: 04/09/2006, 11h10
  5. quel SGBD possible pour telle gestion des droits
    Par meufeu dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 14/04/2005, 09h17

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