SGBDOR Y RELACIONALES EXTENDIDOS

Slides:



Advertisements
Presentaciones similares
CRISTINA TIGLLA NOVENO F
Advertisements

Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Sistemas de Gestión de Bases de Datos (SGBD’s)
BASE DE DATOS OBJETO RELACIONAL
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
SQL Server Integration Services SSIS
Bases de Datos Introducción.
¿QUÉ SON LAS BASES DE DATOS?
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Características Objeto Relacionales en Oracle
Teoría de lenguajes y compiladores
Características Objeto Relacionales en Oracle
Oracle, orientado a objetos
4/2/ :49 PM BASE DE DATOS © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
4.3. Privilegios de usuarios
BASES DE DATOS ORIENTADAS A OBJETO
Sindy Carolina Asprilla
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
UNIDAD I Conceptos Básicos.
Ingeniería de Software
Viviana Poblete López Módulo: Modelo de Datos
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
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
BASE DE DATOS BY: Julián Villar Vázquez.
UNIVERSIDAD LATINA BASES DE DATOS.
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Introducción a las Bases de Datos Relacionales Juan Alberto Sigüenza Escuela Técnica Superior de Informática Universidad Autónoma de Madrid.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
CONSULTAS SENCILLAS A LA BASE DE DATOS
Programación en C para electrónicos
NOMBRES:OLIVARES ALFARO JOSE L. BONETTI ARON GRUPO:308.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
INTERFAS DE ACCES DISEÑO DE UNA BASE DE DATOS NOMBRE: OLIVARES MORALES ROGELIO DANIEL BAUTISTA CRUZ GRUPO: 307 EQUIPO: 05.
1 Por lo tanto, la creación de las tablas en el proceso de programación en Oracle juegan un papel muy importante. En el momento de crear las tablas se.
Lenguaje Estructurado de Consulta
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
¿Qué es una Base de datos?
Juana Vivas Villanueva Greysi Martínez Arce Antonio Aguilar Galicia LOS SISTEMAS GESTORES DE BASE DE DATOS ORIENTADOS A OBJETOS (SGBDOO)
Beatriz Adriana Sabino Moxo
PRINCIPIOS DE PROGRAMACIÓN
E.U. Informática U.L.P.G.C. E.U. Informática U.L.P.G.C. Introducción a - 1 Introducción a Oracle.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
Gestión Electrónica Documental (GED)
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Introducción a la Base de Datos Profesora: Nelwi Báez.
El administrador de los formatos de bases de datos Es el profesional que administra las tecnologías de la información y la comunicación, siendo responsable.
Diccionario/Directorio de Datos
Creado por Edgar Codd, 1970: Artículo “A Relational Model of Data for Large Shared Data Banks”. EL MODELO RELACIONAL.
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Una base de datos o banco de datos un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Fundamentos de Bases de Datos
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

SGBDOR Y RELACIONALES EXTENDIDOS Nagore Tamayo

Indice Introducción El servidor universal de Informix Características objeto-relacionales de Oracle 8 SQL 3

Introducción

Introducción En el mundo comercial de hoy en dia, hay varias familias de productos de SGBD Los SGBD predominantes: SGBDR y SGBDOO SGBD heredados: Basados en modelos jerárquico y de red, presentados en los 70 A medida que la tecnología de BD’s evoluciona, son reemplazados por nuevas ofertas Familia jerárquica: IMS de IBM Familia de red: IMAGE (Hewlett Packard), IDMS (Computer Associates), IDS II (Honeywell) y TOTAL/SUPRA (Cincom)

Introducción ¿Por qué surgen los SGBDOR? Necesidad de diseñar bases de datos que puedan desarrollar, manipular y mantener objetos complejos que surgen de nuevas aplicaciones Incapacidad de los SGBD heredados y del modelo de datos relacional básico para afrontar los desafios de dichas aplicaciones

El servidor universal de Informix

El servidor universal Informix Es un SGBDOR que combina las tecnologías de BD’s relacionales y orientadas a objetos de Informix e Illustra Illustra se creó a partir del SGBD POSTGRES, se comercializó como el SGBD Montage y fue adquirido por Informix, integrado en su SGBDR y presentado como Universal Server de Informix, un SGBDOR

