Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A Tarea para LMSGI06. Detalles de la tarea de esta unidad. Enunciado. Dado el fichero: LMSGI06_TARE_R01.sql (1.71 KB) Generar un esquema XSD que sirva para describir en XML dicha base de datos relacional. Crear el documento XML correspondiente a dicha base de datos. Una vez realizado estos documentos realizar las siguientes consultas XQuery sobre los datos: 1. Obtener el nombre de todos los alumnos matriculados en algún módulo. 2. Obtener las calificaciones del alumno de código "n43483437" en cada módulo. 3. Obtener el nombre y el teléfono de cada alumno ordenado por apellidos de forma descendiente. 4. ¿Cuántos módulos hay? 5. Obtener los nombres de los alumnos matriculados en LMSGI y sus notas ordenado por notas. 6. Obtener los nombres y las calificaciones de los matriculados en FH que han aprobado. Criterios de puntuación. Total 10 puntos. Creación del XML-Schema que representa la estructura de la base de datos relacional dada: 3 puntos. Transformación de la BDR dada a XML 2 puntos. Consulta 1: 0,5 puntos. Consulta 2: 0,5 puntos. Consulta 3: 1 punto. Consulta 4: 1 punto. Consulta 5: 1 punto. Consulta 6: 1 punto. Página 1 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A Recursos necesarios para realizar la Tarea. Fichero LMSGI06_TARE_R01.sql (1.71 KB) Procesador XML-Schema. Motor XQuery. Consejos y recomendaciones. Se recomienda utilizar un editor XML como Editix, Oxygen XML o Stylus XML Indicaciones de entrega. Una vez realizada la tarea elaborarás un único documento donde figuren las respuestas correspondientes. El envío se realizará a través de la plataforma de la forma establecida para ello, y el archivo se nombrará siguiendo las siguientes pautas: apellido1_apellido2_nombre_SIGxx_Tarea Asegúrate que el nombre no contenga la letra ñ, tildes ni caracteres especiales extraños. Así por ejemplo la alumna Begoña Sánchez Mañas para la sexta unidad del MP de LMSGI, debería nombrar esta tarea como... sanchez_manas_begona_LMSGI06_Tarea Página 2 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A Fichero XML (archivoXML.xml): <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <matricula xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="archivoXSD.xsd"> <alumnos> <alumno cod="n12344345"> <apenom>Alcalde Garcia, Luis</apenom> <direc>Las Manos, 24</direc> <pobla>Lamadrid</pobla> <telef>942756645</telef> </alumno> <alumno cod="n43483437"> <apenom>Gonzalez Perez, Olga</apenom> <direc>Miraflor 28 - 3A</direc> <pobla>Torres</pobla> <telef>942564355</telef> </alumno> <alumno cod="n88234942"> <apenom>Fernandez Diaz, María</apenom> <direc>Luisa Fernanda 53</direc> <pobla>Miera</pobla> <telef>942346945</telef> </alumno> </alumnos> <asignaturas> <asignatura cod="a1"> <nombre>FH</nombre> </asignatura> <asignatura cod="a2"> <nombre>FOL</nombre> </asignatura> <asignatura cod="a3"> <nombre>ISO</nombre> </asignatura> <asignatura cod="a4"> <nombre>LMSGI</nombre> </asignatura> <asignatura cod="a5"> <nombre>PAR</nombre> </asignatura> <asignatura cod="a6"> <nombre>GBD</nombre> </asignatura> </asignaturas> <notas> <nota> <alum>n12344345</alum> <asig>a1</asig> <calificacion>4</calificacion> </nota> <nota> Página 3 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A <alum>n43483437</alum> <asig>a1</asig> <calificacion>5</calificacion> </nota> <nota> <alum>n88234942</alum> <asig>a1</asig> <calificacion>8</calificacion> </nota> <nota> <alum>n12344345</alum> <asig>a2</asig> <calificacion>10</calificacion> </nota> <nota> <alum>n43483437</alum> <asig>a2</asig> <calificacion>7</calificacion> </nota> <nota> <alum>n88234942</alum> <asig>a2</asig> <calificacion>6</calificacion> </nota> <nota> <alum>n12344345</alum> <asig>a3</asig> <calificacion>3</calificacion> </nota> <nota> <alum>n88234942</alum> <asig>a3</asig> <calificacion>6</calificacion> </nota> <nota> <alum>n12344345</alum> <asig>a4</asig> <calificacion>8</calificacion> </nota> <nota> <alum>n43483437</alum> <asig>a4</asig> <calificacion>4</calificacion> </nota> <nota> <alum>n12344345</alum> <asig>a5</asig> <calificacion>6</calificacion> </nota> <nota> <alum>n12344345</alum> <asig>a6</asig> Página 4 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A <calificacion>9</calificacion> </nota> </notas> </matricula> Fichero XSD (archivoXSD.xsd) <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="matricula"> <xs:complexType> <xs:sequence> <xs:element ref="alumnos"/> <xs:element ref="asignaturas"/> <xs:element ref="notas"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="alumnos"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="alumno"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="alumno"> <xs:complexType> <xs:sequence> <xs:element ref="apenom"/> <xs:element ref="direc"/> <xs:element ref="pobla"/> <xs:element ref="telef"/> </xs:sequence> <xs:attribute name="cod" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="apenom" type="xs:string"/> <xs:element name="direc" type="xs:string"/> <xs:element name="pobla" type="xs:string"/> <xs:element name="telef" type="xs:integer"/> <xs:element name="asignaturas"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="asignatura"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="asignatura"> <xs:complexType> <xs:sequence> <xs:element ref="nombre"/> Página 5 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A </xs:sequence> <xs:attribute name="cod" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="nombre" type="xs:string"/> <xs:element name="notas"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="nota"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="nota"> <xs:complexType> <xs:sequence> <xs:element ref="alum"/> <xs:element ref="asig"/> <xs:element ref="calificacion"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="alum" type="xs:string"/> <xs:element name="asig" type="xs:string"/> <xs:element name="calificacion" type="xs:decimal"/> </xs:schema> Página 6 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A 1. Obtener el nombre de todos los alumnos matriculados en algún módulo. for $a in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //alumno return <alumno> { $a/apenom } </alumno> Página 7 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A 2. Obtener las calificaciones del alumno de código "n43483437" en cada módulo. for $a in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //nota where $a/alum="n43483437" return <nota> {$a/asig}{$a/calificacion} </nota> Página 8 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A 3. Obtener el nombre y el teléfono de cada alumno ordenado por apellidos de forma descendiente. for $a in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //alumno order by $a/apenom descending return <alumno> {$a/apenom}{$a/telef} </alumno> Página 9 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A 4. ¿Cuántos módulos hay? count(doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //asignatura) Página 10 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A 5. Obtener los nombres de los alumnos matriculados en LMSGI y sus notas ordenadas por notas. for $a in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //alumno for $b in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //nota for $c in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //asignatura where $a/@cod = $b/alum and $b/asig = $c/@cod and $c/nombre = "LMSGI" order by $b/calificacion return <alumno> {$a/apenom}{$b/calificacion} </alumno> Página 11 de 12 Francisco José Acosta Ruiz . 2º ASIRSEMI – Grupo A 6. Obtener los nombres y las calificaciones de los matriculados en FH que han aprobado. for $a in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //alumno for $b in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //asignatura for $c in doc("D:\Cursos Fran\2014-2015\03 LND Lenguaje de Marca y Sist. de Gestión de Información\Tema 06\03 Tarea\archivoXML.xml") //nota where $a/@cod = $c/alum and $c/asig = $b/@cod and $b/nombre = "FH" and $c/calificacion >="5" return <alumno> {$a/apenom}{$c/calificacion} </alumno> Página 12 de 12
© Copyright 2024