SlideShare una empresa de Scribd logo
Modelo Lógico Objeto-Relacional
object-relational database management system (ORDBMS)Sistema de gestión de bases de datos (DBMS), similar a una base de datos relacional, pero con un modelo de base de datos orientada a objetos.Objetos, clases y herencia están soportados directamente en los esquemas de bases de datos y en el lenguaje de consulta.
El objetivo básico de la base de datos objeto-relacional es cerrar la brecha entre bases de datos relacionales y las técnicas de modelado orientado a objetos utilizados en los lenguajes de programación como Java, C + +, Visual Basic. NET o C #.
¿cómo asignar los datos relacionales en objetos?Una primera idea podría ser mapear atributos de objetos a los campos en una tabla.Desafortunadamente, este enfoque no crea el mapa perfecto por varias razones.Los objetos no sólo almacenan datos simples en sus atributos. Pueden almacenar colecciones o relaciones con otros objetos.La mayoría de bases de datos relacionales - MySQL y mSQL entre otras- no tienen forma de modelar herencia.
Reglas generales para el modelado objeto/relacionalCada clase persistente tiene una tabla de base de datos correspondiente.Campos de objetos con tipos de datos primitivos (enteros, caracteres, cadenas, etc) se asignan a columnas en la tabla de base de datos asociada.Cada fila de una tabla de base de datos corresponde a una instancia de su clase persistente asociada.Cada relación de objeto de muchos a muchos requiere una tabla de join al igual que las entidades de base de datos con muchos-a-muchos requieren tabla de joins. La herencia es modelada a través de una relación uno-a-uno entre las dos tablas que corresponden a la clase y subclase.
El modelo de datos para una aplicación simple de libreta de direccionesdireccionpersonaidDireccion(PK)Linea1Linea1Linea3CiudadProvinciaidPersona(PK)idDireccion(FK)NombreApellidotituloSELECT P.Apellido,P.Nombre, D.ciudadFROM persona P JOIN direccion D ON D.idDireccion=P.idDireccionWHERE D.ciudad=“Guayaquil"
El modelo de objetos para una aplicación sencilla de libreta de direccionesdireccionpersonaLinea1:StringLinea1:StringLinea3:StringCiudad:StringProvincia:StringNombre: StringApellido: StringTitulo: StringcambiarDirecc()El modelo objeto-relacional ofrece una ventaja Puede hacer uso de las relaciones entre los datos para obtener fácilmente los registros relacionados. SELECT P.NombreFROM Persona PWHERE P.direccion.ciudad=“Guayaquil"la relación es "comprendida" por el ORDB
ObjectTypesUn tipo de objeto es una especie de tipo de datos. Se puede usar de la misma manera que los tipos de datos más conocidos, como NUMBER o VARCHAR2. Por ejemplo, puede especificar un tipo de objeto como el tipo de datos de una columna de una tabla relacional, y se pueden declarar variables de un tipo de objeto. Puede utilizar una variable de un tipo de objeto que contiene un valor de ese tipo de objeto. Un valor de un tipo de objeto es una instancia de ese tipo. Una instancia de objeto se llama también un objeto.
CREATE TYPE tipo_persona AS OBJECT ( id NUMBER, nombre VARCHAR2(30), telefono VARCHAR2(20), MAP MEMBER FUNCTION get_id RETURN NUMBER ); CREATE TYPE BODY tipo_persona AS MAP MEMBER FUNCTION get_id RETURN NUMBER IS BEGIN     RETURN id;     END;     END;
Tipos de Objeto Vs. datos nativos de una base de datos relacional:Un conjunto de tipos de objetos no viene ya con la base de datosTipos de objetos están compuestos de partes, llamadas atributos y métodos.Atributos contienen los datos sobre las características de un objeto de interés. Por ejemplo, un tipo de objeto estudiante puede tener atributos  como nombre, carrera y fecha de graduación. Los métodos son procedimientos o funciones previstas para permitir realizar a las aplicaciones operaciones útiles sobre los atributos del tipo de objeto. Los métodos son un elemento opcional de un tipo de objeto. Ellos definen el comportamiento de los objetos de ese tipo y determinan lo que el tipo de objeto puede hacer.
ObjetosCuando se crea una variable de un tipo de objeto, se crea una instancia del tipo y el resultado es un objeto. Un objeto tiene los atributos y los métodos definidos para su tipo. Debido a que una instancia de objeto es algo concreto, se pueden asignar valores a sus atributos y llamar a sus métodos.
Por ejemplo, podría definir una tabla relacional para realizar un seguimiento de sus contactos:CREATE TABLE contactos ( contacto tipo_persona, fecha_contacto DATE ); INSERT INTO contactos VALUES ( tipo_persona (65, 'Luis Gomez', '2234544'), '24 Jun 2011' );
Métodos de ObjetoLos métodos son funciones o procedimientos que se pueden declarar en una definición de tipo de objeto para implementar un comportamiento que desea que los objetos de ese tipo lleven a cabo. El tipo general de los métodos que se pueden declarar en una definición de tipo son los siguientes:MiembroEstáticoconstructorUno de los usos principales de los métodos es proporcionar acceso a los datos de un objeto. Por ejemplo, la siguiente sentencia SQL utiliza el método get_id () para mostrar el número de identificación de las personas en la tabla de contactos:SELECT c.contacto.get_id() FROM contactos c;
SQLJSQLJ es un estándard ISO (ISO/IEC 9075-10) para embeber sentencias SQL en programas de Lenguaje de programación Java.Al contrario que JDBC, SQLJ no es un API sino una extensión del lenguaje. Así, los programas SQLJ deben ejecutarse a través de un preprocesador (el traductor SQLJ) antes de que puedan ser compilados.
Ventajas de SQLJ sobre JDBC:Los programas SQLJ son más fáciles de escribir y de mantener. Además tienden a ser más cortos que los programas JDBC equivalentes.Es más eficiente que JDBC dado que las sentencias SQL son analizadas y los caminos de acceso son optimizados en tiempo de compilación en lugar de en tiempo de ejecución.Suministra mejor control de autorización: La Autorización puede ser concedida a los programas en lugar de a los usuarios.Los problemas de rendimiento potenciales, tales como las consultas ineficientes debido a un mal camino de acceso, pueden ser identificados en tiempo de desarrollo.
DesventajasSQLJ requiere un paso de preprocesamiento.Muchos IDEs no proporcionan soporte SQLJ.No hay soporte de SQLJ para la mayoría de frameworks de persistencia comunes, tales como Hibernate.
InsertJDBCSQLJstmt = conn.prepareStatement(      "INSERT INTO DSN8710.EMP " + "(EMPNO, FIRSTNME, MIDINIT, LASTNAME, HIREDATE, SALARY) " + "VALUES (?, ?, ?, ?, CURRENT DATE, ?)"); stmt.setString(1, empno); stmt.setString(2, firstname); stmt.setString(3, midinit); stmt.setString(4, lastname); stmt.setBigDecimal(5, salary); stmt.executeUpdate(); stmt.close();       #sql [ctx] { INSERT INTO DSN8710.EMP (EMPNO, FIRSTNME, MIDINIT, LASTNAME, HIREDATE, SALARY) VALUES (:empno,:firstname,:midinit,:lastname, CURRENT DATE,:salary) };
Consulta de una filaJDBCSQLJPreparedStatementstmt = conn.prepareStatement( "SELECT MAX(SALARY), AVG(SALARY)" + " FROM DSN8710.EMP"); rs = statement.executeQuery(); if (!rs.next()) { // Error -- no se encontraron filas } maxSalary = rs.getBigDecimal(1); avgSalary = rs.getBigDecimal(2); if (rs.next()) { // Error -- más de una fila encontrada } rs.close(); stmt.close();       #sql [ctx] { SELECT MAX(SALARY), AVG(SALARY) INTO:maxSalary,:avgSalary FROM DSN8710.EMP };
Consulta de varias filasJDBCSQLJPreparedStatementstmt = conn.prepareStatement( "SELECT LASTNAME" + ", FIRSTNME" + ", SALARY" + " FROM DSN8710.EMP" + " WHERE SALARY BETWEEN ? AND ?"); stmt.setBigDecimal(1, min); stmt.setBigDecimal(2, max); ResultSetrs = stmt.executeQuery(); while (rs.next()) { lastname = rs.getString(1); firstname = rs.getString(2); salary = rs.getBigDecimal(3); // Imprimir fila... } rs.close(); stmt.close();#sql private static iteratorEmployeeIterator(String, String, BigDecimal);EmployeeIteratoriter; #sql [ctx] iter = { SELECT LASTNAME , FIRSTNME , SALARY FROM DSN8710.EMP WHERE SALARY BETWEEN:minAND:max }; while (true) { #sql { FETCH:iterINTO:lastname,:firstname,:salary }; if (iter.endFetch()) break; // Imprimir fila... } iter.close();
SQLXSQLX o SQL/XML es un estándar ANSI / ISO que brinda soporte para el uso del lenguaje XML en el contexto de una base de datos SQL. Las empresas y usuarios desean tener la habilidad de integrar sus datos XML a sus datos relacionales, a través de las facilidades del lenguaje SQL.SQLX hace posible almacenar documentos XML en una base de datos SQL, consultar dichos documentos usando XPath y XQuery, y "publicar" sus datos SQL existentes en la forma de documentos XML.
SQLXXmlElement() Crea un elemento XML.XMLFOREST ()Crea un fragmento de XML a partir de pasado-en los componentes.XMLColAttVal ()Crea un fragmento de XML y luego se expande el XML resultante de manera que cada fragmento de XML tiene el nombre de "columna" con el atributo "nombre"ExtractValue () Toma como argumentos una instancia XMLType y una expresión XPath y devuelve un valor escalar del nodo resultante.XMLTransform () Toma como argumentos una instancia XMLType y una hoja de estilo XSL, que a su vez es una forma de instancia XMLType. Se aplica la hoja de estilo a la instancia y devuelve un XMLType.XMLSequence () Toma de entrada y devuelve un VARRAY de los nodos de nivel superior en la XMLType, o un tipo de XMLSequence un documento XML para cada fila del cursor.XMLCONCAT () Toma como entrada una serie de casos XMLType, concatena una serie de elementos de cada fila, y devuelve la serie concatenada.UpdateXML () Toma como argumentos una instancia XMLType y un par de XPath de valor, y devuelve una instancia XMLType con el valor actualizado.
XMLELEMENT( elementname IN VARCHAR2, [XMLATTRIBUTES(),] value_expr, ...) RETURN XMLTypeXMLATTRIBUTES( value_expr [AS identifier], ...) RETURN XMLTypeSELECT XMLElement("Date", hire_date)      FROM hr.employees    WHERE employee_id = 203;    XMLELEMENT("DATE",HIRE_DATE)----------------------------    <Date>1994-06-07</Date>

Más contenido relacionado

PDF
Sistemas cliente servidor
PPTX
Bases De Datos "Conceptos Basicos"
PPTX
Modelos de sistemas distribuidos
PPTX
Introduccion bases de datos
 
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPTX
Transformar modelo entidad relacion a modelo logico
PPTX
Sistema de bases orientada a objetos y relacional
DOC
Características, componentes y arquitectura de los dbms.
Sistemas cliente servidor
Bases De Datos "Conceptos Basicos"
Modelos de sistemas distribuidos
Introduccion bases de datos
 
Taller de Base de Datos - Unidad 7 Conectividad
Transformar modelo entidad relacion a modelo logico
Sistema de bases orientada a objetos y relacional
Características, componentes y arquitectura de los dbms.

La actualidad más candente (20)

PPTX
NORMALIZACIÓN
PDF
Diagramas de implementacion
PPT
Clase 3 Modelo Entidad Relacion
PPTX
Modelo OSI
PPS
Modelo objeto semántico
PDF
Integridad Y Seguridad En Las Bases De Datos
PDF
Ejercicios sql
DOCX
Diccionario de base de datos
DOCX
Bases de datos distribuidas heterogéneas
PPTX
Modelo entidad relacion
PPTX
Base de Datos Orientada a Objetos
PPTX
Modelos de los sistemas distribuidos
PPT
Una mirada al diagrama Entidad Relación E.E.R.R. por Luicossa
PPT
Sistemas Gestores de Bases de Datos
PPTX
Normalización de Base de Datos
PPTX
Componentes de sgbd
PDF
Unidad 2. modelo entidad relacion
PPT
Clase 2 Modelo De Datos
PDF
Lectura 3 Modelo De Analisis
PPTX
Fundamentos de base de datos 1a. unidad
NORMALIZACIÓN
Diagramas de implementacion
Clase 3 Modelo Entidad Relacion
Modelo OSI
Modelo objeto semántico
Integridad Y Seguridad En Las Bases De Datos
Ejercicios sql
Diccionario de base de datos
Bases de datos distribuidas heterogéneas
Modelo entidad relacion
Base de Datos Orientada a Objetos
Modelos de los sistemas distribuidos
Una mirada al diagrama Entidad Relación E.E.R.R. por Luicossa
Sistemas Gestores de Bases de Datos
Normalización de Base de Datos
Componentes de sgbd
Unidad 2. modelo entidad relacion
Clase 2 Modelo De Datos
Lectura 3 Modelo De Analisis
Fundamentos de base de datos 1a. unidad
Publicidad

Destacado (20)

PDF
Los modelos de datos y el modelo objeto relacional
PPTX
Base de datos-objeto-relacional
PDF
Caracteristicas del modelo orientado a objetos
DOCX
Modelado Orientado a Objetos
PPTX
BASE DE DATOS ORIENTADO A OBJETOS
PDF
Modelo Orientado A Objetos
PDF
Modelo de base de datos orientados a objetos
PPTX
Modelo relacional
PPT
Base de Datos Multimedia
PPT
Base De Datos Multimedia
PDF
Base datos f06
PDF
Proyecto de investogaciófinallllllll
PPT
DISEÑO FISICO DE BASE DATOS
PPTX
Arquitectura de Sistemas de Bases de datos
PPT
Modelo Relacional
DOCX
Modelo jerarquico y modelo de red de base de datos
PDF
Problemas de diseño de base de datos
PPT
Historia de la hojas de cálculo.
PPT
Modelos de red
PPTX
Modelo jerarquico
Los modelos de datos y el modelo objeto relacional
Base de datos-objeto-relacional
Caracteristicas del modelo orientado a objetos
Modelado Orientado a Objetos
BASE DE DATOS ORIENTADO A OBJETOS
Modelo Orientado A Objetos
Modelo de base de datos orientados a objetos
Modelo relacional
Base de Datos Multimedia
Base De Datos Multimedia
Base datos f06
Proyecto de investogaciófinallllllll
DISEÑO FISICO DE BASE DATOS
Arquitectura de Sistemas de Bases de datos
Modelo Relacional
Modelo jerarquico y modelo de red de base de datos
Problemas de diseño de base de datos
Historia de la hojas de cálculo.
Modelos de red
Modelo jerarquico
Publicidad

Similar a Objeto relacional bases datos 2 (20)

PDF
Bdo r en oracle
DOCX
Tarea de la unidad 7
PPT
Base De Datos I
PPTX
Bases de datos orientado a objetos
PPTX
Bases de datos orientado a objetos Exponer
PDF
Base de datos Objeto-Relacional.
PPTX
JAVA CON BASE DE DATOS
PPT
ADO NET Entity FrameWork
PDF
Investigacion alter, create y integridad referencial
PPSX
Persistencia De Objetos(Hibernate)
PPT
Modelo de datos.
PPSX
Persistencia de objetos con Hibernate
PPT
Base de Datos I (I Bimestre)
PPT
JAVA CON BASE DE DATOS
PDF
Persistencia de datos
DOCX
Base de datos moviles
PDF
Acceso a datos en aplicaciones web del entorno servidor
PPTX
Programación_del_lado_del_servidor......
PDF
BASES DE DATOS CL2 para PPT.pdf
PPTX
Modelo de datos
Bdo r en oracle
Tarea de la unidad 7
Base De Datos I
Bases de datos orientado a objetos
Bases de datos orientado a objetos Exponer
Base de datos Objeto-Relacional.
JAVA CON BASE DE DATOS
ADO NET Entity FrameWork
Investigacion alter, create y integridad referencial
Persistencia De Objetos(Hibernate)
Modelo de datos.
Persistencia de objetos con Hibernate
Base de Datos I (I Bimestre)
JAVA CON BASE DE DATOS
Persistencia de datos
Base de datos moviles
Acceso a datos en aplicaciones web del entorno servidor
Programación_del_lado_del_servidor......
BASES DE DATOS CL2 para PPT.pdf
Modelo de datos

Más de Velmuz Buzz (20)

PDF
Ecuaciones Diferenciales de 1er Orden
PPT
PPT
Lenguajes de Programacion
PDF
Capa de Aplicacion
PDF
Capa de Transporte
PDF
Capa Red
PDF
Capa Enlace
PDF
Estructura Organizacional
PPT
Inteligencia artificial sistema experto
PPT
Electronica transistores
PPT
Electronica rectificadores
PPT
Electronica polarizacion
PPT
Electronica polarizacion tipo h
PPT
Electronica introduccion y repaso
PPT
Electronica funcion de transferencia
PPT
Electronica ejercicios
PPT
Electronica aplicaciones de diodos
PPT
Electronica polarizacion del fet
PPT
Electronica modelaje de transitores bipolares
PPT
Electronica analisis a pequeña señal fet
Ecuaciones Diferenciales de 1er Orden
Lenguajes de Programacion
Capa de Aplicacion
Capa de Transporte
Capa Red
Capa Enlace
Estructura Organizacional
Inteligencia artificial sistema experto
Electronica transistores
Electronica rectificadores
Electronica polarizacion
Electronica polarizacion tipo h
Electronica introduccion y repaso
Electronica funcion de transferencia
Electronica ejercicios
Electronica aplicaciones de diodos
Electronica polarizacion del fet
Electronica modelaje de transitores bipolares
Electronica analisis a pequeña señal fet

Objeto relacional bases datos 2

  • 2. object-relational database management system (ORDBMS)Sistema de gestión de bases de datos (DBMS), similar a una base de datos relacional, pero con un modelo de base de datos orientada a objetos.Objetos, clases y herencia están soportados directamente en los esquemas de bases de datos y en el lenguaje de consulta.
  • 3. El objetivo básico de la base de datos objeto-relacional es cerrar la brecha entre bases de datos relacionales y las técnicas de modelado orientado a objetos utilizados en los lenguajes de programación como Java, C + +, Visual Basic. NET o C #.
  • 4. ¿cómo asignar los datos relacionales en objetos?Una primera idea podría ser mapear atributos de objetos a los campos en una tabla.Desafortunadamente, este enfoque no crea el mapa perfecto por varias razones.Los objetos no sólo almacenan datos simples en sus atributos. Pueden almacenar colecciones o relaciones con otros objetos.La mayoría de bases de datos relacionales - MySQL y mSQL entre otras- no tienen forma de modelar herencia.
  • 5. Reglas generales para el modelado objeto/relacionalCada clase persistente tiene una tabla de base de datos correspondiente.Campos de objetos con tipos de datos primitivos (enteros, caracteres, cadenas, etc) se asignan a columnas en la tabla de base de datos asociada.Cada fila de una tabla de base de datos corresponde a una instancia de su clase persistente asociada.Cada relación de objeto de muchos a muchos requiere una tabla de join al igual que las entidades de base de datos con muchos-a-muchos requieren tabla de joins. La herencia es modelada a través de una relación uno-a-uno entre las dos tablas que corresponden a la clase y subclase.
  • 6. El modelo de datos para una aplicación simple de libreta de direccionesdireccionpersonaidDireccion(PK)Linea1Linea1Linea3CiudadProvinciaidPersona(PK)idDireccion(FK)NombreApellidotituloSELECT P.Apellido,P.Nombre, D.ciudadFROM persona P JOIN direccion D ON D.idDireccion=P.idDireccionWHERE D.ciudad=“Guayaquil"
  • 7. El modelo de objetos para una aplicación sencilla de libreta de direccionesdireccionpersonaLinea1:StringLinea1:StringLinea3:StringCiudad:StringProvincia:StringNombre: StringApellido: StringTitulo: StringcambiarDirecc()El modelo objeto-relacional ofrece una ventaja Puede hacer uso de las relaciones entre los datos para obtener fácilmente los registros relacionados. SELECT P.NombreFROM Persona PWHERE P.direccion.ciudad=“Guayaquil"la relación es "comprendida" por el ORDB
  • 8. ObjectTypesUn tipo de objeto es una especie de tipo de datos. Se puede usar de la misma manera que los tipos de datos más conocidos, como NUMBER o VARCHAR2. Por ejemplo, puede especificar un tipo de objeto como el tipo de datos de una columna de una tabla relacional, y se pueden declarar variables de un tipo de objeto. Puede utilizar una variable de un tipo de objeto que contiene un valor de ese tipo de objeto. Un valor de un tipo de objeto es una instancia de ese tipo. Una instancia de objeto se llama también un objeto.
  • 9. CREATE TYPE tipo_persona AS OBJECT ( id NUMBER, nombre VARCHAR2(30), telefono VARCHAR2(20), MAP MEMBER FUNCTION get_id RETURN NUMBER ); CREATE TYPE BODY tipo_persona AS MAP MEMBER FUNCTION get_id RETURN NUMBER IS BEGIN RETURN id; END; END;
  • 10. Tipos de Objeto Vs. datos nativos de una base de datos relacional:Un conjunto de tipos de objetos no viene ya con la base de datosTipos de objetos están compuestos de partes, llamadas atributos y métodos.Atributos contienen los datos sobre las características de un objeto de interés. Por ejemplo, un tipo de objeto estudiante puede tener atributos como nombre, carrera y fecha de graduación. Los métodos son procedimientos o funciones previstas para permitir realizar a las aplicaciones operaciones útiles sobre los atributos del tipo de objeto. Los métodos son un elemento opcional de un tipo de objeto. Ellos definen el comportamiento de los objetos de ese tipo y determinan lo que el tipo de objeto puede hacer.
  • 11. ObjetosCuando se crea una variable de un tipo de objeto, se crea una instancia del tipo y el resultado es un objeto. Un objeto tiene los atributos y los métodos definidos para su tipo. Debido a que una instancia de objeto es algo concreto, se pueden asignar valores a sus atributos y llamar a sus métodos.
  • 12. Por ejemplo, podría definir una tabla relacional para realizar un seguimiento de sus contactos:CREATE TABLE contactos ( contacto tipo_persona, fecha_contacto DATE ); INSERT INTO contactos VALUES ( tipo_persona (65, 'Luis Gomez', '2234544'), '24 Jun 2011' );
  • 13. Métodos de ObjetoLos métodos son funciones o procedimientos que se pueden declarar en una definición de tipo de objeto para implementar un comportamiento que desea que los objetos de ese tipo lleven a cabo. El tipo general de los métodos que se pueden declarar en una definición de tipo son los siguientes:MiembroEstáticoconstructorUno de los usos principales de los métodos es proporcionar acceso a los datos de un objeto. Por ejemplo, la siguiente sentencia SQL utiliza el método get_id () para mostrar el número de identificación de las personas en la tabla de contactos:SELECT c.contacto.get_id() FROM contactos c;
  • 14. SQLJSQLJ es un estándard ISO (ISO/IEC 9075-10) para embeber sentencias SQL en programas de Lenguaje de programación Java.Al contrario que JDBC, SQLJ no es un API sino una extensión del lenguaje. Así, los programas SQLJ deben ejecutarse a través de un preprocesador (el traductor SQLJ) antes de que puedan ser compilados.
  • 15. Ventajas de SQLJ sobre JDBC:Los programas SQLJ son más fáciles de escribir y de mantener. Además tienden a ser más cortos que los programas JDBC equivalentes.Es más eficiente que JDBC dado que las sentencias SQL son analizadas y los caminos de acceso son optimizados en tiempo de compilación en lugar de en tiempo de ejecución.Suministra mejor control de autorización: La Autorización puede ser concedida a los programas en lugar de a los usuarios.Los problemas de rendimiento potenciales, tales como las consultas ineficientes debido a un mal camino de acceso, pueden ser identificados en tiempo de desarrollo.
  • 16. DesventajasSQLJ requiere un paso de preprocesamiento.Muchos IDEs no proporcionan soporte SQLJ.No hay soporte de SQLJ para la mayoría de frameworks de persistencia comunes, tales como Hibernate.
  • 17. InsertJDBCSQLJstmt = conn.prepareStatement( "INSERT INTO DSN8710.EMP " + "(EMPNO, FIRSTNME, MIDINIT, LASTNAME, HIREDATE, SALARY) " + "VALUES (?, ?, ?, ?, CURRENT DATE, ?)"); stmt.setString(1, empno); stmt.setString(2, firstname); stmt.setString(3, midinit); stmt.setString(4, lastname); stmt.setBigDecimal(5, salary); stmt.executeUpdate(); stmt.close(); #sql [ctx] { INSERT INTO DSN8710.EMP (EMPNO, FIRSTNME, MIDINIT, LASTNAME, HIREDATE, SALARY) VALUES (:empno,:firstname,:midinit,:lastname, CURRENT DATE,:salary) };
  • 18. Consulta de una filaJDBCSQLJPreparedStatementstmt = conn.prepareStatement( "SELECT MAX(SALARY), AVG(SALARY)" + " FROM DSN8710.EMP"); rs = statement.executeQuery(); if (!rs.next()) { // Error -- no se encontraron filas } maxSalary = rs.getBigDecimal(1); avgSalary = rs.getBigDecimal(2); if (rs.next()) { // Error -- más de una fila encontrada } rs.close(); stmt.close(); #sql [ctx] { SELECT MAX(SALARY), AVG(SALARY) INTO:maxSalary,:avgSalary FROM DSN8710.EMP };
  • 19. Consulta de varias filasJDBCSQLJPreparedStatementstmt = conn.prepareStatement( "SELECT LASTNAME" + ", FIRSTNME" + ", SALARY" + " FROM DSN8710.EMP" + " WHERE SALARY BETWEEN ? AND ?"); stmt.setBigDecimal(1, min); stmt.setBigDecimal(2, max); ResultSetrs = stmt.executeQuery(); while (rs.next()) { lastname = rs.getString(1); firstname = rs.getString(2); salary = rs.getBigDecimal(3); // Imprimir fila... } rs.close(); stmt.close();#sql private static iteratorEmployeeIterator(String, String, BigDecimal);EmployeeIteratoriter; #sql [ctx] iter = { SELECT LASTNAME , FIRSTNME , SALARY FROM DSN8710.EMP WHERE SALARY BETWEEN:minAND:max }; while (true) { #sql { FETCH:iterINTO:lastname,:firstname,:salary }; if (iter.endFetch()) break; // Imprimir fila... } iter.close();
  • 20. SQLXSQLX o SQL/XML es un estándar ANSI / ISO que brinda soporte para el uso del lenguaje XML en el contexto de una base de datos SQL. Las empresas y usuarios desean tener la habilidad de integrar sus datos XML a sus datos relacionales, a través de las facilidades del lenguaje SQL.SQLX hace posible almacenar documentos XML en una base de datos SQL, consultar dichos documentos usando XPath y XQuery, y "publicar" sus datos SQL existentes en la forma de documentos XML.
  • 21. SQLXXmlElement() Crea un elemento XML.XMLFOREST ()Crea un fragmento de XML a partir de pasado-en los componentes.XMLColAttVal ()Crea un fragmento de XML y luego se expande el XML resultante de manera que cada fragmento de XML tiene el nombre de "columna" con el atributo "nombre"ExtractValue () Toma como argumentos una instancia XMLType y una expresión XPath y devuelve un valor escalar del nodo resultante.XMLTransform () Toma como argumentos una instancia XMLType y una hoja de estilo XSL, que a su vez es una forma de instancia XMLType. Se aplica la hoja de estilo a la instancia y devuelve un XMLType.XMLSequence () Toma de entrada y devuelve un VARRAY de los nodos de nivel superior en la XMLType, o un tipo de XMLSequence un documento XML para cada fila del cursor.XMLCONCAT () Toma como entrada una serie de casos XMLType, concatena una serie de elementos de cada fila, y devuelve la serie concatenada.UpdateXML () Toma como argumentos una instancia XMLType y un par de XPath de valor, y devuelve una instancia XMLType con el valor actualizado.
  • 22. XMLELEMENT( elementname IN VARCHAR2, [XMLATTRIBUTES(),] value_expr, ...) RETURN XMLTypeXMLATTRIBUTES( value_expr [AS identifier], ...) RETURN XMLTypeSELECT XMLElement("Date", hire_date) FROM hr.employees WHERE employee_id = 203; XMLELEMENT("DATE",HIRE_DATE)---------------------------- <Date>1994-06-07</Date>