El servidor universal Informix Clasificación de las aplicaciones Existen 4 formas de clasificar las aplicaciones según 2 dimensiones o ejes: la complejidad de los datos o dimensión X y la complejidad de las consultas o dimensión Y Cuadrante 1 (X=0, Y=0): Datos simples, consultas simples Cuadrante 2 (X=0, Y=1): Datos simples, consultas complejas Cuadrante 3 (X=1, Y=0): Datos complejos, consultas simples Cuadrante 4 (X=1, Y=1): Datos complejos, consultas complejas Universal Server de Informix ha extendido su modelo relacional básico para incorporar recursos que lo convierten en objeto-relacional

El servidor universal de Informix ¿Cómo extiende el modelo relacional? Las extensiones del modelo relacional que incorpora el Universal Server de Informix son: Soporte para tipos de datos adicionales o extensibles Soporte para rutinas definidas por el usuario Soporte para extensiones de la indexación Interfaces de Programación de Aplicaciones (API) para Data Blades

El servidor universal Informix Tipos de datos extensibles La arquitectura del servidor universal de Informix comprende el SGBD básico más varios módulos de Data Blades Los DataBlades son módulos de software estándar que permiten extender las capacidades de la base de datos, de esta forma el usuario puede desarrollar aplicaciones que involucren cualquier tipo de información. Los DataBlades brindan capacidades de almacenamiento y manipulación ajustada a las necesidades de una aplicación específica, y pueden ser utilizados independientemente o en conjunto.

El servidor universal de Informix Tipos de datos extensibles Además de los tipos predefinidos incluye los siguientes constructores para declarar otros tipos: 1. Tipo opaco (opaque) Tiene una representación interna oculta, por lo que se utiliza para encapsular un tipo y el usuario debe proporcionar funciones para realizar la conversión de un objeto entre su representación oculta en el servidor (base de datos) y su representación visible como la aprecia el cliente (programa que lo solicita). Para ello: funciones enviar/recibir Ejemplo: CREATE OPAQUE TYPE opaco (INTERNALLENGTH=variable, MAXLEN=1024, ALIGNMENT=8);

El servidor universal de Informix Tipos de datos extensibles 2. Tipo distinto (distinct) Se usa para ampliar un tipo existente mediante herencia. Ejemplo: CREATE DISTINCT TYPE fecha_alquiler AS DATE; 3. Tipo fila (row) Representa un atributo compuesto, tiene uno o más campos y es análogo al tipo struct en C. También se usa para soportar herencia mediante UNDER. Ejemplo: CREATE ROW TYPE persona_t (nombre VARCHAR(60), seguridad_social NUMERIC(9), fecha_nac DATE); CREATE ROW TYPE empleado_t (slario NUMERIC(10,2), nss CHAR(9)) UNDER persona_t CREATE ROW TYPE alumno_t ( gpa NIMERIC(4,2), direccion VARCHAR(200)) UNDER persona_t

El servidor universal Informix Tipos de datos extensibles 4. Tipo colleción (collection) Incluyen listas, conjuntos y multiconjuntos de tipos predefinidos, así como de tipos defincidos por el usuario: Listas (list): Puede contener elementos duplicados y el orden es significativo Conjunto (set): No puede contener valores duplicados y no tiene un orden específico Multiconjunto (multiset): Puede incluir duplicados y no tiene orden específico Ejemplo: CREATE TABLE empleado (nombre VARCHAR(50), comision MULTISET(DINERO))

El servidor universal Informix Soporte de rutinas definidas por el usuario El servidor universal de Informix soporta rutinas definidas por el usuario para manipular datos definidos por el usuario. Estas rutinas pueden implementarse en lenguajes como C o Java. Ejemplo: CREATE FUNCTION equal (arg1 opaco, arg2 opaco) RETURNING BOOLEAN; EXTERNAL NAME “/usr/lib/informix/libopaque.so (opaco_equal)”LANGUAJE C END FUNCTION; También soporta cast. Hay 2 tipos de cast definidos por el usuario: implícitos y explicitos

