Sei sulla pagina 1di 53

B.D.O.O.

(BASES DE DATOS ORIENTADAS A OBJETOS)


INTRODUCCIN:

LAS BDOO SURGEN DE LA NECESIDAD EN INGENIERA LA CUAL NO CUMPLAN


LAS ANTERIORES BD (RELACIONALES, JERRQUICAS).
SE PUEDE MANIPULAR LA ESTRUCTURA DE LOS OBJETOS ES MS COMPLEJA.
LAS TRANSACCIONES SON DE LARGA DURACIN.
SE NECESITAN NUEVOS TIPOS DE DATOS. PARA ALMACENAR IMGENES Y
TEXTOS, Y HACE FALTA DEFINIR OPERACIONES NO ESTNDAR, ESPECFICAS
PARA CADA APLICACIN.
EXPERIMENTOS CIENTFICOS, SISTEMAS DE INFORMACIN GEOGRFICA.
LOS FABRICANTES DE LOS SGBD AL VER LA POTENCIA Y LAS NECESIDADES QUE
CUBRA LAS BDOO, INCORPORARON MUCHOS DE LOS RASGOS PROPUESTOS PARA
LAS BDOO COMO INFORMIX Y ORACLE.
ESTO DIO LUGAR AL MODELO RELACIONAL EXTENDIDO Y A LOS SISTEMAS QUE LO
IMPLEMENTAN SE LES DENOMINA SISTEMAS OBJETO-RELACIONALES (HBRIDOS).
AL CREARSE MUCHOS PROTOTIPOS EXPERIMENTALES DE BDOO SURGI LA
NECESIDAD DE ESTABLECER UN MODELO ESTNDAR Y UN LENGUAJE, POR LO
CUAL NACE UN GRUPO LLAMADO ODMG ( OBJECT DATABASE MANAGMENT
GROUP) QUE PROPORCIONA EL ESTNDAR ODMG 3.0
VENTAJAS:
FLEXIBILIDAD PARA MANEJO DE REQUISITOS.
NO EST LIMITADA POR LOS TIPOS DE DATOS.
PERMITE QUE EL DISEADOR DEFINA LA ESTRUCTURA DE OBJETOS COMPLEJOS.
PERMITE QUE EL DISEADOR DEFINA LAS OPERACIONES QUE SE PUEDEN
APLICAR A DICHOS OBJETOS.
FACILITA EL ACCESO A LAS BASES DE DATOS A LAS APLICACIONES
DESARROLLADAS CON EL PARADIGMA DE OBJETOS (JAVA, C++).
EL ESTNDAR ODMG PROPORCIONA PORTABILIDAD PERMITIENDO QUE EL
PROGRAMA SE EJECUTE EN S.O. DIFERENTES.
INTEROPERABILIDAD PERMITIENDO QUE PUEDA ACCEDER A VARIOS SISTEMAS
DIFERENTES
LA ORIENTACIN A OBJETOS COMBINA LOS PROCEDIMIENTOS DE UNA
ENTIDAD CON SUS DATOS, ESTO SE CONSIDERA UN PASO ADELANTE EN LA
GESTIN DE DATOS.
SOPORTA RELACIONES DE M:M SIENDO EL PRIMER MODELO QUE LO PERMITE,
PERO SE DEBE TENER CUIDADO AL DISEAR ESTAS RELACIONES PARA
EVITAR PERDIDAS DE INFORMACIN.
DESVENTAJAS

LAS BDOO SON NAVEGACIONALES EL ACCESO A LOS DATOS A TRAVS DE


