SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Lenguajes de Marcas y SGILenguajes de Marcas y SGI
UT 7: XML (III).
Almacenamiento de información.
CFGS «Administración de Sistemas
Informáticos en Red»
CIFP Juan de Colonia (Burgos)
David H. Martín Alonso
– Curso 2010/2011 –
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
ContenidosContenidos
Introducción
SQL Server
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
3/16
XQueryXQuery
XML Query
• Lenguaje de consulta sobre documentos XML.
→ Funcionalidad comparable a SQL.
– Estándar W3C.
• Lenguaje procedimental + expresiones XPath.
– No es XML, no tiene espacio de nombres, no validable...
– Procedimental: variables, condicionales, bucles, funciones...
• Instrucciones FLWOR
– For, Let, Where, Order by, Return !!!
– Procesadores: AltovaXML, saxonb-xquery (Saxon/Java)
■Introducción
□SQL Server
doc('nombres.xml')/grupo/nombre[1]
for $alu in doc('alumnos.xml')/grupo/alumno
where $alu/edad > 20
order by $alu/apellidos
return $alu/nombre
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
4/16
Modelo relacional / Modelo XMLModelo relacional / Modelo XML
• Los sistemas gestores de bases de datos son el
software esencial en el que se apoyan la mayoría de
las aplicaciones para el almacenamiento y acceso a
sus datos.
– Gestión común de la información de una organización para
evitar duplicidades, mejorando eficacia y reduciendo costes.
– Las bases de datos actuales se basan en el modelo
relacional: estructuras tabulares interrelacionadas.
– El lenguaje SQL, a pesar de la variedad de dialectos es el
lenguaje estándar de configuración, acceso y control.
• XML es un modelo de organización de datos muy
extendido para usos muy variados entre los que
destacan la comunicación entre aplicaciones o la
transformación y representación de los datos.
– Estructura de datos en árbol, jerárquica.
– Estructura de datos integrada en el propio documento.
• ¿Son compatibles los sistemas de bases de datos
relacionales con las aplicaciones XML?
■Introducción
□SQL Server
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
5/16
Dos enfoques:Dos enfoques:
• Sistemas de BBDD compatibles con XML.
– Modelo relacional, almacenamiento de datos en tablas.
Aprovechamos la eficiencia de los motores relacionales
– Acceso mediante SQL.
– Soporte de entrada/salida en XML.
– Conversiones, reformateo de entradas/salidas
• Sistemas de BBDD con soporte XML nativo.
– Modelo XML, almacenamiento de documentos.
– Almacenamiento de datos en formato nativo.
Evita conversiones
– Acceso mediante lenguajes XML: XPath, XQuery.
■Introducción
□SQL Server
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
6/16
XML en SQL ServerXML en SQL Server
• Soporte XML ¿nativo?
– Almacenamiento colateral: relacional y XML
– Modelos muy distintos, coexistencia ajustada.
– Servidor: adaptaciones para el motor relacional.
– Cliente: ampliación de la API de acceso (SQL y .NET).
– Integración con las herramientas.
• Consultas que producen XML (MS SQLServer 2000)
– SELECT con la cláusula FOR XML.
– SQLXML: mapeado a vista XML
Esquema relacional/tablas ↔ Esquema XML/XPath
• Importación desde XML
– Expresiones XPath → tuplas
• Almacenamiento nativo XML (MS SQLServer 2005)
– Como documentos completos: columnas tipo XML
BLOBs: Large Binary Objects
– Modos: XML tipado (con esquema XML) o no tipado
– Transact SQL con soporte XQuery/XPath integrado.
□Introducción
■SQL Server
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
7/16
SELECT … FOR XMLSELECT … FOR XML
SELECT DNI,NOMBRE FROM ALUMNOS FOR XML AUTO, TYPE;
<ALUMNOS DNI="13456234A" NOMBRE="Román Fernández" />
<ALUMNOS DNI="9674562U" NOMBRE="Laura Ubierna" />
<ALUMNOS DNI="72367890G" NOMBRE="Pedro Albacete" />
…
SELECT DNI,NOMBRE FROM ALUMNOS FOR XML AUTO, ELEMENTS;
…
SELECT DNI,NOMBRE FROM ALUMNOS FOR XML RAW, TYPE;
…
SELECT DNI,NOMBRE FROM ALUMNOS FOR XML RAW, ELEMENTS;
…
• Modos
– XML AUTO: jerarquía simple usando nombre de tabla.
– XML RAW: jerarquía simple de elementos row (fila).
• Formatos
– TYPE: Datos como atributos XML.
– ELEMENTS: Datos como elementos hijo.
□Introducción
■SQL Server
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
8/16
El tipo XML: tipado/no tipadoEl tipo XML: tipado/no tipado
– Podemos almacenar 1 documento (1 raíz) o elementos.
• XML sin tipo
– Almacena XML bien formado o fragmentos.
CREATE TABLE mitabla ( …
misdatosxml XML NOT NULL);
• XML con tipo
– Controla entradas XML bien formadas y válidas.
– Incorporamos un XML Schema definido previamente:
CREATE XML SCHEMA COLLECTION mischema AS '…'
– Agregamos un atributo para guardar XML.
CREATE TABLE mitabla ( …
misdatosxml XML (mischema) NOT NULL);
– Ahí podemos detallar si admitimos documento o elementos.
… XML (DOCUMENT mischema)
… XML (CONTENT mischema)
– Podemos definir restricciones con funciones de usuario.
Transact SQL + XQuery/XPath
□Introducción
■SQL Server
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
9/16
Consultas XMLConsultas XML
□Introducción
■SQL Server
INSERT INTO mitabla (misdatosxml)
VALUES ('<grupo>
<nombre>Juan Pérez</nombre>
<nombre>Marta Sánchez</nombre>
</grupo>');
CREATE TABLE mitabla (
id INT IDENTITY,
misdatosxml XML NOT NULL);
SELECT misdatosxml.query('/grupo/nombre')
FROM mitabla;
SELECT misdatosxml.value('(/grupo/nombre)[1]','nvarchar(60)')
FROM mitabla;
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
Ejemplo: SQL Server / XQueryEjemplo: SQL Server / XQuery
INSERT INTO mitabla (misdatosxml)
VALUES ('<papelería>
<cliente xml:id="u1"><n>Juan</n><a>Manzano</a></cliente>
<cliente xml:id="u2"><t>D.</t><n>Luis</n><a>Manzano</a></cliente>
<cliente xml:id="u3" marca="x1"><n>Adolfo</n><a
marca="x2">Jambrina</a></cliente>
<cliente xml:id="u4"><n>Francisco</n><a>Alto</a></cliente>
<cliente xml:id="u5"><n>José</n><a>Mata</a></cliente>
<cliente xml:id="u6"><t>Dr.</t><n>Martín</n><a>Mora</a></cliente>
<cliente xml:id="u7"
marca="x3"><t>Dª.</t><n>Petra</n><a>Masa</a></cliente>
<cliente xml:id="u8"><t>Dª.</t><n>María</n><a>Lucas</a></cliente>
</papelería>');
WITH XMLNAMESPACES('http://yo.mio.es' AS ns1)
SELECT id AS '@fila', misdatosxml.query('
for $i in //cliente[t]
order by $i/a[1],$i/n[1]
return <nombre>{data($i/a)}, {data($i/n)}</nombre>
') AS 'genéricos/papel'
FROM mitabla
WHERE misdatosxml.exist('/papelería')=1
FOR XML PATH('comercio'), ROOT('ns1:grupos');
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
11/16
MySQL y XMLMySQL y XML
□Introducción
□SQL Server
• mysql y mysqldump con la opcion --xml
– Producen salidas en formato XML
– Análogo a MS SQL Server con FOR XML y RAW
– Jerarquía: resultset/row/field
+ database/table_structure en mysqldump
• Se puede almacenar un documento XML
– tipo BLOB
– Funciones XQuery: ExtractValue(), UpdateXML()
• Tanto en SQL Server como en MySQL podemos
construir el texto XML concatenando cadenas...
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
Mayo de 2011 CIFP Juan de Colonia
Probar los ejemplos anteriores para SQL Server y
montar ejemplos propios.
Buscar por grupos información sobre otros gestores y
tratar de hacer un ranquin de aplicación a «XML
nativo».
Actividad I: BBDD con XMLActividad I: BBDD con XML
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
¿Conclusiones?¿Conclusiones?
● Sería interesante disponer de una buen
integración entre bases de datos y documentos
en formato XML.
● Los modelos relacional y jerárquico son
radicalmente distintos y la «transparencia» real
es difícil de conseguir.
● Para extraer información de
estructuras XML disponemos del
lenguaje XQuery que también
incorpora expresiones XPath.
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
ReferenciasReferencias
Boag, S et al. (2010, W3C Recommendation) XQuery 1.0
http://www.w3.org/TR/xquery/
W3Schools (WWW) XQuery Tutorial
http://www.w3schools.com/xquery/
Gabillaud, J. (2009, ENI). SQL Server 2008. SQL, Transact SQL.
ISBN: 978-2-7460-4911-6.
Boulanger, T. y Lecomte, S. (2009, ENI). XML práctico: bases esenciales,
conceptos y casos prácticos. ISBN: 978-2-7460-4958-1.
Bibliografía actualizada en delicious:
http://www.delicious.com/dhmartin/LM-ASIR
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
LicenciaLicencia
Este material está disponible bajo una Licencia Creative Commons,
http://creativecommons.org/licenses/by-nc-sa/3.0/es/
Mayo de 2011 CIFP Juan de Colonia
XML (III): ALMACENAMIENTO DE INFORMACIÓN.
¿Dudas o cuestiones?¿Dudas o cuestiones?

Weitere ähnliche Inhalte

Was ist angesagt? (16)

Unidad iv ddl
Unidad iv ddlUnidad iv ddl
Unidad iv ddl
 
Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQL
 
OLE BD
OLE BDOLE BD
OLE BD
 
Bd relacionales
Bd relacionalesBd relacionales
Bd relacionales
 
Software libre, web semántica y archivos
Software libre, web semántica y archivosSoftware libre, web semántica y archivos
Software libre, web semántica y archivos
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Tutorial de DTD en PDF
Tutorial de DTD en PDFTutorial de DTD en PDF
Tutorial de DTD en PDF
 
Presentacion PL/SQL
Presentacion PL/SQLPresentacion PL/SQL
Presentacion PL/SQL
 
Chuleta de DTD
Chuleta de DTDChuleta de DTD
Chuleta de DTD
 
Clases de oledb
Clases de oledbClases de oledb
Clases de oledb
 
Tema IV elementos de SQL
Tema IV elementos de SQLTema IV elementos de SQL
Tema IV elementos de SQL
 
Bases de datos sql
Bases de datos  sqlBases de datos  sql
Bases de datos sql
 
Oracle xmldb
Oracle xmldbOracle xmldb
Oracle xmldb
 
Lenguaje transact-sql
Lenguaje transact-sqlLenguaje transact-sql
Lenguaje transact-sql
 
Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL Developer
 
Ead aplicaciones prácticas
Ead aplicaciones prácticasEad aplicaciones prácticas
Ead aplicaciones prácticas
 

Andere mochten auch

Andere mochten auch (9)

Base de datdos orientadas a objetos
Base de datdos orientadas a objetosBase de datdos orientadas a objetos
Base de datdos orientadas a objetos
 
Base de datos orientada a objetos
Base de datos orientada a objetosBase de datos orientada a objetos
Base de datos orientada a objetos
 
Bdoo base de datos orientada a objetos
Bdoo base de datos orientada a objetosBdoo base de datos orientada a objetos
Bdoo base de datos orientada a objetos
 
Base De Datos Orientada A Objetos
Base De Datos Orientada A ObjetosBase De Datos Orientada A Objetos
Base De Datos Orientada A Objetos
 
Base de datos orientada a objetos
Base de datos orientada a objetosBase de datos orientada a objetos
Base de datos orientada a objetos
 
Bases de datos orientado a objetos
Bases de datos orientado a objetosBases de datos orientado a objetos
Bases de datos orientado a objetos
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacional
 

Ähnlich wie LM-UT7: Almacenamiento XML

Ramirez liliana base_de_datos
Ramirez liliana base_de_datosRamirez liliana base_de_datos
Ramirez liliana base_de_datosLiliana Ramirez
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6Julián Castiblanco
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISSpanishPASSVC
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfluis268260
 
Almacenamiento de documentos xml
Almacenamiento de documentos xmlAlmacenamiento de documentos xml
Almacenamiento de documentos xmlsinuhenavarro
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#Jordan-P
 
Base de datos jennifer garcia montiel
Base de datos jennifer garcia montielBase de datos jennifer garcia montiel
Base de datos jennifer garcia montieljenni30201
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Antonio Ognio
 
Trabajo bases de datos nativas xml
Trabajo bases de datos nativas xmlTrabajo bases de datos nativas xml
Trabajo bases de datos nativas xmlferrari777
 
Trabajo bases de datos xml
Trabajo bases de datos xmlTrabajo bases de datos xml
Trabajo bases de datos xmlferrari777
 
Base de Datos
Base de DatosBase de Datos
Base de Datosjmmosque
 
Grupo 4
Grupo 4Grupo 4
Grupo 4Ingrid
 

Ähnlich wie LM-UT7: Almacenamiento XML (20)

Ramirez liliana base_de_datos
Ramirez liliana base_de_datosRamirez liliana base_de_datos
Ramirez liliana base_de_datos
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSIS
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdf
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdf
 
Almacenamiento de documentos xml
Almacenamiento de documentos xmlAlmacenamiento de documentos xml
Almacenamiento de documentos xml
 
Base de Datos1
Base de Datos1Base de Datos1
Base de Datos1
 
Tema 2
Tema 2Tema 2
Tema 2
 
Procesamiento de XML en C#
Procesamiento de XML en C#Procesamiento de XML en C#
Procesamiento de XML en C#
 
Base de datos jennifer garcia montiel
Base de datos jennifer garcia montielBase de datos jennifer garcia montiel
Base de datos jennifer garcia montiel
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
Trabajo bases de datos nativas xml
Trabajo bases de datos nativas xmlTrabajo bases de datos nativas xml
Trabajo bases de datos nativas xml
 
Trabajo bases de datos xml
Trabajo bases de datos xmlTrabajo bases de datos xml
Trabajo bases de datos xml
 
Seguridad en MLOps.pdf
Seguridad en MLOps.pdfSeguridad en MLOps.pdf
Seguridad en MLOps.pdf
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Tsql
TsqlTsql
Tsql
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Grupo 4
Grupo 4Grupo 4
Grupo 4
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 

Mehr von David Martin

Mehr von David Martin (17)

PLE UT10
PLE UT10PLE UT10
PLE UT10
 
Taller: «Gráficos en el Aula»
Taller: «Gráficos en el Aula»Taller: «Gráficos en el Aula»
Taller: «Gráficos en el Aula»
 
IW-UTXX: Programación web en PHP con bases de datos
IW-UTXX: Programación web en PHP con bases de datosIW-UTXX: Programación web en PHP con bases de datos
IW-UTXX: Programación web en PHP con bases de datos
 
LM-UT8: Sistemas de Gestión empresarial
LM-UT8: Sistemas de Gestión empresarialLM-UT8: Sistemas de Gestión empresarial
LM-UT8: Sistemas de Gestión empresarial
 
LM-UT3: CSS
LM-UT3: CSS LM-UT3: CSS
LM-UT3: CSS
 
LM-UT2: HTML
LM-UT2: HTML LM-UT2: HTML
LM-UT2: HTML
 
LM-UT1: Lenguajes de marcas
LM-UT1: Lenguajes de marcas LM-UT1: Lenguajes de marcas
LM-UT1: Lenguajes de marcas
 
LM-UT4: Sindicación de contenidos
LM-UT4: Sindicación de contenidosLM-UT4: Sindicación de contenidos
LM-UT4: Sindicación de contenidos
 
Inkscape
InkscapeInkscape
Inkscape
 
La Aldea Global
La Aldea GlobalLa Aldea Global
La Aldea Global
 
Plataformas web
Plataformas webPlataformas web
Plataformas web
 
Ple Ut8
Ple Ut8Ple Ut8
Ple Ut8
 
Burgo Red
Burgo RedBurgo Red
Burgo Red
 
Ethnet
EthnetEthnet
Ethnet
 
Ociburgo
OciburgoOciburgo
Ociburgo
 
Fundicar
FundicarFundicar
Fundicar
 
Eth100
Eth100Eth100
Eth100
 

Kürzlich hochgeladen

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 

Kürzlich hochgeladen (20)

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 

LM-UT7: Almacenamiento XML

  • 1. Lenguajes de Marcas y SGILenguajes de Marcas y SGI UT 7: XML (III). Almacenamiento de información. CFGS «Administración de Sistemas Informáticos en Red» CIFP Juan de Colonia (Burgos) David H. Martín Alonso – Curso 2010/2011 –
  • 2. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. ContenidosContenidos Introducción SQL Server
  • 3. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 3/16 XQueryXQuery XML Query • Lenguaje de consulta sobre documentos XML. → Funcionalidad comparable a SQL. – Estándar W3C. • Lenguaje procedimental + expresiones XPath. – No es XML, no tiene espacio de nombres, no validable... – Procedimental: variables, condicionales, bucles, funciones... • Instrucciones FLWOR – For, Let, Where, Order by, Return !!! – Procesadores: AltovaXML, saxonb-xquery (Saxon/Java) ■Introducción □SQL Server doc('nombres.xml')/grupo/nombre[1] for $alu in doc('alumnos.xml')/grupo/alumno where $alu/edad > 20 order by $alu/apellidos return $alu/nombre
  • 4. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 4/16 Modelo relacional / Modelo XMLModelo relacional / Modelo XML • Los sistemas gestores de bases de datos son el software esencial en el que se apoyan la mayoría de las aplicaciones para el almacenamiento y acceso a sus datos. – Gestión común de la información de una organización para evitar duplicidades, mejorando eficacia y reduciendo costes. – Las bases de datos actuales se basan en el modelo relacional: estructuras tabulares interrelacionadas. – El lenguaje SQL, a pesar de la variedad de dialectos es el lenguaje estándar de configuración, acceso y control. • XML es un modelo de organización de datos muy extendido para usos muy variados entre los que destacan la comunicación entre aplicaciones o la transformación y representación de los datos. – Estructura de datos en árbol, jerárquica. – Estructura de datos integrada en el propio documento. • ¿Son compatibles los sistemas de bases de datos relacionales con las aplicaciones XML? ■Introducción □SQL Server
  • 5. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 5/16 Dos enfoques:Dos enfoques: • Sistemas de BBDD compatibles con XML. – Modelo relacional, almacenamiento de datos en tablas. Aprovechamos la eficiencia de los motores relacionales – Acceso mediante SQL. – Soporte de entrada/salida en XML. – Conversiones, reformateo de entradas/salidas • Sistemas de BBDD con soporte XML nativo. – Modelo XML, almacenamiento de documentos. – Almacenamiento de datos en formato nativo. Evita conversiones – Acceso mediante lenguajes XML: XPath, XQuery. ■Introducción □SQL Server
  • 6. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 6/16 XML en SQL ServerXML en SQL Server • Soporte XML ¿nativo? – Almacenamiento colateral: relacional y XML – Modelos muy distintos, coexistencia ajustada. – Servidor: adaptaciones para el motor relacional. – Cliente: ampliación de la API de acceso (SQL y .NET). – Integración con las herramientas. • Consultas que producen XML (MS SQLServer 2000) – SELECT con la cláusula FOR XML. – SQLXML: mapeado a vista XML Esquema relacional/tablas ↔ Esquema XML/XPath • Importación desde XML – Expresiones XPath → tuplas • Almacenamiento nativo XML (MS SQLServer 2005) – Como documentos completos: columnas tipo XML BLOBs: Large Binary Objects – Modos: XML tipado (con esquema XML) o no tipado – Transact SQL con soporte XQuery/XPath integrado. □Introducción ■SQL Server
  • 7. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 7/16 SELECT … FOR XMLSELECT … FOR XML SELECT DNI,NOMBRE FROM ALUMNOS FOR XML AUTO, TYPE; <ALUMNOS DNI="13456234A" NOMBRE="Román Fernández" /> <ALUMNOS DNI="9674562U" NOMBRE="Laura Ubierna" /> <ALUMNOS DNI="72367890G" NOMBRE="Pedro Albacete" /> … SELECT DNI,NOMBRE FROM ALUMNOS FOR XML AUTO, ELEMENTS; … SELECT DNI,NOMBRE FROM ALUMNOS FOR XML RAW, TYPE; … SELECT DNI,NOMBRE FROM ALUMNOS FOR XML RAW, ELEMENTS; … • Modos – XML AUTO: jerarquía simple usando nombre de tabla. – XML RAW: jerarquía simple de elementos row (fila). • Formatos – TYPE: Datos como atributos XML. – ELEMENTS: Datos como elementos hijo. □Introducción ■SQL Server
  • 8. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 8/16 El tipo XML: tipado/no tipadoEl tipo XML: tipado/no tipado – Podemos almacenar 1 documento (1 raíz) o elementos. • XML sin tipo – Almacena XML bien formado o fragmentos. CREATE TABLE mitabla ( … misdatosxml XML NOT NULL); • XML con tipo – Controla entradas XML bien formadas y válidas. – Incorporamos un XML Schema definido previamente: CREATE XML SCHEMA COLLECTION mischema AS '…' – Agregamos un atributo para guardar XML. CREATE TABLE mitabla ( … misdatosxml XML (mischema) NOT NULL); – Ahí podemos detallar si admitimos documento o elementos. … XML (DOCUMENT mischema) … XML (CONTENT mischema) – Podemos definir restricciones con funciones de usuario. Transact SQL + XQuery/XPath □Introducción ■SQL Server
  • 9. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 9/16 Consultas XMLConsultas XML □Introducción ■SQL Server INSERT INTO mitabla (misdatosxml) VALUES ('<grupo> <nombre>Juan Pérez</nombre> <nombre>Marta Sánchez</nombre> </grupo>'); CREATE TABLE mitabla ( id INT IDENTITY, misdatosxml XML NOT NULL); SELECT misdatosxml.query('/grupo/nombre') FROM mitabla; SELECT misdatosxml.value('(/grupo/nombre)[1]','nvarchar(60)') FROM mitabla;
  • 10. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. Ejemplo: SQL Server / XQueryEjemplo: SQL Server / XQuery INSERT INTO mitabla (misdatosxml) VALUES ('<papelería> <cliente xml:id="u1"><n>Juan</n><a>Manzano</a></cliente> <cliente xml:id="u2"><t>D.</t><n>Luis</n><a>Manzano</a></cliente> <cliente xml:id="u3" marca="x1"><n>Adolfo</n><a marca="x2">Jambrina</a></cliente> <cliente xml:id="u4"><n>Francisco</n><a>Alto</a></cliente> <cliente xml:id="u5"><n>José</n><a>Mata</a></cliente> <cliente xml:id="u6"><t>Dr.</t><n>Martín</n><a>Mora</a></cliente> <cliente xml:id="u7" marca="x3"><t>Dª.</t><n>Petra</n><a>Masa</a></cliente> <cliente xml:id="u8"><t>Dª.</t><n>María</n><a>Lucas</a></cliente> </papelería>'); WITH XMLNAMESPACES('http://yo.mio.es' AS ns1) SELECT id AS '@fila', misdatosxml.query(' for $i in //cliente[t] order by $i/a[1],$i/n[1] return <nombre>{data($i/a)}, {data($i/n)}</nombre> ') AS 'genéricos/papel' FROM mitabla WHERE misdatosxml.exist('/papelería')=1 FOR XML PATH('comercio'), ROOT('ns1:grupos');
  • 11. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. 11/16 MySQL y XMLMySQL y XML □Introducción □SQL Server • mysql y mysqldump con la opcion --xml – Producen salidas en formato XML – Análogo a MS SQL Server con FOR XML y RAW – Jerarquía: resultset/row/field + database/table_structure en mysqldump • Se puede almacenar un documento XML – tipo BLOB – Funciones XQuery: ExtractValue(), UpdateXML() • Tanto en SQL Server como en MySQL podemos construir el texto XML concatenando cadenas...
  • 12. XML (III): ALMACENAMIENTO DE INFORMACIÓN. Mayo de 2011 CIFP Juan de Colonia Probar los ejemplos anteriores para SQL Server y montar ejemplos propios. Buscar por grupos información sobre otros gestores y tratar de hacer un ranquin de aplicación a «XML nativo». Actividad I: BBDD con XMLActividad I: BBDD con XML
  • 13. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. ¿Conclusiones?¿Conclusiones? ● Sería interesante disponer de una buen integración entre bases de datos y documentos en formato XML. ● Los modelos relacional y jerárquico son radicalmente distintos y la «transparencia» real es difícil de conseguir. ● Para extraer información de estructuras XML disponemos del lenguaje XQuery que también incorpora expresiones XPath.
  • 14. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. ReferenciasReferencias Boag, S et al. (2010, W3C Recommendation) XQuery 1.0 http://www.w3.org/TR/xquery/ W3Schools (WWW) XQuery Tutorial http://www.w3schools.com/xquery/ Gabillaud, J. (2009, ENI). SQL Server 2008. SQL, Transact SQL. ISBN: 978-2-7460-4911-6. Boulanger, T. y Lecomte, S. (2009, ENI). XML práctico: bases esenciales, conceptos y casos prácticos. ISBN: 978-2-7460-4958-1. Bibliografía actualizada en delicious: http://www.delicious.com/dhmartin/LM-ASIR
  • 15. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. LicenciaLicencia Este material está disponible bajo una Licencia Creative Commons, http://creativecommons.org/licenses/by-nc-sa/3.0/es/
  • 16. Mayo de 2011 CIFP Juan de Colonia XML (III): ALMACENAMIENTO DE INFORMACIÓN. ¿Dudas o cuestiones?¿Dudas o cuestiones?