Você está na página 1de 45

MBD-102 Bases de Datos Relacionales-Objeto (MBD-102)

Bases de Datos relacional-objeto


introduccin al desarrollo

Marco A. Hernndez Vsquez

Introduccin

Debilidades del Modelo Relacional


Pobre representacin del Mundo Real: Es difcil y complejo intentar representar ciertos conceptos y comportamientos del mundo real. El concepto de JOIN no es natural en un ambiente real. Ausencia de heterogeneidad: El modelo relacional asume homogeneidad horizontal y vertical. Toda tupla de una misma tabla posee los mismos atributos. Los valores de una columna pertenecen a un mismo dominio. La interseccin de fila y columna deben ser atmicos.

Operaciones restringidas: Operaciones de conjuntos sobre tuplas. Poder computacional del motor de base de datos nicamente.
Manejo limitado de acceso a datos: Complejidad y limitacin en consultas sobre relaciones sobre si mismas. Pocas facilidades para navegar atraves de los datos.

La orientacin a Objetos
El diseo orientado por objetos crean una representacin del dominio del problema en el mundo real y lo transforma en un dominio de soluciones.
Da como resultado un diseo el cual interconexiona los objetos de datos (elementos de datos) y las operaciones de procesamiento, de forma tal que encapsula la informacin y el procesamiento. Este encapsulamiento es el paradigma objetos. fundamental de la orientacin por

La orientacin a Objetos: Conceptos

Ejemplos: Persona, Equipo Hardware, Materiales, Informacin, Software, Procesos, Procedimientos

La orientacin a Objetos: Conceptos

La orientacin a Objetos: Conceptos

La orientacin a Objetos: Conceptos

estado

comportamiento

La orientacin a Objetos: Conceptos

Evolucin Modelos de Datos


1970 Ted Codd escribe artculo en el que establece 2 objetivos para el manejo de datos compartidos:

1. Independencia de datos (aplicaciones independientes del detalle fsico de los datos)


2. Consistencia Uso de tablas, filas y columnas Conjunto de operaciones lgicas Predicados lgicos (clculo relacional)

Evolucin Modelos de Datos


NORMALIZACION Modelaje de datos lgico (MDL) BDs libres de redundancia y anomalas 70s 80s -> Se hicieron duros esfuerzos para construir RDBMS (System R) 80s 90s -> Se alcanza un nivel de madurez importante Transacciones, consistencia de datos, BKP y RCV

90s Hoy -> YA sabemos lo que lo tenemos

Evolucin SABD-RO
OR inicia en el ao 1995.

Cada innovacin en las diferentes reas puede ser vista como una

respuesta a alguna limitacin de la tecnologa precedente o a la demanda de nuevos dominios de aplicacin.

Evolucin SABD-RO
El estndar SQL-92 soporta un conjunto restringido de tipos (enteros, reales, hileras de longitud fija y variable, fecha), no soporta estructuras anidadas tales como conjuntos o arreglos y tiene una integracin limitada con los lenguajes orientados a objetos.

Evolucin SABD-RO
CREATE TABLE EMPLEADO ( Papellido Sapellido Nombre NumID FecNac ); Varchar (30) not null Varchar (30) not null Varchar (30) not null Varchar (25) not null Date

SQL-92

PROBLEMAS: Limitado nmero de hileras Deficiencia estructural Tablas independientes (filas y columnas) No fcil soporte de las ventajas de OO de hoy en cuanto: a los lenguajes de programacin

Evolucin SABD-RO

Evolucin SABD-RO
SQL-2006 ISO/IEC 9075-14:2006: define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML:
para importar y guardar datos XML,

manipulacin dentro de la base de datos y publicacin XML,


publicacin de los datos SQL convencionales en forma XML,

Evolucin SABD-RO
SQL-2006 ISO/IEC 9075-14:2006: define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML: proporciona facilidades que permiten a las aplicaciones integrar dentro de su cdigo SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.

Evolucin SABD-RO
SQL-2008: permite el uso de la clusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Aade la sentencia TRUNCATE.

Evolucin SABD-RO
Un sistema de administrador de base de datos relacional-objeto (SABDRO) permite extender los tipos de objeto manejados para soportar ms eficientemente aplicaciones que utilizan por ejemplo datos geogrficos (puntos, y otros objetos grficos) y multimedia (objetos grandes).