El servidor universal Informix Soporte de herencia La herencia se realiza en dos niveles: herencia de datos y herencia de funciones Herencia de datos: CREATE ROW TYPE tipo_empleado( nombre VARCHAR(25), nss CHAR(9) salario INT); CREATE ROW TYPE tipo_ingeniero( grado VARCHAR (10) licencia VARCHAR(20)) UNDER tipo_empleado; CREATE ROW TYPE tipo_jefe_ing( fecha_comienzo_jefe VARCHAR(10) dpto_gest VARCHAR(20)) UNDER tipo_ingeniero;

El servidor universal de Informix Soporte de herencia Herencia de funciones: CREATE FUNCTION sobrevalorado (tipo_empleado) SELECT e.nombre RETURN BOOLEAN AS FROM (ingeniero) g RETURN $1.salario>(SELECT salario WHERE sobrevalorado(g); FROM empleado WHERE nombre=‘Bill Brown’) CREATE FUNCTION sobrevalorado (tipo_jefe_ing) SELECT jg.nombre RETURN BOOLEAN AS FROM jefe_ing jg RETURN $1.salario>(SELECT salario WHERE sobrevalorado(jg); WHERE nombre=‘Jack Jones’)

El servidor universal de Informix Soporte de extensiones de indexación Soporta indexación sobre rutinas definidas por el usuario tanto sobre una tabla única como sobre una jerarquía de tablas: CREATE INDEX ciudad_emp ON empleado(ciudad(direccion)); Soporte de API’s con Data Blades Proporciona nuevos tipos de datos y funciones para tipos específicos de aplicaciones La idoneidad de los SGBDOR para trabajar con aplicaciones no convencionales se atribuye fundamentalmente a estos tipos de datos y a la funcionalidad a medida que provean.

El servidor universal de Informix Soporte de API’s con Data Blades Tipos de datos bidimensionales: Para aplicaciones bidimensionales, los tipos de datos relevantes deberían incluir lo siguiente: Un punto (point) definido por coordenadas (X,Y) Una línea (line) definida por sus puntos extremos Un polígono (polygon) definido por una lista ordenada de n puntos, que constituirían sus vértices Un camino (path) definido por una secuencia (lista ordenada) de puntos. Un círculo (circle) definido por su punto central y radio

El servidor universal de Informix Soporte de API’s con Data Blades Tipos de datos imagen (image): Las imágenes se almacenan en diferentes formatos estándar (TIFF, GIF, JPEG, photoCD, GROUP 4, FAX) Se debe definir un tipo de datos para cada formato y utilizar librerías de funciones adecuadas para extraer imágenes de otros medios o representar imágenes para su visualización Algunas de las posibles funciones (u operaciones) para imágenes son: rotate (imagen, ángulo) returns imagen common (imagen1, imagen2) returns imagen crop (imagen, polígono) returns imagen union (imagen1, imagen2) returns imagen enhance (imagen) returns imagen similarity (imagen1, imagen2) returns numero

El servidor universal de Informix Soporte de API’s con Data Blades Tipos de datos de series temporales Simplifican la manipulación de datos de series temporales en vez de almacenarlos en múltiples tablas CREATE TABLE valores_acciones( CREATE TABLE coca-cola( nombre_empresa VARCHAR(30) fecha_registro DATE símbolo VARCHAR(5) valor FLOAT); valores TIME_SERIES OF FLOAT); SELECT VARIACION_PROMEDIO (valores, 30, ’01-06-1999’) FROM valores_aciones WHERE símbolo = ‘KO’

El servidor universal de Informix Soporte de API’s con Data Blades Tipo de datos texto Soporta almacenamiento, búsqueda y recuperación de objetos de texto. Define un tipo de datos único: doc cuyas instancias se almacenan como objetos grandes que pertenecen al tipo de datos predefinido large-text La conversión automática entre un tipo de datos large-text y uno text permite que cualquier función con argumentos de texto se pueda aplicar a los objetos large-text Formato de los parámetros del data blade de texto: por defecto ASCII, también admite postscript, dvipostscript, nroff, troff y text Para convertir documentos entre varios formatos: data blade de conversión de texto

