Omet navegació

3.1 - Tipus de dades XML

Nota inicial

Les proves i exercicis sobre PostgreSQL les realitzarem cadascú en un usuari diferent, per a no interferir entre tots. Podríem instal·lar cadascú el seu SGBD PostgreSQL, administrar-lo per a crear els usuaris pertinents i treballar amb PgAdmin de forma còmoda. Si voleu provar-lo teniu una guia d'Administració PostgreSQL en els annexos.

Tanmateix, com que l'únic que volem és connectar-nos com a clients i tenim un servidor PostgreSQL al qual podem accedir tant des de dins de l'Institut com des de fora, no ens caldrà.

L'usuari i BD serà el mateix que ja es va utilitzar en el Tema 6. Si no tens clar quin és aquest usuari i BD, contacta amb el teu professor.

En altres ocasions ens hem aconformat utilitzant la perspectiva Database Development. Lamentablement, ara no ens és suficient, ja que no suporta els tipus especials, com el tipus XML. Per tant ens fa falta PgAdmin per a poder treballar còmodament. Si no el teniu instal·lat, ho podeu fer fàcilment des de la pàgina www.pgadmin.org, però cuideu que siga la versió PgAdmin 3 (la versió PgAdmin 4 potser no siga compatible amb el nostre servidor). Fins i tot existeix una versió portable que es pot instal·lar tant en Windows com en Linux (executant-la amb el Wine), que si no heu d'utilitzar pgAdmin per a res més, és la que us recomane tilitzar. Us la podeu descarregar de:

http://sourceforge.net/projects/pgadminportable/files/latest/download

 

Tindrem un nou tipus de dades XML, i ens permetrà guardar tot un document XML com el valor d'un camp d'aquest tipus. Anem a crear una taula d'exemple, que contindrà diferents documents XML.

CREATE TABLE p_xml
(
  num integer PRIMARY KEY,
  doc xml
)

Fem un primer exemple d'introducció d'un document. Posarem el valor directament en una sentència INSERT:

INSERT INTO P_XML VALUES(1,'<clients>
<client><codi>10</codi>
<raoSocial>Components Informàtics</raoSocial>
</client>
<client><codi>20</codi>
<raoSocial>Institut Obert de Catalunya</raoSocial>
</client>
</clients>')

PostgreSQL farà una conversió automàtica de VARCHAR a XML, i es guarda bé. Podríem fer la prova d'introduir malament la informació XML, per exemple llevant una etiqueta </client>. PostgreSQL detectarà que no està ben format i donarà un error.