RELACIONES QUE SE ALMACENAN CON LOS MISMOS DATOS
CONCEPTO DE ORIENTACIN A OBJETOS EN
UN BD
LOS OBJETOS HAN ENTRADO EN EL MUNDO DE LAS BASES DE DATOS DE 2
FORMAS:
SGBD ORIENTADO A OBJETOS PUROS: SON SGBD BASADO COMPLETAMENTE
EN EL MODELO ORIENTADO A OBJETOS.
SGBD HBRIDOS U OBJETO-RELACIONALES QUE PERMITE ALMACENAR
OBJETOS EN SUS RELACIONES (TABLAS)
MODELO ORIENTADO A OBJETOS

OBJETO: ES UN ELEMENTO AUTOCONTENIDO QUE ES UTILIZADO POR EL


PROGRAMA. LOS VALORES QUE ALMACENA SE DENOMINAN ATRIBUTOS, LOS
OBJETOS PUEDEN REALIZAR ACCIONES DENOMINADAS MTODOS O
PROCEDIMIENTOS.
ENCAPSULAMIENTO: LOS USUARIOS Y LOS PROGRAMAS DE APLICACIN
NO PUEDEN VER QU HAY DENTRO DE LOS MTODOS, SOLO PUEDE VER LOS
RESULTADOS AL EJECUTARLOS.
CLASE: ES UN PATRN O PLANTILLA EN LA QUE SE BASAN OBJETOS QUE
SON SIMILARES. CUANDO UN PROGRAMA CREA UN OBJETO DE UNA CLASE,
PROPORCIONA DATOS PARA SUS VARIABLES Y EL OBJETO PUEDE ENTONCES
UTILIZAR LOS MTODOS QUE SE HAN ESCRITO PARA LA CLASE.

UNA CLASE TAMBIN ES UN TIPO DE DATOS, ESTO SIGNIFICA QUE UNA


CLASE SE PUEDE UTILIZAR COMO TIPO DE DATOS DE UN ATRIBUTO.
TIPOS DE CLASES: SE ENCUENTRAN 3 TIPOS (M.V.C.)
CONTROL : GESTIONAN EL FLUJO DE OPERACIONES DE UN PROGRAMA.
MODELO: SON LAS QUE SE UTILIZAN PARA CREAR OBJETOS QUE MANEJAN DATOS
(PERSONAS, OBJETOS TANGIBLES E INTANGIBLES).
VISTA: MANEJAN LA ENTRADA Y LA SALIDA DE INFORMACIN.

TIPOS DE MTODOS: HAY VARIOS TIPOS DE MTODOS QUE SON COMUNES