Evolucin SABD-RO
Un (SABD-RO) es un repositorio de datos que puede ser extendido para administrar cualquier clase de datos. Preserva caractersticas de los SABD-R como SQL (DDL-DML), paralelismo al ejecutar un estatuto SQL, y administracin de la transacciones, e incluye otras como extensibilidad, soporte para un modelo de datos orientados a objetos.

Evolucin SABD-RO

Modelo Relacional

Modelo RelacionalObjeto

Orientado a Objetos

LO MEJOR DE LOS DOS MUNDOS

Evolucin SABD-RO
Los SABD-RO organizan los datos y la conducta (mtodos) del negocio dentro de un modelo abstracto (sencillo), utilizando los conceptos de tipo de datos, funciones y procedimientos Beneficios:

EJEMPLO 1 DE USO
CREATE TABLE EMPLEADO ( Nombre NonPer FecNac NumID Salario Direccion Seas ); not null Date Cedula not null Moneda not null not null PK (NumID) not null

Similaridad : Diferencia:

Integridad y organizacin fsica Algunas declarativas Tipos de columnas (encapsula estado y comportamiento)

EJEMPLO 2
Caso: Compaa coloca empleados temporales de acuerdo a su competencia, por lo que necesita registrar en una BD: curriculum, localizacin y perodos de disponibilidad
CREATE TABLE EMPLEADOSTEMP ( Curruculum Document not null ViveEn Geopoint not null Disponible Set (period not null) ) Under Empleado;

Under Herencia Todas las columnas de Empleados estn en EmpleadosTemp Las filas de EmpleadosTemp se pueden acceder por la tabla Empleados

CONSULTA (SEUDOLEGUAJE)
Muestre los nombres de los empleados temporales que vivan en radio de 60 Km con coordenadas (-122.514, 37.221), cuyos currculos incluyan referencias a Oracle y DBA y no tienen reservado el perodo de hoy a una semana

SELECT E.Nombre FROM EmpleadosTemp E WHERE CONTAINS (Geocircle ((-122.514, 37.221),60 Kms,)), E.Vive_en) AND DocContains (E.Curriculum, Oracle y DBA) AND NOT IsBooked (Period (today, today + 7), E.Disponible);

ESTRUCTURA DE TABLA MEJORADA