El servidor universal de Informix Soporte de API’s con Data Blades Tipo de datos texto Para la manipulación de objetos doc se utilizan funcones como las siguientes: Import_doc (doc, text) returns doc; Assign (doc) reeturns doc; Destroy (doc) returns void; Las funciones Assign y Destroy ya existen para los objetos predefinidos large-object y large-text, el usuario debe redefinirlas para objetos de tipo doc

El servidor universal de Informix Soporte de API’s con Data Blades Tipo de datos texto Ejemplos: CREATE TABLE documentos_legales( titulo TEXT; documento DOC); INSERT INTO documentos_legales (titulo, documento) VALUES (‘arrendamiento.contrato’, ‘format {troff}: /user/local/docs/arrendamiento’); CREATE INDEX indice_legal ON documentos_legales USING dtree (documento texto_ops);

El servidor universal de Informix Soporte de API’s con Data Blades Tipo de datos texto Cuando un documento del tipo de datos doc se inserta en una tabla, se analiza cada una de las palabras del mismo. El data blade de Texto no es sensible a las mayúsculas y minúsculas y las palabras se agrupan por lexemas según el diccionario WORDNET Se guarda un fichero de palabras vacías : stopword El servidor universal de Informix proporciona dos conjuntos de rutinas: las rutinas contains y las funciones text-string. Los datos se devuelven en orden descendente

El servidor universal de Informix Soporte de API’s con Data Blades Tipo de datos texto Ejemplo: Obtener los títulos de los documentos legales que contienen los diez términos principales del documento titulado ‘contrato de arrendamiento’ SELECT d.titulo FROM documentos_legales d, documentos legales l WHERE contains (d.documento, AndTerms (TopTerms(l, documento, 10))) AND l.titulo= ‘arrendamiento.contrato’ AND d.titulo <> ‘arrendamiento.contrato’;

Características objeto-relacionales de Oracle 8

Características OR de Oracle 8 Como todo SGBDOR, continúa proporcionando las capacidades de un SGBDR y además soporta conceptos de orientación a objetos Se conserva la estructura relacional del modelo de datos, las características del esquema y la organización del almacenamiento Se han añadido varios tipos de datos con sus recursos de manipulación denominados cartuchos (cartridges) Se ha facilitado la gestión de los datos multimedia con nuevos tipos de datos

Características OR de Oracle 8 Ejemplos: Representación de atributos multivaluados utilizando VARRAY En el modelo relacional, los atributos multivaluados se deberían manejar formando una nueva tabla. En el modelo orientado a objetos, todos los atributos de un objeto (incluyendo los multivaluados) están encapsulados dentro del objeto. Oracle 8 consigue esto mediante la utilización del tipo de datos VARRAY, que tiene las siguientes propiedades: 1. COUNT: número actual de elementos. 2. LIMIT: número máximo de elementos que puede contener el VARRAY. Debe definirlo el usuario.

Características OR de Oracle 8 Ejemplos: Representación de atributos multivaluados utilizando VARRAY CREATE TYPE tipo_num_tfno AS OBJECT (numero_telefono CHAR(10)); CREATE TYPE tipo_lista_tfno as VARRAY (5) OF tipo_num_tfno CREATE TYPE tipo_cliente AS OBJECT (nombre_cliente VARCHAR (20) numeros_tfno tipo_lista_tfno); CREATE TABLE cliente OF tipo_cliente; SELECT nombre_cliente, numeros_telefono FROM clientes;

Características OR de Oracle 8 Ejemplos: Utilización de tablas anidadas para representar objetos complejos Algunos atributos de un objeto pueden ser objetos en si mismos. Oracle 8 logra esto mediante tablas anidadas: las columnas pueden declararse como tablas: CREATE TYPE tipo_numero_tfno AS OBJECT (numero_telefono CHAR (10), descripcion CHAR(30)); CREATE TYPE tipo_lista_tfno AS TABLE OF tipo_numero_tfno; tipo_lista_tfno es ahora una tabla anidada en lugar de un VARRAY. Las tablas anidadas no tienen límite superior sobre el número de campos, mientras que los VARRAY si tienen un límite. Pueden recuperarse campos individuales y construir índices adicionales para acelerar el acceso a los datos.