ENTRE CLASES:
CONSTRUCTORES.
DESTRUCTORES.
ACCESORES.
MUTADORES.
SOBRECARGA DE MTODOS: SON MTODOS QUE TIENEN EL MISMO NOMBRE PERO QUE
NECESITAN DISTINTOS DATOS PARA OPERAR. EJEMPLO:
CONSIDEREMOS UNA CLASE CONTENEDOR, TODOSLOSEMPLEADOS, QUE AGREGA TODOS LOS
OBJETOS CREADOS DE LA CLASE EMPLEADO. PARA QUE LA CLASE CONTENEDOR SEA TIL, DEBE
PROPORCIONAR ALGUNA FORMA DE BUSCAR OBJETOS DE EMPLEADOS ESPECFICOS. SE PUEDE
QUERER BUSCAR POR NMERO DE EMPLEADO, POR EL NOMBRE Y LOS APELLIDOS O POR EL NMERO
DE TELFONO. LA CLASE CONTENEDOR TODOSLOSEMPLEADOS TENDR TRES MTODOS LLAMADOS
ENCUENTRA. UNO DE LOS MTODOS REQUIERE UN ENTERO COMO PARMETRO (EL NMERO DE
EMPLEADO), EL SEGUNDO REQUIERE DOS CADENAS (EL NOMBRE Y LOS APELLIDOS) Y EL TERCERO
REQUIERE UNA SOLA CADENA (EL NMERO DE TELFONO). AUNQUE LOS TRES MTODOS TIENEN EL
MISMO NOMBRE, POSEEN DISTINTAS INTERFACES PBLICAS. LA VENTAJA DE LA SOBRECARGA DE LOS
MTODOS ES QUE PRESENTAN UNA INTERFACE CONSISTENTE AL PROGRAMADOR: SIEMPRE QUE
QUIERA LOCALIZAR A UN EMPLEADO, DEBE UTILIZAR EL MTODO ENCUENTRA.
HERENCIA DE ATRIBUTOS: EN OCASIONES SE NECESITA TRABAJAR CON CLASES QUE SON SIMILARES PERO
NO IDNTICAS. UNA CLASE PUEDE TENER VARIAS SUBCLASES QUE REPRESENTAN OCURRENCIAS MS
ESPECFICAS DE LA SPERCLASE. POR EJEMPLO, PODEMOS TENER LA CLASE (SPERCLASE) ANIMAL CON SUS
ATRIBUTOS (NOMBRE COMN, NOMBRE CIENTFICO, FECHA DE NACIMIENTO Y GNERO) Y LAS SUBCLASES
MAMFERO, REPTIL Y PEZ, CADA UNA CON UNOS ATRIBUTOS ESPECFICOS (MAMFERO: PESO, ALTURA DEL
HOMBRO, RAZA Y COLOR; REPTIL: LONGITUD ACTUAL Y LONGITUD MXIMA; PEZ: COLOR). POR EL HECHO DE
SER SUBCLASES DE ANIMAL, HEREDAN SUS ATRIBUTOS. LA RELACIN QUE MANTIENEN LAS SUBCLASES CON LA
SPERCLASE ES DEL TIPO ES UN: UN MAMFERO ES UN ANIMAL, UN REPTIL ES UN ANIMAL Y UN PEZ ES UN
ANIMAL. NO TODAS LAS CLASES DE UNA JERARQUA SE UTILIZAN PARA CREAR OBJETOS. POR EJEMPLO, NUNCA
SE CREAN OBJETOS DE LA CLASE ANIMAL, SINO QUE SE CREAN OBJETOS DE LAS CLASES MAMFERO, REPTIL O
PEZ. LA CLASE ANIMAL SLO SE UTILIZA PARA RECOGER LOS ATRIBUTOS Y MTODOS QUE SON COMUNES A LAS
TRES SUBCLASES. SE DICE QUE ESTAS CLASES SON ABSTRACTAS O VIRTUALES. LAS CLASES QUE SE UTILIZAN
PARA CREAR OBJETOS SE DENOMINAN CLASES CONCRETAS.
MODELO DE DATOS ORIENTADO A OBJETOS

EL MODELO DE DATOS ORIENTADO A OBJETOS ES UNA EXTENSIN DEL


PARADIGMA DE PROGRAMACIN ORIENTADO A OBJETOS. LOS OBJETOS
ENTIDAD QUE SE UTILIZAN EN LOS PROGRAMAS ORIENTADOS A OBJETOS SON
ANLOGOS A LAS ENTIDADES QUE SE UTILIZAN EN LAS BASES DE DATOS
ORIENTADAS A OBJETOS PURAS, PERO CON UNA GRAN DIFERENCIA: LOS
OBJETOS DEL PROGRAMA DESAPARECEN CUANDO EL PROGRAMA TERMINA SU
EJECUCIN, MIENTRAS QUE LOS OBJETOS DE LA BASE DE DATOS
PERMANECEN. A ESTO SE LE DENOMINA PERSISTENCIA.
RELACIONES

LAS BASES DE DATOS ORIENTADAS A OBJETOS IMPLEMENTAN SUS


RELACIONES INCLUYENDO EN CADA OBJETO LOS IDENTIFICADORES DE LOS
OBJETOS CON LOS QUE SE RELACIONA.

EL IDENTIFICADOR PUEDE SER UN VALOR ARBITRARIO O PUEDE INCLUIR LA


