Instituto Tecnológico Superior de lerdo

Slides:



Advertisements
Presentaciones similares
SQL Sigla del nombre “Structured Query Language”.
Advertisements

integridad referencial
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
BASE DE DATOS OBJETO RELACIONAL
Introducción a Transact-SQL
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
Por: Ronald Toscano Pretelt
Base de Datos Orientada a Objetos
Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle
Características Objeto Relacionales en Oracle
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
Sistema de gestión de las bases de datos (SGBD).
Características Objeto Relacionales en Oracle
Oracle, orientado a objetos
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
BASES DE DATOS ORIENTADAS A OBJETO
POO Java Módulo 3 Elementos de programas Identificadores
PL/SQL Francisco Moreno Universidad Nacional.
BASES DE DATOS ORIENTADAS A OBJETOS
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MySQL M.C. Pedro Bello López.
PL/SQL Francisco Moreno Universidad Nacional. Introducción al PL/SQL ¿Por qué PL/SQL? A pesar de que SQL tiene mecanismos de control condicional (cláusula.
Bases de Datos Relacionales
PL/SQL Francisco Moreno Universidad Nacional.
PL/SQL Francisco Moreno Universidad Nacional.
Subconsultas Avanzadas
Sintaxis de C# (Declaraciones y Tipos)
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
Bases de Datos Orientadas a Objetos (BDOO)
UNITA - IBARRA TRIGGERS
Lenguaje Estructurado de Consultas
tipo de datos uniqueidentifier
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
TRIGGERS EN ORACLE 8 J. Iriarte S. España
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Asignatura: Base de datos para aplicaciones Integrantes:
Triggers(Disparadores)
Programación en C para electrónicos
Tema 2: Base de datos relacionales
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Características Objeto Relacionales en Oracle
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
BASES DE DATOS MySQL.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
Juana Vivas Villanueva Greysi Martínez Arce Antonio Aguilar Galicia LOS SISTEMAS GESTORES DE BASE DE DATOS ORIENTADOS A OBJETOS (SGBDOO)
C LASES Y O BJETOS Enoé Ramos Romero Gabriela Tomas Vicencio Saúl Alejandro Orea Ortega 04-Marzo-2012.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
Después de completar esta lección, debe ser capaz de:  Crear registro definidos por el usuario.  Crear un registro con el atributo %ROWTYPE.  Crear.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
6 Triggers ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
6 Copyright © 2004, Oracle. Todos los derechos reservados. Trabajar con Tipos de Dato Compuestos.
Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES.
Transcripción de la presentación:

Instituto Tecnológico Superior de lerdo Asignatura: Tópicos Avanzados de bases de datos Docente: I.S.C. E.D. M.E. Ricardo de Jesús Bustamante González Carrera: Licenciatura Informática

Modelos Emergentes de Bases de Datos Unidad I Tema: Modelos Emergentes de Bases de Datos Subtema 1.1 Bases de Datos Orientadas a Objetos

INTRODUCCIÓN Las BD tradicionales presentan deficiencias. La orientación a objetos ofrece: flexibilidad, no está limitada. La característica clave es la potencia. Las BDOO se pueden integrar en aplicaciones con lenguajes orientados a objetos y para simplificar la POO. Una SGBDOO es una SGBD que almacena objetos incorporando así todas las ventajas de la OO. ODMG (Object Database Mangement Group) es el grupo de fabricantes de SGBDOO que propuso el estándar El uso del estándar proporciona: portabilidad, interoperabilidad y además permite que los usuarios puedan comparar entre distintos sistemas comerciales.

VENTAJAS Mayor capacidad de modelado Ampliabilidad Lenguaje de consulta más expresivo. Adecuación a las aplicaciones avanzadas de base de datos. Mayores prestaciones.

DESVENTAJAS Carencia de un modelo de datos universal. Carencia de experiencia. Carencia de estándares. Competencia. Con respecto a los SGBDR y los SGBDOR. La optimización de consultas compromete la encapsulación. El modelo de objetos aún no tiene una teoría matemática coherente que le sirva de base.

MANIFIESTOS DE LAS SGBDOO Manifiesto de los Sistemas de Bases de Datos al Objeto puras, ATKINSON, 1989: Manifiesto de los SBD de Tercera Generación, STONEBRAKER, 1990: Tercer manifiesto, DARWEN y DATE 1995:

MODELO ESTÁNDAR ODMG (I) MODELO DE OBJETOS Primitivas de modelado: Componentes básicos son objetos y literales. Se categorizan en tipos. Lo que un objeto sabe hacer son sus operaciones. Las propiedades son sus atributos y las relaciones. Una base de datos es un conjunto de objetos almacenados que pueden ser accedidos por múltiples usuarios y aplicaciones. La definición de una base de datos está contenida en un esquema que se ha creado mediante el lenguaje de definición de objetos ODL.

MODELO ESTÁNDAR ODMG (2) MODELO DE OBJETOS (2) OBJETOS Colección (para las clases contenedor) son: Set<tipo>: Grupo desordenado de objetos del mismo tipo. No se permiten duplicados. Bag<tipo>: Grupo desordenado de objetos del mismo tipo. Se permiten duplicados. List<tipo>: Grupo ordenado de objetos del mismo tipo. Se permite duplicados. Array<tipo>: Grupo ordenado de objetos del mismo tipo que se puede acceder por su posición. El tamaño es dinámico. Dictionary<clave,valor>: índice. Formado por las clavez ordenadas, emparejada con un solo valor. estructurado: Date: fecha del calendario Time: hora. Timestamp: hora de una fecha. Interval: período de tiempo.

MODELO ESTÁNDAR ODMG (3) MODELO DE OBJETOS (3) LITERALES Los atómicos son: Boolean: verdadero o falso. Short: entero con signo de 8 o 16 bits. Long: entero con signo de 32 o 64 bits. Unsigned short: entero sin signo de 8 o 16 bits. Unsigned long: entero sin signo de 32 o 64 bits. Float: valor real en coma flotante de simple precisión. Double: valor real en coma flotante de doble precisión Octet: almacén de 8 bits. Char: carácter ASCII o UNICODE. String: cadena de caracteres. Enum: tipo enumerado donde los valores se especifican explícitamente cuando se declara el tipo.   Estructurales: date, time, timestamp, interval y struct. Los de colección son: set<tipo>, bag<tipo>, listo<tipo>, array<tipo> y dictionaru<clave,valor>.

MODELO ESTÁNDAR ODMG (4) MODELO DE OBJETOS (4) TIPOS Interface (equivalente a una clase abstracta). Clase (equivalente a una clase concreta). Soporta la herencia simple y la herencia múltiple mediante las interfaces. Se puede hacer referencia a los subtipo como su supertipo. Los subtipo se pueden especializar como sea necesario. La relación extiende (extends) para indicar la herencia de estado y de comportamiento.. Extensión (extent) tiene un nombre e incluye todas las instancias de objetos persistentes. Puede tener una o más claves (key). La representación es una estructura de datos. Los detalles de las operaciones de un tipo se especifican mediante un conjunto de métodos.

MODELO ESTÁNDAR ODMG (5) MODELO DE OBJETOS (5) Propiedades Atributos Relaciones. Sólo soporta relaciones binarias (1:1, 1:n, n:m). Transacciones Son unidades lógicas de trabajo que llevan a la base de datos de un estado consistente a otro estado consistente

MODELO ESTÁNDAR ODMG (6) ODL (Object Definition Language) Lenguaje de especificación Es el equivalente de DDL (Data Definition Languaje o lenguaje de definición de datos) de los DBMS tradicionales Las declaraciones de atributos son sintácticamente idénticas las declaraciones de miembros de C++. Ver ejemplo.

MODELO ESTÁNDAR ODMG (9) OQL: Permite realizar consultas de modo eficiente sobre bases de datos orientadas a objetos. Basado en SQL-92. La sintaxis: SELECT… FROM… WHERE… : SELECT d.nombre FROM d in departamentos WHERE d.escuela=”Ingeniería”; Es necesario utilizar una variable iteradora. Estas se puede especificar de estas formas: D in departamentos Departamentos d Departamentos as d

MODELO ESTÁNDAR ODMG (10) OQL (2) El nombre de cualquier objeto persistente es una consulta: departamentos;   Si se da nombre a un objeto concreto. Por ejemplo: departamentoinf; al departamento de informatica, se devuelve una referencia a ese objeto individual: departamentoinf.director; departamentoinf.director.categoria: departamentoinf.tiene_profesores;

MODELO ESTÁNDAR ODMG (11) OQL (3) Ejemplo que muestra los nombres y apellidos de los estudiantes y lo títulos que tiene cada uno: Select struct(nombre: struct(ape1: e.nombre.apellido1, ape2: e.nombre.apellido2, nom: e.nombre.nombre_pila), titulos: (Select struct(tit: t.titulo, año: t.año, esc: t.escuela) From t in e.titulos) From e in departamentoinf.director.tutoriza; OQL es ortogonal respecto a la especificación de expresiones de caminos.  

MODELO ESTÁNDAR ODMG (12) OQL (4) Otras características: Especificación de vistas dando nombres a consultas. Obtención como resultado de un solo elemento. Uso de operadores de colecciones: funciones agregados y cuantificadores. Uso de group by.  

ORACLE Para crear tipo de objetos utilizamos CREATE TYPE. Ejemplo: CREATE TYPE persona AS OBJECT( Nombre VARCHAR2(30), Telefono VARCHAR2(20) ); Un tabla relacional tiene una columna cuyo tipo es un objeto: objetos columna. Ejemplo: CREATE TABLE contactos( Contacto persona, Fecha DATE

ORACLE (2) Se puede incluir una clausula default: CREATE TABLE departamento( Num_dept VARCHAR2(5) PRIMARY KEY, Nombre_dept VARCHAR2(20), Director persona DEFAULT persona(1,’Pepe Pérez’,NULL), Empleados gente DEFAULT gente( persona(2,’Ana López’,’C/ del pez, 5’) persona(3,’Eva García’,NULL) ) ) NESTED TABLE empleados STORE AS empleados_tab Las columnas que son tablas anidadas y los atributos que son tablas de objetos requieren una tabla a parte donde almacenar las filas de dichas tablas. Se especifica con NESTED TABLE… STORE AS…

ORACLE (3) Definir una clave primaria sobre una tabla de objetos: CREATE TYPE persona AS OBJECT( Id NUMBER, Nombre VARCHAR2(30), Direccion VARCHAR2(30), Oficina ubicación ); CREATE TABLE empleados OF persona( Id PRIMARY KEY También se pueden definir disparadores: CREATE TRIGGER disparador AFTER UPDATE OF despacho ON empleados FOR EACH ROW WHEN new.despacho.ciudad=’Castellon’ BEGIN IF (:new.despacho.num_edificio=600) THEN INSERT INTO traslado (id, despacho_antiguo, despacho_nuevo) VALUES (:old.id, :old.despacho, :new.despacho); END IF; END;

ORACLE (4) METODOS: Son funciones o procedimientos que se pueden declarar en la definición de un tipo de objeto para implementar el comportamiento que se desea para dicho tipo de objeto.   CREATE TYPE BODY racional AS MEMBER PROCEDURE normaliza IS g INTEGER; BEGIN g := gcd(SELF.num, SELF.den); g := gcd(num, den); -- equivale a la linea anterior num :=num/g; den :=den/g; END normaliza; …. END;

ORACLE (5) Dos tipos: Varray , Tabla anidada CREATE TYPE precios AS VARRAY(10) OF NUMBRE (12,2); CREATE TYPE lineaped_tabla AS TABLE OF lineaped; Se pueden consultar con resultados anidados y sin anidar: SELECT e.nombre, e.proyectos FROM empledos e NOMBRE PROYECTOS -------------- -------------------- ‘Pedro’ tab_proyecto(67,82) ‘Juan’ tab_proyecto(22,67,97) SELECT e.nombre, p.* FROM empleados e, TABLE(e.proyectos) p; ‘Pedro’ 67 ‘Pedro’ 82 ‘Juan’ 22 ‘Juan’ 67 ‘Juan’ 97

ORACLE (6) Herencia de tipos Para crear un subtipo se utiliza la cláusula UNDER: CREATE TYPE estudiante UNDER persona(…, Titulacion VARCHAR(30), Fecha-ingreso DATE ) NOT FINAL;

ORACLE (7) Funciones y predicados útiles con objetos VALUE: devuelve instancias de objetos correspondientes a las filas de la tabla. SELECT VALUE(p) FROM personas_tab p WHERE p.direccion LIKE ‘C/Mayor%’;   REF: toma como parámetro un alias de tabla y devuelve una referencia a una instancia de un objeto de dicha tabla. IS OF comprobar el nivel de especialización WHERE VALUE(p) IS OF (estudiante); TREAT: trata a una instancia de un supertipo como una instancia de uno de sus subtipos. SELECT TREAT(VALUE(p) AS estudiante) WHERE VALUE(p) IS OF (ONLY estudiante);

BIBLIOGRAFÍA www.odbms.org http://es.wikipedia.org/wiki/Base_de_datos http://es.wikipedia.org/wiki/Base_de_datos_orientada_a_objetos http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r23897.PDF http://tejo.usal.es/~fgarcia/docencia/poo/02-03/trabajos/S1T3.pdf http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf http://www.cs.cinvestav.mx/BDChapa/Beto/Blanco.htm http://tejo.usal.es/~fgarcia/docencia/poo/03-04/Trabajos/SGBDOO.pdf http://basesdatos.uc3m.es/fileadmin/Docencia/BDA-II/teoria/BDOO.pdf www.bdoo.wordpress.com