Nombre::NombrePersona (Rodriguez,Sergio) (`Palotes,Pedro) (Sutano,Panfilo) FecNac::Date 12-01-1990 13-02-1973 22-09-2001 Dir::Direccion (Curri.,San..) (por ah.) (xx,dd,pp) ViveEn::Punto (-127.4,45.1) (-115.3,27.5) (121.8,31.12) Curric::Doc Ing,Comp xx,yy,zz ss,pp,rr

Nombre de columna nombre y tipo Columnas con estructura interna Mltiples instancias de tipos de datos nos convencionales: ViveEn, Curric

Adems tienen: Restricciones de integridad Llave primaria Llaves alternas

APLICACIONES QUE PUEDEN USAR ORDBMS


Anlisis de datos complejos: Minera de datos: vector simblico

Textos y documentos: Manejo de documentos textuales para bsquedas de palabras


Administracin de documentos digitales: Video, fotos, audio (almacenamiento y recuperacin) Datos geogrficos: GPS

Biomedicina: Imgenes

Sistemas administradores de base de datos orientados a objetos - SADBOO


Definicin: Sistema que integra las capacidades de una base de datos con las de un lenguaje orientado a objetos, permitiendo la administracin de datos persistentes (ODMG - Object Database Management Group). Entre sus caractersticas ms importantes est el poseer un sistema extensible de tipos-clases, permitiendo el almacenamiento de objetos.

Sistemas administradores de base de datos orientados a objetos - SADBOO


Permite invocar mtodos sobre stos objetos, a travs de una llamada directa al objeto, o travs de una consulta.
Manejo de herencia y polimorfismo.

Sobrecarga de operadores.

SABD-RO
Caractersticas:
Posee un modelo de datos abierto, donde nuevos tipos de datos y funciones pueden ser definidas. Manejo de herencia y polimorfismo. El acceso a los objetos es manejo va estatutos SQL.

SABD-RO.
Caractersticas:

Permiten una operacin centralizada o distribuida segn se requiera.

Se debe realizar un diseo detallado porque sino se debe deshacer trabajo para poder modificar los tipos base.

La sintaxis para las operaciones DML no siempre es simple.

SABD-RO.
Caractersticas:

En los casos de Oracle y DB2 la herencia aplica a nivel de tipos. Se utiliza la clusula UNDER.

Las tablas siguen siendo los almacenes de datos para el sistema.

SABD-RO
Caractersticas:

Procedimientos almacenados: permiten incluir funcionalidad en el SABD, por ejemplo a travs de


java. Administracin del almacenamiento: soporte para UDT

para objetos grandes definicin de ndices


Replicacin

SABD-RO
SQL extendido (SQL-RO): opera sobre tablas y vistas
est orientado a la recuperacin por valor Tiene las operaciones base de SQL-92 pero deja al fabricante del software (IBM, Oracle, Microsoft,) libertad de implantacin

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Qu es modelar ?

Consiste en hacer una representacin simplificada (modelo) de algo

utilizando el lenguaje natural o algn otro medio.

Un modelo es una abstraccin de algo con el propsito de

comprenderlo antes de construirlo.

Un modelo omite detalles no esenciales.

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos: La funcin primaria de cualquier BD es proveer a los desarrolladores y

usuarios finales con una vista de un cuerpo de informacin que representa su


dominio de aplicacin.

Las bases de datos son abstracciones, que son tiles para tratar las

complejidades del mundo real, las cuales los sistemas de informacin ayudan a administrar.

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos:

Los objetos son representados utilizando tipos (user defined type UDT) y funciones (user defined functions - UDF) . La nica forma de manipular los valores de los atributos de un objeto es a
travs del conjunto de mtodos definidos en una interface correspondiente a la clase a que ste pertenece. La nica forma de trabajar con los datos es aplicar UDFs a las instancias dentro de una consulta SQL-RO.

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos:
El valor de un campo de una fila de una tabla es de un tipo particular, y es atmico. La agrupacin en conjuntos y arreglos fue prohibida por la primera forma
normal,

Sin embargo esto no es as dentro del modelo orientado a objetos, que se


implanta en un SABD-RO. Por ejemplo: una pelcula est asociada con un conjunto de gneros (accin, romance, historia, documental, ..). Considerar la consulta:

recuperar las pelculas que pertenecen a un conjunto particular de gneros.

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


BD relacional
Tabla B
key Titulo

Tabla C
key Genero

1
2

CasaBlanca
Maltese Falcon

1
1

Drama
Romance

Crimen
Cine Negro

BD OR
key 1 2 Titulo CasaBlanca Maltese Falcon

201

Genero {Drama, Romance} {Crimen, Cine Negro}

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos:

Identidad y referencia: cada objeto tiene una propiedad que le proporciona una identidad nica (OID) que es permanente (no importa si todos los valores de

sus otros atributos cambian).

Se podra interpretar el OID como la referencia propia del objeto (registro)

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos:

Los OIDs conducen a un estilo navegacional de manipulacin de los datos, el cual puede complicar ciertas consultas y hacer ms difcil que el
optimizador determine un plan de acceso ptimo. De hecho la responsabilidad por mantener la integridad referencial recae en el

desarrollador.

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos: Aproximacin relacional por valor va llaves forneas. Tabla A
FKey 101 201 201 Where (-112.2,37.13) (-125.2,35.75) (-121.3,28.42)

Tabla B
Pkey 101 201 Who Wendy Max

Tabla C
Fkey When

101
101

01-10-2009
12-10-2008

201
201

09-11-2009
02-06-2000

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos: Aproximacin por referencia e identidad. Tabla A
REF ### ### ### Where (-112.2,37.13) (-125.2,35.75) (-121.3,28.42)

Tabla B
Pkey 101 201 Who Wendy Max

Tabla C
REF When

###
###

01-10-2009
12-07-2008

###

09-11-2009
02-06-2008

Tabla D
Pkey

### Who

###
###

07-06-2008
02-06-2008

101
301

Bear
Fox

Hechos, tablas y esquema: El modelos de datos relacional-objeto.


Modelos de datos: Herencia: representa la relacin entre dos tipos de datos, y en general

corresponde a:
tiene_un -- contiene herencia de tabla es_un -- especializacin herencia de tipo
La herencia permite la reutilizacin de tipos previamente declarados y sus mtodos en la declaracin de otros tipos.

La inclusin implcita de datos de una tabla en otra, an si la definicin de las dos


tablas no es idntica.

MBD-102 Bases de Datos Relacionales-Objeto (MBD-102)

Bases de Datos relacional-objeto


introduccin al desarrollo

Marco A. Hernndez Vsquez

Você também pode gostar