INFORMACIN NECESARIA PARA LOCALIZAR EL OBJETO EN EL FICHERO
DONDE SE ALMACENA LA BASE DE DATOS.
ASPECTOS IMPORTANTES:

PARA QUE EL MECANISMO FUNCIONE, EL IDENTIFICADOR DEL OBJETO NO


DEBE CAMBIAR MIENTRAS STE FORME PARTE DE LA BASE DE DATOS.

LAS NICAS RELACIONES QUE SE PUEDEN UTILIZAR PARA CONSULTAR LA


BASE DE DATOS SON AQUELLAS QUE SE HAN PREDEFINIDO ALMACENANDO
EN ATRIBUTOS LOS IDENTIFICADORES DE LOS OBJETOS RELACIONADOS.
RELACIN 1:M

EL MODELO ORIENTADO A OBJETOS PERMITE LOS ATRIBUTOS


MULTIVALUADOS, AGREGACIONES A LAS QUE SE DENOMINA CONJUNTOS
(SETS) O BOLSAS (BAGS). PARA CREAR UNA RELACIN DE UNO A MUCHOS,
SE DEFINE UN ATRIBUTO EN LA PARTE DEL UNO QUE SER DE LA CLASE DEL
OBJETO CON EL QUE SE RELACIONA. ESTE ATRIBUTO CONTENDR EL
IDENTIFICADOR DE OBJETO DEL PADRE. LA CLASE DEL OBJETO PADRE
CONTENDR UN ATRIBUTO QUE ALMACENARA UN CONJUNTO DE VALORES:
LOS IDENTIFICADORES DE LOS OBJETOS HIJO CON LOS QUE SE RELACIONA.
RELACIN M:M

LAS RELACIONES DE MUCHOS A MUCHOS SE PUEDEN REPRESENTAR DIRECTAMENTE EN


LAS BASES DE DATOS ORIENTADAS A OBJETOS, SIN NECESIDAD DE CREAR ENTIDADES
INTERMEDIAS. PARA REPRESENTAR LA RELACIN, CADA CLASE QUE PARTICIPA EN ELLA
DEFINE UN ATRIBUTO QUE CONTENDR UN CONJUNTO DE VALORES DE LA OTRA CLASE
CON LA QUE SE RELACIONAR
SI LA RELACIN TIENE DATOS, SER NECESARIO CREAR UNA ENTIDAD INTERMEDIA QUE
CONTENGA ESTOS DATOS.
PUEDE DISEAR UNA BASE DE DATOS QUE CONTIENE RELACIONES DE MUCHOS A
MUCHOS EN DONDE O BIEN SE PIERDE LA INFORMACIN, O BIEN SE HACE IMPOSIBLE
DETERMINAR LAS RELACIONES CON PRECISIN.
Relacin: es un
YA QUE EL PARADIGMA ORIENTADO A OBJETOS SOPORTA LA HERENCIA, UNA
BASE DE DATOS ORIENTADA A OBJETOS TAMBIN PUEDE UTILIZAR LA
RELACIN ES UN ENTRE OBJETOS.

RELACIN: EXTIENDE
una clase expande su sperclase en lugar de
estrecharla en un tipo ms especfico.
INTEGRIDAD DE LAS RELACIONES

PARA QUE LAS RELACIONES FUNCIONEN EN UNA BASE DE DATOS ORIENTADA A


