SGBDOR Y RELACIONALES EXTENDIDOS - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

SGBDOR Y RELACIONALES EXTENDIDOS

Description:

... 8 SQL 3 Introducci n En el mundo ... del esquema y la organizaci n del ... los tipos de par metros en funciones o procedimientos Los ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 39
Provided by: Nago150
Category:

less

Transcript and Presenter's Notes

Title: SGBDOR Y RELACIONALES EXTENDIDOS


1
SGBDOR Y RELACIONALES EXTENDIDOS
  • Nagore Tamayo

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

3
Introducción
4
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 BDs 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)

5
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

6
El servidor universal de Informix
7
El servidor universal Informix
  • Es un SGBDOR que combina las tecnologías de BDs
    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

8
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 (X0, Y0) Datos simples, consultas
    simples
  • Cuadrante 2 (X0, Y1) Datos simples, consultas
    complejas
  • Cuadrante 3 (X1, Y0) Datos complejos,
    consultas simples
  • Cuadrante 4 (X1, Y1) Datos complejos,
    consultas complejas
  • Universal Server de Informix ha extendido su
    modelo relacional básico para incorporar recursos
    que lo convierten en objeto-relacional

9
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

10
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.

11
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 (INTERNALLENGTHvariable
    , MAXLEN1024, ALIGNMENT8)

12
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

13
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))

14
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

15
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

16
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.salariogt(SELECT salario WHERE
    sobrevalorado(g)
  • FROM empleado

  • WHERE nombreBill Brown)
  • CREATE FUNCTION sobrevalorado (tipo_jefe_ing) S
    ELECT jg.nombre
  • RETURN BOOLEAN AS FROM jefe_ing jg
  • RETURN 1.salariogt(SELECT salario WHERE
    sobrevalorado(jg)

17
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(direc
    cion))
  • Soporte de APIs 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.

18
El servidor universal de Informix
  • Soporte de APIs 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

19
El servidor universal de Informix
  • Soporte de APIs 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

20
El servidor universal de Informix
  • Soporte de APIs 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

21
El servidor universal de Informix
  • Soporte de APIs 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

22
El servidor universal de Informix
  • Soporte de APIs 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

23
El servidor universal de Informix
  • Soporte de APIs 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)

24
El servidor universal de Informix
  • Soporte de APIs 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

25
El servidor universal de Informix
  • Soporte de APIs 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
    ltgt arrendamiento.contrato

26
Características objeto-relacionales de Oracle 8
27
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

28
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.

29
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

30
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.

31
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)

32
SQL 3
33
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)

34
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

35
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

36
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
  • TADs, 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 TYPE 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..localizacionAustralia
  • CREATE TABLE Empresa OF TYPE tipo_fila_empr

37
SQL 3
  • Soporte objeto-relacional en SQL 3
  • TADs en SQL 3
  • La forma general de una especificación de TAD
    es
  • CREATE TYPE ltnombre_tipogt(
  • 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 ltnombregt (ltlista_argumentosgt) RETURNS
    tipo
  • Los TADs 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

38
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
Write a Comment
User Comments (0)
About PowerShow.com