Características OR de Oracle 8 Ejemplos: Vistas de objetos Pueden utilizarse para construir objetos virtuales a partir de datos relacionales, por lo que facilitan que los programadores puedan evolucionar los esquemas existentes para soportar objetos. Permiten que aplicaciones relacionales y orientadas a objetos coexistan en la misma base de datos. Gestión de objetos grandes Oracle permite almacenar objetos grandes como vídeo, audio y documentos de texto. Para ello se han creado nuevos tipos de datos como: BLOB (objeto binario grande o binary large object) CLOB (objeto de caracteres grande o character large object) BFILE (fichero binario almacenado fuera de la base de datos) NCLOB (CLOB multibyte de anchura fija)

SQL 3

SQL 3 El estándar SQL 3 y sus componentes El estandar SQL 3 incluye los siguientes componentes: SQL/Framework (Marco de trabajo) SQL/Foundation (Fundamentos) SQL/Bindings (Ligaduras) SQL/Objects (Objetos) Nuevas partes dirigidas a aspectos temporales y de transacciones de SQL SQL/CLI (Call level interface o Interfaz de Nivel de Llamada) SQL/PSM (Persistent Stored Modules o Módulos de almacenamiento persistente)

SQL 3 Algunas operaciones y características nuevas de SQL 3 Se han añadido nuevos tipos de operaciones: SIMILAR : Permite utilizar expresiones regulares para emparejar cadenas de caracteres Valores booleanos: UNKNOWN cuando una comparación no es ni verdadera ni falsa porque uno de los valores puede ser null RECURSION LINEAL para especificar consultas concurrentes Se introduce el concepto de rol en el tema de seguridad Incluye sintaxis para especificar y utilizar disparadores como reglas activas Concepto de modulo cliente para bases de datos distribuidas Se amplia con recursos de lenguajes de programación: rutinas SQL y rutinas externas

SQL 3 Soporte objeto-relacional en SQL 3 La especificación SQL/Object amplía SQL 92 para incluir capacidades de orientación a objetos Los nuevos tipos de datos incluyen los tipos de datos: · booleano (Boolean) · carácter (character) · objetos grandes binarios (LOB) · localizadores de objetos grandes

SQL 3 Soporte objeto-relacional en SQL 3 Objetos en SQL 3 Los objetos en SQL 3 son de dos tipos: · Tipos fila o tupla (row) cuyas instancias son filas de tablas · TAD’s, que coinciden con cualquier tipo que se utilice como componente de una tupla CREATE ROW TYPE nombre_tipo_emp ( CREATE ROW TYPE tipo_fila_empleo( nombre VARCHAR (35), empleado REF (tipo_fila_emp), edad INTEGER); empesa REF (tipo_fila_empr)); CREATE ROW T`YPE tipo_fila_empr( CREATE TABLE Empleo OF TYPE tipo_fila_empleo; nombre_empr VARCHAR (20) localización VARCHAR (20)); SELECT Empleo..Empleado..nombre FROM Empleo CREATE TABLE Empleado OF TYPE tipo_fila_emp; WHERE Empleo..Empresa..localizacion=‘Australia’ CREATE TABLE Empresa OF TYPE tipo_fila_empr;

SQL 3 Soporte objeto-relacional en SQL 3 TAD’s en SQL 3 · La forma general de una especificación de TAD es: CREATE TYPE <nombre_tipo>( lista de atributos componenetes con sus tipos individuales declaración de las funciones EQUAL y LESS THAN declaración de otras funciones (métodos)); SQL proporciona algunas funciones predefinidas para TAD · Un TAD tiene varias funciones definidas por el usuario asociadas con él: FUNCTION <nombre> (<lista_argumentos>) RETURNS tipo · Los TAD’s pueden utilizarse como tipos para los atributos en SQL 3 y para los tipos de parámetros en funciones o procedimientos · Los atributos y las funciones en TAD se dividen en tres categorías: public, private y protected

SQL 3 Soporte objeto-relacional en SQL 3 · Los recursos que hacen que SQL 3 esté orientado a objetos siguen de cerca de los que se han ido implementando en los SGBDOR comerciales · Se está proponiendo SQL/MM (multimedia) como un estandar separado para la gestión de bases de datos multimedia con múltiples partes: marco de trabajo, texto completo, espacial, recursos de propósito general e imagen fija