OBJETOS PURA, LOS IDENTIFICADORES DE LOS OBJETOS DEBEN CORRESPONDERSE
EN AMBOS EXTREMOS DE LA RELACIN.
EJEMPLO ORACLE:
SI LOS APAREJADORES DE UNA EMPRESA DE CONTROL DE CALIDAD SE DEBEN RELACIONAR
CON LAS OBRAS DE CONSTRUCCIN QUE SUPERVISAN, DEBE HABER ALGN MODO DE
GARANTIZAR QUE, CUANDO UN IDENTIFICADOR DE UN OBJETO OBRA SE INCLUYE EN UN
OBJETO APAREJADOR, EL IDENTIFICADOR DE ESTE MISMO OBJETO APAREJADOR SE DEBE
INCLUIR EN EL OBJETO OBRA ANTERIOR. ESTE TIPO DE INTEGRIDAD DE RELACIONES, QUE
ES DE ALGN MODO ANLOGO A LA INTEGRIDAD REFERENCIAL EN LAS BASES DE DATOS
RELACIONALES, SE GESTIONA ESPECIFICANDO RELACIONES INVERSAS.
LA CLASE APAREJADOR TIENE UN ATRIBUTO DE TIPO CONJUNTO LLAMADO
SUPERVISA. DEL MISMO MODO, LA CLASE OBRA TIENE UN ATRIBUTO LLAMADO ES
SUPERVISADA. PARA GARANTIZAR LA INTEGRIDAD DE ESTA RELACIN, UN SGBD
ORIENTADO A OBJETOS PURO DEBER PERMITIR QUE EL DISEADOR DE LA BASE
DE DATOS PUEDA ESPECIFICAR DNDE DEBE APARECER EL IDENTIFICADOR DEL
OBJETO INVERSO, COMO
POR EJEMPLO:
SIEMPRE QUE UN USUARIO O UN PROGRAMA DE APLICACIN INSERTA O
ELIMINA UN IDENTIFICADOR DE OBJETO DE LA RELACIN SUPERVISA EN UN
OBJETO APAREJADOR, EL SGBD ACTUALIZAR AUTOMTICAMENTE LA
RELACIN ES SUPERVISADA EN EL OBJETO OBRA RELACIONADO. CUANDO SE
HACE UNA MODIFICACIN EN EL OBJETO OBRA, EL SGBD LO PROPAGAR
AUTOMTICAMENTE AL OBJETO APAREJADOR.
COMO EN LAS BD RELACIONALES ES EL DISEADOR EL QUE DEBE
ESPECIFICAR LAS RELACIONES INVERSAS CUANDO CREA EL ESQUEMA DE LA
BD
EL MODELO
ESTNDAR
ODM
G
ODMG
ODMG Object Database
Management Group
Ao 2000 aparece ODMG 3.0
Modelo de objetos
Lenguaje de definicin de objetos
ODL
Lenguaje de consulta de objetos
OQL
Conexin con los lenguajes C++,
Smaltalk y Java
MODELO DE
OBJETOS
ODMG permite que tanto los diseos
como las implementaciones sean
portables
Primitivas de modelado
Objetos
Instancia autocontenida de una entidad de inters del
mundo real.
Tienen un identificador nico
Literales
Valor especifico. Amparo, 36
No tienen identificador
No tienen porque ser un solo valor, puede ser una
estructura o un conjunto de valores relacionados
MODELO DE
OBJETOS
Objetos y literales se categorizan en tipos
Los tipos pueden tener comportamiento
Clase
Los objetos saben realizar sus
operaciones
Pueden requerir:
Parmetros de entrada
Devolver algn valor de tipo conocido
Los objetos tienen propiedades
Atributos
Relaciones con otros objetos
Una BD es un conjunto de objetos
almacenados que se gestionan de modo
que puedan ser accedidos por mltiples
OBJETOS
Tipos de objetos
Atmicos
Tipos estructurados
date: fecha del calendario (da, mes, ao)
time: hora (hora, minutos y segundos)
timestamp: hora de una fecha (con precisin de
microsegundos)
interval: periodo de tiempo
Colecciones <interface Collection>
set<tipo>
Grupo desordenado de objetos. No permite duplicados
bag<tipo>
Grupo desordenado de objetos. Permite duplicados
list<tipo>
Grupo ordenado de objetos. Permite duplicados
array<tipo>
Grupo ordenado de objetos que se pueden acceder
por su posicin. Tamao dinmico. Inserciones y
borrados en cualquier posicin
dictionary<clave,valor>
OBJETOS
Mtodo new() para crear
objetos
Heredan de la inteface
Object

Identificador nico de objeto que no


cambia ni se reutiliza cuando se borra
Objetos transitorios y persistentes
LITERALES
No tienen identificadores
No pueden aparecer como objetos, estn embebidos en
ellos
No se pueden referenciar de modo individual
Tipos de literales
Atmicos
boolean : un valor que es verdadero o falso
short : un entero con signo, normalmente de 8 o 16 bits
long : un entero con signo, normalmente de 32 o 64 bits
unsigned short : un entero sin signo, normalmente de 8 o
16 bits
unsigned long : un entero sin signo, normalmente de 32 o
64 bits
float : un valor real en coma flotante de simple precisin
double : un valor real en coma flotante de doble precisin
octet : un almacn de 8 bits.
char : un carcter ASCII o UNICODE.
string : una cadena de caracteres.
enum : un tipo enumerado donde los valores se
LITERALES
Colecciones
set<tipo>
bag<tipo>
list<tipo>
array<tipo>
dictionary<clave,valor>
Estructurados
Nmero fijo de elementos heterogneos de la
forma <nombre, valor>
date
time
timestamp
interval
struct
Nulos
TIPOS
Interface
Especificacin del comportamiento abstracto de un tipo de
objeto y contiene las signaturas de las operaciones
Puede tener propiedades (atributos y relaciones)
como parte de su especificacin, stas no pueden
ser heredadas desde la interface
No es instanciable por lo que no se pueden crear objetos a
partir de ella (es el equivalente de una clase abstracta en la
mayora de los lenguajes de programacin)
Clase
Especificacin del comportamiento abstracto y del estado
abstracto de un tipo de objeto
Instanciables, por lo que a partir de ellas se pueden crear
instancias de objetos individuales (es el equivalente a una
clase concreta en los lenguajes de programacin)
El estndar soporta la herencia simple y la herencia
mltiple mediante las interfaces.
Ya que las interfaces no son instanciables, se suelen utilizar
TIPOS
La herencia es una relacin
es un

La interface o clase ms baja de la jerarqua es el


tipo ms especfico
Se puede hacer referencia a los subtipos como a los
supertipos
Esto hace que sea ms sencillo tratar los subtipos como
un grupo cuando sea necesario.
Los subtipos se pueden especializar
aadindoles comportamientos que se heredar
por subtipos de este
TIPOS
La relacin extiende (extends) indica la
herencia de estado y de comportamiento
EL SUBTIPO Y EL SUPERTIPO DEBEN SER CLASES
LAS CLASES QUE EXTIENDEN A OTRA CLASE
GANAN ACCESO A TODOS LOS ESTADOS Y
COMPORTAMIENTOS DEL SUPERTIPO, INCLUYENDO
CUALQUIER COSA QUE EL SUPERTIPO HAYA ADQUIRIDO A
TRAVS DE LA HERENCIA DE OTRAS INTERFACES
UNA CLASE PUEDE EXTENDER, COMO MXIMO, A OTRA
CLASE.
SI SE CONSTRUYE UNA JERARQUA DE EXTENSIONES, LAS CLASES DE
MS ABAJO EN LA JERARQUA HEREDAN TODO LO QUE SUS
SUPERTIPOS HEREDAN DE LAS CLASES QUE TIENEN POR ENCIMA
LA EXTENSIN DE UN TIPO TIENE UN NOMBRE E INCLUYE
TODAS LAS INSTANCIAS DE OBJETOS PERSISTENTES
CREADAS A PARTIR DE DICHO TIPO
DECLARAR UNA EXTENSIN DENOMINADA EMPLEADOS PARA EL TIPO
DE OBJETO EMPLEADO ES SIMILAR A CREAR UN OBJETO DE TIPO
SET<EMPLEADO> DENOMINADO EMPLEADOS
UNA EXTENSIN SE PUEDE INDEXAR PARA QUE EL ACCESO
A SU CONTENIDO SEA MS RPIDO
TIPOS
Implementacin de un tipo consta de dos
partes
Representacin
Estructura de datos dependiente de un lenguaje de
programacin que contiene las propiedades del
tipo
Las especificaciones de la implementacin vienen de
una conexin con un lenguaje (language binding)
Mtodos
Detalles de las operaciones de un tipo
En la especificacin externa de cada operacin
debe haber al menos un mtodo
Un tipo puede incluir mtodos que nunca se ven
desde fuera del tipo que realizan funciones para
otros mtodos del tipo
Se escribirn en el mismo lenguaje de programacin
utilizado para expresar la representacin del tipo
PROPIEDADES
Atributos
Se define del tipo de un objeto
No tiene identificador
Valores: literal o OID
Relaciones
Se definen entre tipos
Solo relaciones binarias 1:1, 1:n, n:m
No tiene nombre
Define caminos transversales en la interface en cada
direccin (set, bag o list en el lado de m)
Integridad es mantenida por SGBD
form aade miembros a una relacin
drop elimina miembros a una relacin
TRANSACCIONES
Unidades lgicas de trabajo que dejan la BD en
estado consistente
Secuencia lineal que se ejecutan de modo
controlado
Concurrencia
Bloqueos lectura/escritura
Todas las operaciones sobre objetos
persistentes se realizan dentro de una
transaccin
Control de transacciones
commit para iniciar/terminar transacciones
rollback para abortar transacciones
checkpoint para hacer permanentes los
cambios de la transaccin actual sin liberar los
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
Es el equivalente a DDL de los
SGBDR
Define
Atributos
Relaciones entre tipos
Signatura de operaciones
Extiende de la definicin de
interfaces IDL de CORBA
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
C++ ODL proporciona una
descripcin del schema de la base de
datos como un conjunto de clases de
objetos
Las instancias pueden manejarse con
C++ OML
Las declaraciones de atributos son
sintcticamente idnticas a las
declaraciones de datos en C++
LENGUAJES DE
DEFINICIN
Pers ona
DE OBJETOS: Es tudiante

ODL
nom _Pers ona : s
truct dni : String titulacion : String Edic ionActual
fecha_Nac : Date <<exten d>> 0..*
genero : enum nota_m edia() : FLOAT
direccion : s truct m atricular_es tudiante()
m atriculars e(num _edic : Integer)
cal ificar(num _edic : Integer, nota : FLOAT)
edad() : FLOAT
1

<<extend>> ediciones_cursadas

Profes or
1..*
c ategoria : S
tring sal ario : <<extend>>
Califi cacion
FLOAT
nota : FLOAT
des pac ho : Stri
ng telefono : S 1
tring
aum entar_s alario(aumento : FLOAT) 0..*
prom ocionar( nueva_c ategoria : Stri
ng) tutoriz a
0..*
1
0..*
Edicion
num _edic :
Departam Integer ao :
nomento
bre : String Integer
telefono : en_com ite
sem es tre : enum
String
des pacho : 0..* 1..*
0..*
String es cuela :
Es tudianteGrad Titulo
String
titulos : s et<Titulos es cuela :
director : Profes
or 1 > String titulo :
as ignar_tutor(apellido1 : String, apellido2 : String) String
oferta ao : String
as ignar_m iem bro(apellido1 : String, apellido2 :
0..* String)

Curs o
nom bre : String
num _curs o :
String des cripcion 1
: String
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
LENGUAJES DE DEFINICIN
DE OBJETOS:
ODL
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
LENGUAJES DE
DEFINICIN
DE OBJETOS:
ODL
LENGUAJE DE CONSULTA
DE OBJETOS:
OQL
Lenguaje declarativo similar a
SQL
Basado en SQL-92
Superconjunto de SELECT
No modifica estado de los
objetos
Se hace mediante los mtodos
SELECT FROM WHERE
LENGUAJE DE CONSULTA
DE OBJETOS:
OQL

El resultado es de tipo bag<Tipo>


Si se utiliza DISTINCT el resultado es
set<Tipo>
Especificacin de iteradores
d in departamentos
departamentos d
departamentos as d
LENGUAJE DE CONSULTA
DE OBJETOS:

OQL
El resultado de una consulta puede
ser de cualquier tipo soportado por
ODMG
Una consulta OQL puede devolver un
resultado con una estructura
compleja especificada en la misma
consulta utilizando struct
BASES DE DATOS OBJETO-RELACIONALES
LAS BASES DE DATOS OBJETO-RELACIONAL
EXTIENDEN EL MODELO DE DATOS
RELACIONAL PARA HACER FRENTE A LAS
DEBILIDADES EN ESTANDARIZACIN Y
SOPORTE PARA VISTAS Y SEGURIDAD
AADE CARACTERSTICAS ASOCIADAS CON
SISTEMAS ORIENTADOS A OBJETOS AL
MODELO DE DATOS RELACIONAL
DIFERENCIAS CON MBDOO
EL MODELO DE BASES DE DATOS ORIENTADAS
A OBJETOS AADE FUNCIONALIDADES A LOS
LENGUAJES DE PROGRAMACIN ORIENTADOS
A OBJETOS (ABANDONAN SQL)
EL MODELO DE BASES DE DATOS OBJETO-
RELACIONAL INTENTA AADIR TIPOS DE
DATOS Y CARACTERSTICAS DE MANEJO DE
OBJETOS AL MODELO DE DATOS RELACIONAL
(EXTIENDEN SQL)
VENTAJAS
PERMITE ALMACENAR MLTIPLES VALORES EN
UNA COLUMNA DE UNA MISMA FILA, SIN
ABANDONAR EL MODELO RELACIONAL QUE
SUELE CONTENER VALORES ATMICOS)
PERMITE ALMACENAR PROCEDIMIENTOS EN LAS
RELACIONES
ES SOPORTADA POR LA MAYORA DE MBD EN EL
MERCADO
HERENCIA DE TIPOS
ORACLE
EJEMPLOS
SQL
CREATE TYPE PERSONA AS OBJECT CREATE TYPE person_type AS (
( PRIVATE date_of_birth DATE
NOMBRE VARCHAR2(30), PUBLIC name VARCHAR(15) NOT
TELEFONO VARCHAR2(20)
NULL,
);
address VARCHAR(50)
CREATE TYPE LINEAPED AS OBJECT
NOT NULL,
(
tel_no VARCHAR(13) NOT NULL,
NOM ARTICULO VARCHAR2(30),
FUNCTION get_year_of_birth (P
CANTIDAD NUMBER,
PRECIO UNIDAD NUMBER(12,2)
person_type)
);
RETURNS INTEGER
CREATE TYPE LINEAPED TABLA AS TABLE OF LINEAPED;
YEAR(date_of_birth)
CREATE TYPE PEDIDO AS OBJECT RETURN END)
( NOT FINAL;
ID NUMBER,
CONTACTO PERSONA,
LINEASPED LINEAPED TABLA,
MEMBER FUNCTION OBTENER VALOR RETURN NUMBER
);
EJEMPLO
CREATE TYPE UBICACION AS OBJECT(
NUM EDIFICIO NUMBER,
CIUDAD VARCHAR2(30)
);
CREATE TYPE PERSONA AS OBJECT(
ID NUMBER,
NOMBRE VARCHAR2(30),
DIRECCION VARCHAR2(30),
OFICINA UBICACION
);
CREATE TABLE EMPLEADOS OF PERSONA(
ID PRIMARY KEY
);

Potrebbero piacerti anche