Sunteți pe pagina 1din 19

2013

UT RIVIERA MAYA

ANAMAS MARTNEZ
MARTNEZ

BASE DE DATOS
ORIENTADAS A
OBJETOS

Contenido
CONCEPTO DE BDOO ................................................................................................................... 2
ESTRUCTURA DE LAS DBOO ................................................................................................. 2
MTODOS ..................................................................................................................................... 6
PERSISTENCIA ......................................................................................................................... 10
HERENCIA .................................................................................................................................. 11
JERARQUA DE CLASES O TIPOS ....................................................................................... 14
TCNICAS DE DISEO DE BDOO ........................................................................................ 16
BIBLIOGRAFA ........................................................................................................................... 18














CONCEPTO DE BDOO

UN SGBDOO ES UN SGBD QUE SOPORTA UN MODELO BASADO EN EL
PARADIGMA ORIENTADO A OBJETOS: ALMACENA OBJETOS Y SU
ESQUEMA (PERSISTENCIA). LENGUAJE PARA DEFINICIN Y
MANIPULACIN. POR SER GESTOR: INCLUYE MECANISMOS PARA
OPTIMIZAR EL ACCESO (INDEXACIN Y CLUSTERING), EL CONTROL DE
CONCURRENCIA, SEGURIDAD Y GESTIN DE USUARIOS,
FACILIDAD DE CONSULTA Y RECUPERACIN ANTE FALLOS. POR SER OO:
TIENE CARACTERSTICAS DE IDENTIDAD, ENCAPSULACIN, HERENCIA,
POLIMORFISMO Y CONTROL DE TIPOS.

LAS BASES DE DATOS ORIENTADAS A OBJETOS SURGEN BSICAMENTE
PARA TRATAR DE PALIAR LAS DEFICIENCIAS DE LOS MODELOS
ANTERIORES Y PARA PROPORCIONAR EFICIENCIA Y SENCILLEZ A LAS
APLICACIONES.

EN UN BDOO LOS DATOS SE ALMACENAN COMO OBJETOS. UN OBJETO EN
BDOO COMO EN POO ES UNA ENTIDAD IDENTIFICABLE UNVOCAMENTE
QUE DESCRIBE TANTO EL ESTADO COMO EL COMPORTAMIENTO DE UNA
ENTIDAD DEL MUNDO REAL. EL ESTADO DE UN OBJETO ES DESCRITO
MEDIANTE ATRIBUTOS MIENTRAS QUE SU COMPORTAMIENTO ES
DEFINIDO MEDIANTE MTODOS.

ESTRUCTURA DE LAS DBOO

LOS CARACTERSTICAS ASOCIADAS A LAS BDOO SON:

OBJETOS: CADA ENTIDAD DEL MUNDO REAL SE MODELA COMO UN
OBJETO.
LA FORMA DE IDENTIFICAR OBJETOS ES MEDIANTE UN
IDENTIFICADOR DE OBJETOS (OID, OBJECT IDENTIFIER), NICO
PARA CADA OBJETO. GENERALMENTE ESTE IDENTIFICADOR NO ES
ACCESIBLE NI MODIFICABLE PARA EL USUARIO (MODO DE
AUMENTAR LA INTEGRIDAD DE ENTIDADES Y LA INTEGRIDAD
REFERENCIAL). LOS OID SON INDEPENDIENTES DEL CONTENIDO.
ES DECIR, SI UN OBJETO CAMBIA LOS VALORES DE ATRIBUTOS,
SIGUE SIENDO EL MISMO OBJETO CON EL MISMO OID. SI DOS
OBJETOS TIENEN EL MISMO ESTADO PERO DIFERENTES OID, SON
EQUIVALENTES PERO TIENEN IDENTIDADES DIFERENTES.
ENCAPSULAMIENTO: CADA OBJETO CONTIENE Y DEFINE
PROCEDIMIENTOS (MTODOS) Y LA INTERFAZ MEDIANTE LA CUAL
SE PUEDE ACCEDER A L Y OTROS OBJETOS PUEDEN
MANIPULARLO. LA MAYORA DE LOS SGBDOO PERMITE EL ACCESO
DIRECTO A LOS ATRIBUTOS INCLUYENDO OPERACIONES DEFINIDAS
POR EL PROPIO SGBDOO LAS CUALES LEEN Y MODIFICAN LOS
ATRIBUTOS PARA EVITAR QUE EL USUARIO TENGA QUE
IMPLEMENTAR UNA CANTIDAD CONSIDERABLE DE MTODOS CUYO
NICO PROPSITO SEA EL DE LEER Y ESCRIBIR LOS ATRIBUTOS DE
UN OBJETO. GENERALMENTE, LOS SGBDOO PERMITEN AL USUARIO
ESPECIFICAR QU ATRIBUTOS Y MTODOS SON VISIBLES EN LA
INTERFAZ DEL OBJETO Y PUEDEN INVOCARSE DESDE AFUERA.


MANIFIESTO MALCOLM ATKINSON: CARACTERSTICAS DE UN BDOO
EN 1989 SE HIZO EL MANIFIESTO DE LOS SISTEMAS DE BASE DE
DATOS ORIENTADOS A OBJETOS EL CUAL PROPUSO TRECE
CARACTERSTICAS OBLIGATORIAS PARA UN SGBDOO Y CUATRO
OPCIONALES. LAS TRECE CARACTERSTICAS OBLIGATORIAS ESTABAN
BASADAS EN DOS CRITERIOS: DEBA TRATARSE DE UN SISTEMA
ORIENTADO A OBJETOS Y UN SGBD.

CARACTERSTICAS OBLIGATORIAS DE ORIENTACIN A OBJETOS:

1) DEBEN SOPORTARSE OBJETOS COMPLEJOS
2) DEBEN SOPORTARSE MECANISMOS DE IDENTIDAD DE LOS
OBJETOS
3) DEBE SOPORTARSE LA ENCAPSULACIN
4) DEBEN SOPORTARSE LOS TIPOS O CLASES
5) LOS TIPOS O CLASES DEBEN SER CAPACES DE HEREDAR DE SUS
ANCESTROS
6) DEBE SOPORTARSE EL ENLACE DINMICO
7) EL DML DEBE SER COMPUTACIONALMENTE COMPLEJO
8) EL CONJUNTO DE TODOS LOS TIPOS DE DATOS DEBE SER
AMPLIABLE

CARACTERSTICAS OBLIGATORIAS DE SGBD:

9) DEBE PROPORCIONARSE PERSISTENCIA A LOS DATOS
10) EL SGBD DEBE SER CAPAZ DE GESTIONAR BASES DE DATOS DE
MUY GRAN TAMAO
11) EL SGBD DEBE SOPORTAR A USUARIOS CONCURRENTES
12) EL SGBD DEBE SER CAPAZ DE RECUPERARSE DE FALLOS
HARDWARE Y SOFTWARE
13) EL SGBD DEBE PROPORCIONAR UNA FORMA SIMPLE DE
CONSULTAR LOS DATOS.

CARACTERSTICAS OPCIONALES:

1. HERENCIA MLTIPLE
2. COMPROBACIN DE TIPOS E INFERENCIA DE TIPOS
3. SISTEMA DE BASE DE DATOS DISTRIBUIDO.
4. SOPORTE DE VERSIONES



ODMG: EL ESTNDAR DE FACTO PARA MODELOS DE OBJETOS

ODMG ES UN GRUPO DE REPRESENTANTES DE LA INDUSTRIA DE
BASES DE DATOS EL CUAL FUE CONCEBIDO EN EL VERANO DE 1991 CON
EL OBJETIVO DE DEFINIR ESTNDARES PARA LOS SGBDOO. UNO DE SUS
ESTNDARES, EL CUAL LLEVA EL MISMO NOMBRE DEL GRUPO (ODMG),
ES EL DEL MODELO PARA LA SEMNTICA DE LOS OBJETOS DE UNA BASE
DE DATOS. EL MODELO DE OBJETOS ODMG ES UN SUPERCONJUNTO DEL
MODELO DE OBJETOS DE OMG, QUE PERMITE PORTAR TANTO LOS
DISEOS COMO LAS IMPLEMENTACIONES ENTRE DIVERSOS SISTEMAS
COMPATIBLES.

LA LTIMA VERSIN DEL ESTNDAR, ODMG 3.0, PROPONE LOS
SIGUIENTES COMPONENTES PRINCIPALES DE LA ARQUITECTURA ODMG
PARA UN SGBDOO:

MODELO DE OBJETOS
LENGUAJE DE DEFINICIN DE OBJETOS (ODL, OBJECT DEFINITION
LANGUAGE)
LENGUAJE DE CONSULTA DE OBJETOS (OQL, OBJECT QUERY
LANGUAGE)
CONEXIN CON LOS LENGUAJES C++, SMALLTALK Y JAVA (AL
MENOS)

EL MODELO DE OBJETOS ODMG PERMITE QUE TANTO LOS DISEOS
COMO LAS IMPLEMENTACIONES, SEAN PORTABLES ENTRE LOS
SISTEMAS QUE LO SOPORTAN.

ODL ES UN LENGUAJE PARA DEFINIR LA ESPECIFICACIN DE LOS
TIPOS DE OBJETOS PARA SISTEMAS COMPATIBLES CON ODMG. ODL
ES EL EQUIVALENTE DE DDL (DATA DEFINITION LANGUAJE O
LENGUAJE DE DEFINICIN DE DATOS) DE LOS SGBD TRADICIONALES.
DEFINE LOS ATRIBUTOS Y LAS RELACIONES ENTRE TIPOS Y
ESPECIFICA LA SIGNATURA DE LAS OPERACIONES. SU PRINCIPAL
OBJETIVO ES EL DE FACILITAR LA PORTABILIDAD DE LOS ESQUEMAS
ENTRE SISTEMAS COMPATIBLES AL MISMO TIEMPO QUE
PROPORCIONA INTEROPERABILIDAD ENTRE DISTINTOS SGBD. LA
SINTAXIS DE ODL EXTIENDE EL LENGUAJE DE DEFINICIN DE
INTERFACES (IDL) DE LA ARQUITECTURA CORBA (COMMON OBJECT
REQUEST BROKER ARCHITECTURE).
OQL ES UN LENGUAJE DECLARATIVO DEL TIPO DE SQL QUE PERMITE
REALIZAR CONSULTAS SOBRE BASES DE DATOS ORIENTADAS A
OBJETOS, INCLUYENDO PRIMITIVAS DE ALTO NIVEL PARA CONJUNTOS
DE OBJETOS Y ESTRUCTURAS. EST BASADO EN SQL-92,
PROPORCIONANDO UN SUPERCONJUNTO DE LA SENTENCIA SELECT.
OQL NO POSEE PRIMITIVAS PARA MODIFICAR EL ESTADO DE LOS
OBJETOS, YA QUE STAS SE DEBEN REALIZAR A TRAVS DE LOS
MTODOS QUE DICHOS OBJETOS POSEEN. LA SINTAXIS BSICA DE
OQL ES UNA ESTRUCTURA SELECT...FROM...WHERE..., COMO EN SQL.

MTODOS

LOS MTODOS SON FUNCIONES O PROCEDIMIENTOS QUE SE PUEDEN
DECLARAR EN LA DEFINICIN DE UN TIPO DE OBJETO PARA
IMPLEMENTAR EL COMPORTAMIENTO QUE SE DESEA PARA DICHO TIPO
DE OBJETO. LAS APLICACIONES LLAMAN A LOS MTODOS PARA INVOCAR
SU COMPORTAMIENTO. PARA ELLO SE UTILIZA TAMBIN LA NOTACIN
PUNTO: OBJETO.METODO(LISTA PARAM). AUNQUE UN MTODO NO TENGA
PARMETROS, ORACLE OBLIGA A UTILIZAR LOS PARNTESIS EN LAS
LLAMADAS OBJETO.METODO().

LOS MTODOS ESCRITOS EN PL/SQL O EN JAVA, SE ALMACENAN EN LA
BASE DE DATOS. LOS MTODOS ESCRITOS EN OTROS LENGUAJES SE
ALMACENAN EXTERNAMENTE.

HAY DOS CLASES DE MTODOS: MIEMBROS Y ESTTICOS. HAY OTRO
TERCER TIPO, LOS MTODOS CONSTRUCTORES, QUE EL PROPIO
SISTEMA DEFINE PARA CADA TIPO DE OBJETO.

LOS MTODOS MIEMBRO SON LOS QUE SE UTILIZAN PARA GANAR
ACCESO A LOS DATOS DE UNA INSTANCIA DE UN OBJETO. SE DEBE
DEFINIR UN MTODO PARA CADA OPERACIN QUE SE DESEA QUE HAGA
EL TIPO DE OBJETO. ESTOS MTODOS TIENEN UN PARMETRO
DENOMINADO SELF QUE DENOTA A LA INSTANCIA DEL OBJETO SOBRE LA
QUE SE ESTA INVOCANDO EL MTODO. LOS MTODOS MIEMBRO PUEDEN
HACER REFERENCIA A LOS ATRIBUTOS Y A LOS MTODOS DE SELF SIN
NECESIDAD DE UTILIZAR EL CUALIFICADOR.

CREATE TYPE racional AS OBJECT
(
num INTEGER,
den INTEGER,
MEMBER PROCEDURE normaliza,
...
);
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 lnea anterior
num := num / g;
den := den / g;
END normaliza;
...
END;

SELF NO NECESITA DECLARARSE, AUNQUE SE PUEDE DECLARAR. SI NO
SE DECLARA, EN LAS FUNCIONES SE PASA COMO IN Y EN LOS
PROCEDIMIENTOS SE PASA COMO IN OUT.

MTODOS DE COMPARACIN (MTODO MAP Y MTODO ORDER)

LOS VALORES DE LOS TIPOS DE DATOS ESCALARES SIGUEN UN ORDEN
Y, POR LO TANTO, SE PUEDEN COMPARAR. SIN EMBARGO, CON LOS
TIPOS DE OBJETOS, QUE PUEDEN TENER MLTIPLES ATRIBUTOS DE
DISTINTOS TIPOS, NO HAY UN CRITERIO PREDEFINIDO DE COMPARACIN.
PARA PODER COMPARAR OBJETOS SE DEBE ESTABLECER ESTE
CRITERIO MEDIANTE MTODOS DE MAPEO O MTODOS DE ORDEN.

UN MTODO DE MAPEO (MAP) PERMITE COMPARAR OBJETOS MAPEANDO
INSTANCIAS DE OBJETOS CON TIPOS ESCALARES DATE, NUMBER,
VARCHAR2 O CUALQUIER TIPO ANSI SQL COMO CHARACTER O REAL. UN
MTODO DE MAPEO ES UNA FUNCIN SIN PARMETROS QUE DEVUELVE
UNO DE LOS TIPOS ANTERIORES. SI UN TIPO DE OBJETO DEFINE UNO DE
ESTOS MTODOS, EL MTODO SE LLAMA AUTOMTICAMENTE PARA
EVALUAR COMPARACIONES DEL TIPO OBJ1 > OBJ2 Y PARA EVALUAR LAS
COMPARACIONES QUE IMPLICAN DISTINCT, GROUP BY Y ORDER BY.

CREATE TYPE rectangulo AS OBJECT (
alto NUMBER,
ancho NUMBER,
MAP MEMBER FUNCTION area RETURN NUMBER,
...
);
CREATE TYPE BODY rectangulo AS
MAP MEMBER FUNCTION area RETURN NUMBER IS
BEGIN
RETURN alto*ancho;
END area;
...
END;

LOS MTODOS DE ORDEN ORDER HACEN COMPARACIONES DIRECTAS
OBJETOOBJETO. SON FUNCIONES CON UN PARMETRO DECLARADO
PARA OTRO OBJETO DEL MISMO TIPO. EL MTODO SE DEBE ESCRIBIR
PARA QUE DEVUELVA UN NUMERO NEGATIVO, CERO O UN NUMERO
POSITIVO, LO QUE SIGNIFICA QUE EL OBJETO SELF ES MENOR QUE,
IGUAL O MAYOR QUE EL OTRO OBJETO QUE SE PASA COMO PARMETRO.

LOS MTODOS DE ORDEN SE UTILIZAN CUANDO EL CRITERIO DE
COMPARACIN ES MUY COMPLEJO COMO PARA IMPLEMENTARLO CON
UN MTODO DE MAPEO. UN TIPO DE OBJETO PUEDE DECLARAR SOLO UN
MTODO DE MAPEO O SOLO UN MTODO DE ORDEN, DE MANERA QUE
CUANDO SE COMPARAN DOS OBJETOS, SE LLAMA AUTOMTICAMENTE AL
MTODO QUE SE HAYA DEFINIDO, SEA DE UNO U OTRO TIPO.

LOS MTODOS ESTTICOS SON LOS QUE PUEDEN SER INVOCADOS POR
EL TIPO DE OBJETO Y NO POR SUS INSTANCIAS. ESTOS MTODOS SE
UTILIZAN PARA OPERACIONES QUE SON GLOBALES AL TIPO Y QUE NO
NECESITAN REFERENCIAR DATOS DE UNA INSTANCIA CONCRETA. LOS
MTODOS ESTTICOS NO TIENEN EL PARMETRO SELF. PARA INVOCAR
ESTOS MTODOS SE UTILIZA LA NOTACIN PUNTO SOBRE EL TIPO DEL
OBJETO: TIPO OBJETO.METODO()


CONSTRUCTORES: CADA TIPO DE OBJETO TIENE UN MTODO
CONSTRUCTOR IMPLCITO DEFINIDO POR EL SISTEMA. ESTE MTODO
CREA UN NUEVO OBJETO (UNA INSTANCIA DEL TIPO) Y PONE VALORES
EN SUS ATRIBUTOS. EL MTODO CONSTRUCTOR ES UNA FUNCIN Y
DEVUELVE EL NUEVO OBJETO COMO SU VALOR. EL NOMBRE DEL
MTODO CONSTRUCTOR ES PRECISAMENTE EL NOMBRE DEL TIPO DE
OBJETO. SUS PARMETROS TIENEN LOS NOMBRES Y LOS TIPOS DE LOS
ATRIBUTOS DEL TIPO.

CREATE TABLE departamento (
num dept VARCHAR2(5) PRIMARY KEY,
nombre dept VARCHAR2(20),
despacho ubicacion
);
INSERT INTO departamento
VALUES ( '233', 'Ventas', ubicacion(200,'Borriol') );

PERSISTENCIA

LA PERSISTENCIA SE REFIERE A LA CAPACIDAD DE MANIPULAR
DIRECTAMENTE LOS DATOS ALMACENADOS EN UNA BASE DE DATOS
USANDO UN LENGUAJE DE PROGRAMACIN ORIENTADO A OBJETOS.
ESTO CONTRASTA CON UNA BASE DE DATOS UTILIZADA POR SQL O UNA
INTERFAZ UTILIZADA POR ODBC O JDBC. UTILIZANDO UN OBJETO DE
BASE DE DATOS SIGNIFICA QUE SE PUEDE TENER UN MAYOR
RENDIMIENTO Y SE AMINORA LA ESCRITURA DE CDIGO. CON LA
PERSISTENCIA LA MANIPULACIN DE OBJETOS SE REALIZA
DIRECTAMENTE POR EL LENGUAJE DE PROGRAMACIN DE LA MISMA
MANERA QUE EN LA MEMORIA, SIN PERSISTENCIA DE OBJETOS. ESTO SE
LOGRA MEDIANTE EL USO INTELIGENTE DE ALMACENAMIENTO EN CACH.

HERENCIA

LA VERSIN 9I ES LA PRIMERA VERSIN DE ORACLE QUE SOPORTA
HERENCIA DE TIPOS. CUANDO SE CREA UN SUBTIPO A PARTIR DE UN
TIPO, EL SUBTIPO HEREDA TODOS LOS ATRIBUTOS Y LOS MTODOS DEL
TIPO PADRE. CUALQUIER CAMBIO EN LOS ATRIBUTOS O MTODOS DEL
TIPO PADRE SE REFLEJAN AUTOMTICAMENTE EN EL SUBTIPO. UN
SUBTIPO SE CONVIERTE EN UNA VERSIN ESPECIALIZADA DEL TIPO
PADRE CUANDO AL SUBTIPO SE LE AADEN ATRIBUTOS O MTODOS, O
CUANDO SE REDEFINEN MTODOS QUE HA HEREDADO, DE MODO QUE EL
SUBTIPO EJECUTA EL MTODO A SU MANERA. A ESTO ES A LO QUE SE
DENOMINA POLIMORFISMO YA QUE DEPENDIENDO DEL TIPO DEL OBJETO
SOBRE EL QUE SE INVOCA EL MTODO, SE EJECUTA UNO U OTRO
CDIGO. CADA TIPO PUEDE HEREDAR DE UN SOLO TIPO, NO DE VARIOS A
LA VEZ (NO SOPORTA HERENCIA MLTIPLE), PERO SE PUEDEN
CONSTRUIR JERARQUAS DE TIPOS Y SUBTIPOS.

CUANDO SE DEFINE UN TIPO O CLASE DE OBJETO, SE DETERMINA SI DE
EL SE PUEDEN DERIVAR SUBTIPOS MEDIANTE LA CLAUSULA NOT FINAL.
SI NO SE INCLUYE ESTA CLAUSULA, SE CONSIDERA QUE ES FINAL (NO
PUEDE TENER SUBTIPOS). DEL MISMO MODO, LOS MTODOS PUEDEN
SER FINAL O NOT FINAL. SI UN MTODO ES FINAL, LOS SUBTIPOS NO
PUEDEN REDEFINIRLO (OVERRIDE) CON UNA NUEVA IMPLEMENTACIN.
POR DEFECTO, LOS MTODOS SON NO FINALES (ES DECIR,
REDEFINIDLES).

CREATE TYPE t AS OBJECT ( ...,
MEMBER PROCEDURE imprime(),
FINAL MEMBER FUNCTION fun(x NUMBER) ...
) NOT FINAL;
Para crear un subtipo se utiliza la clusula UNDER.
CREATE TYPE estudiante UNDER persona ( ...,
titulacion VARCHAR2(30),
fecha ingreso DATE
) NOT FINAL;


EL NUEVO TIPO, ADEMS DE HEREDAR LOS ATRIBUTOS Y MTODOS DEL
TIPO PADRE, DEFINE DOS NUEVOS ATRIBUTOS. A PARTIR DEL SUBTIPO
SE PUEDEN DERIVAR OTROS SUBTIPOS Y DEL TIPO PADRE TAMBIN SE
PUEDEN DERIVAR MS SUBTIPOS. PARA REDEFINIR UN MTODO, SE
DEBE UTILIZAR LA CLAUSULA OVERRIDING.

LOS TIPOS Y LOS MTODOS SE PUEDEN DECLARAR COMO NO
INSTANCIABLES. SI UN TIPO ES NO
INSTANCIABLE, NO TIENE MTODO CONSTRUCTOR, POR LO QUE NO SE
PUEDEN CREAR INSTANCIAS A PARTIR DE EL. UN MTODO NO
INSTANCIABLE SE UTILIZA CUANDO NO SE LE VA A DAR UNA
IMPLEMENTACIN EN EL TIPO EN EL QUE SE DECLARA SINO QUE CADA
SUBTIPO VA A PROPORCIONAR UNA IMPLEMENTACIN DISTINTA.

CREATE TYPE t AS OBJECT (
x NUMBER,
NOT INSTANTIABLE MEMBER FUNCTION fun() RETURN NUMBER
) NOT INSTANTIABLE NOT FINAL;

UN TIPO PUEDE DEFINIR VARIOS MTODOS CON EL MISMO NOMBRE
PERO CON DISTINTA SIGNATURA.
LA SIGNATURA ES LA COMBINACIN DEL NOMBRE DE UN MTODO, EL
NUMERO DE PARMETROS, LOS TIPOS DE ESTOS Y EL ORDEN FORMAL.
A ESTO SE LE DENOMINA SOBRECARGA DE MTODOS (OVERLOADING).

LOS TIPOS Y LOS MTODOS SE PUEDEN DECLARAR COMO NO
INSTANCIABLES. SI UN TIPO ES NO
INSTANCIABLE, NO TIENE MTODO CONSTRUCTOR, POR LO QUE NO SE
PUEDEN CREAR INSTANCIAS A PARTIR
DE EL. UN MTODO NO INSTANCIABLE SE UTILIZA CUANDO NO SE LE VA
A DAR UNA IMPLEMENTACIN
EN EL TIPO EN EL QUE SE DECLARA SINO QUE CADA SUBTIPO VA A
PROPORCIONAR UNA IMPLEMENTACIN
DISTINTA.

CREATE TYPE t AS OBJECT (
x NUMBER,
NOT INSTANTIABLE MEMBER FUNCTION fun() RETURN NUMBER
) NOT INSTANTIABLE NOT FINAL;



UN TIPO PUEDE DEFINIR VARIOS MTODOS CON EL MISMO NOMBRE
PERO CON DISTINTA SIGNATURA.
LA SIGNATURA ES LA COMBINACIN DEL NOMBRE DE UN MTODO, EL
NUMERO DE PARMETROS, LOS TIPOS
DE ESTOS Y EL ORDEN FORMAL. A ESTO SE LE DENOMINA SOBRECARGA
DE MTODOS (OVERLOADING).



Jerarqua de herencia de las interfaces predefinidas del modelo de objetos :




JERARQUA DE CLASES O TIPOS

EN UNA JERARQUA DE TIPOS, LOS SUBTIPOS SON VARIANTES DE LA
RAZ. POR EJEMPLO, EL TIPO ESTUDIANTE Y EL TIPO EMPLEADO SON
CLASES DE PERSONA. NORMALMENTE, CUANDO SE TRABAJA CON
JERARQUAS, A VECES SE QUIERE TRABAJAR A UN NIVEL MS GENERAL
(POR EJEMPLO, SELECCIONAR O ACTUALIZAR TODAS LAS PERSONAS) Y A
VECES SE QUIERE TRABAJAR SOLO SON LOS ESTUDIANTES O SOLO CON
LOS QUE NO SON ESTUDIANTES. LA HABILIDAD DE PODER SELECCIONAR
TODAS LAS PERSONAS JUNTAS, PERTENEZCAN O NO A ALGN SUBTIPO,
ES LO QUE SE DENOMINA SUSTITUIBILIDAD. UN SUPERTIPO ES
SUSTITUIBLE SI UNO DE SUS SUBTIPOS PUEDE SUSTITUIRLO EN UNA
VARIABLE, COLUMNA, ETC. DECLARADA DEL TIPO DEL SUPERTIPO. EN
GENERAL, LOS TIPOS SON SUSTITUIBLES.

UN ATRIBUTO DEFINIDO COMO REF MITIPO PUEDE CONTENER UNA REF A
UNA INSTANCIA DE MITIPO O A UNA INSTANCIA DE CUALQUIER SUBTIPO
DE MITIPO. UN ATRIBUTO DEFINIDO DE TIPO MITIPO PUEDE CONTENER
UNA INSTANCIA DE MITIPO O UNA INSTANCIA DE CUALQUIER SUBTIPO DE
MITIPO. UNA COLECCIN DE ELEMENTOS DE TIPO MITIPO PUEDE
CONTENER INSTANCIAS DE MITIPO O INSTANCIAS DE CUALQUIER
SUBTIPO DE MITIPO.

Dado el tipo libro:
CREATE TYPE libro AS OBJECT (
titulo VARCHAR2(30),
autor persona );

SE PUEDE CREAR UNA INSTANCIA DE LIBRO ESPECIFICANDO UN TITULO Y
UN AUTOR DE TIPO PERSONA O DE CUALQUIERA DE SUS SUBTIPOS,
ESTUDIANTE O EMPLEADO: LIBRO('BD OBJETO-RELACIONALES',
ESTUDIANTE(123,'MARA GIL','C/MAYOR,3','II','10-OCT-99')

A CONTINUACIN SE MUESTRA UN EJEMPLO DE LA SUSTITUIBILIDAD EN
LAS TABLAS DE OBJETOS.

CREATE TYPE persona AS OBJECT
(id NUMBER,
nombre VARCHAR2(30),
direccion VARCHAR2(30)) NOT FINAL;
CREATE TYPE estudiante UNDER persona
(titulacion VARCHAR2(10),
especialidad VARCHAR2(30)) NOT FINAL;
CREATE TYPE estudiante doctorado UNDER estudiante
(programa VARCHAR2(10));
CREATE TABLE personas tab OF persona;
INSERT INTO personas tab
VALUES (persona(1234,'Ana','C/Mayor,23'));
INSERT INTO personas tab
VALUES (estudiante(2345,'Jose','C/Paz,3','ITDI','Mecanica'));
INSERT INTO personas tab
VALUES (estudiante doctorado(3456,'Luisa','C/Mar,45','IInf',NULL,'CAA'));


TCNICAS DE DISEO DE BDOO

DEL MISMO MODO QUE EN LAS BASES DE DATOS RELACIONALES ES EL
DISEADOR DE LA BASE DE DATOS EL QUE DEBE ESPECIFICAR LAS
REGLAS DE INTEGRIDAD REFERENCIAL, EN LAS BASES DE DATOS
ORIENTADAS A OBJETOS ES TAMBIN EL DISEADOR EL QUE DEBE
ESPECIFICAR LAS RELACIONES INVERSAS CUANDO CREA EL ESQUEMA
DE LA BASE DE DATOS.

UML

EXISTEN DISTINTAS NOTACIONES O MODELOS PARA DISEAR ESQUEMAS
CONCEPTUALES DE BASES DE DATOS ORIENTADAS A OBJETOS: LA
NOTACIN DE COAD/YOURDON, LA SHLAER/MELLOR, LA OMT
(ROMBAUGH) O LA DE BOOCH. CADA MODELO PRESENTA DISTINTAS
DEFICIENCIAS, POR LO QUE ALGUNOS DE SUS AUTORES HAN
DESARROLLADO CONJUNTAMENTE UN LENGUAJE, DENOMINADO UML
(UNIFIED MODELING LANGUAGE), QUE LAS EVITA.

LA NOTACIN UML (NO HAY QUE CONFUNDIR CON LAS METODOLOGAS
QUE UTILIZAN DICHA NOTACION), SE HA CONVERTIDO DESDE FINALES DE
LOS 90 EN UN ESTANDAR PARA MODELAR CON TECNOLOGIA
ORIENTADA A OBJETOS TODOS AQUELLOS ELEMENTOS QUE
CONFIGURAN LA ARQUITECTURA DE UN SISTEMA DE INFORMACION Y,
POR EXTENSION, DE LOS PROCESOS DE NEGOCIO DE UNA
ORGANIZACION. DE LA MISMA MANERA QUE LOS PLANOS DE UN
ARQUITECTO DISPONEN EL ESQUEMA DIRECTOR A PARTIR DEL CUAL
LEVANTAMOS UN EDIFICIO, LOS DIAGRAMAS UML SUMINISTRAN UN
MODELO DE REFERENCIA PARA FORMALIZAR LOS PROCESOS, REGLAS
DE NEGOCIO, OBJETOS Y COMPONENTES DE UNA ORGANIZACION

MODELO ODMG
EL MODELO DE OBJETOS ODMG PERMITE QUE TANTO LOS DISENOS,
COMO LAS IMPLEMENTACIONES,SEAN PORTABLES ENTRE LOS SISTEMAS
QUE LO SOPORTAN. DISPONE DE LAS SIGUIENTES PRIMITIVAS DE
MODELADO: LOS COMPONENTES BASICOS DE UNA BASE DE DATOS
ORIENTADA A OBJETOS SON LOS OBJETOS Y LOS LITERALES. UN OBJETO
ES UNA INSTANCIA AUTOCONTENIDA DE UNA ENTIDAD DE INTERES DEL
MUNDO REAL. LOS OBJETOS TIENEN ALGN TIPO DE IDENTIFICADOR
UNICO. UN LITERAL ES UN VALOR ESPECIFICO, COMO AMPARO O 36.
LOS LITERALES NO TIENEN IDENTIFICADORES. UN LITERAL NO TIENE QUE
SER NECESARIAMENTE UN SOLO VALOR, PUEDE SER UNA ESTRUCTURA
O UN CONJUNTO DE VALORES RELACIONADOS QUE SE GUARDAN BAJO
UN SOLO NOMBRE.

LOS OBJETOS Y LOS LITERALES SE CATEGORIZAN EN TIPOS. CADA TIPO
TIENE UN DOMINIO ESPECIFICO COMPARTIDO POR TODOS LOS OBJETOS
Y LITERALES DE ESE TIPO. LOS TIPOS TAMBIN PUEDEN TENER
COMPORTAMIENTOS. CUANDO UN TIPO TIENE COMPORTAMIENTOS,
TODOS LOS OBJETOS DE ESE TIPO COMPARTEN LOS MISMOS
COMPORTAMIENTOS. EN EL SENTIDO PRACTICO, UN TIPO PUEDE SER
UNA CLASE DE LA QUE SE CREA UN OBJETO, UNA INTERFACE O UN TIPO
DE DATOS PARA UN LITERAL (POR EJEMPLO, INTEGER). UN OBJETO SE
PUEDE PENSAR COMO UNA INSTANCIA DE UN TIPO. LO QUE UN OBJETO
SABE HACER SON SUS OPERACIONES. CADA OPERACION PUEDE
REQUERIR DATOS DE ENTRADA (PARMETROS DE ENTRADA) Y PUEDE
DEVOLVER ALGN VALOR DE UN TIPO CONOCIDO.

LOS OBJETOS TIENEN PROPIEDADES, QUE INCLUYEN SUS ATRIBUTOS Y
LAS RELACIONES QUE TIENEN CON OTROS OBJETOS. EL ESTADO ACTUAL
DE UN OBJETO VIENE DADO POR LOS VALORES ACTUALES DE SUS
PROPIEDADES.
UNA BASE DE DATOS ES UN CONJUNTO DE OBJETOS ALMACENADOS QUE
SE GESTIONAN DE MODO QUE PUEDAN SER ACCEDIDOS POR MLTIPLES
USUARIOS Y APLICACIONES. LA DEFINICION DE UNA BASE DE DATOS
ESTA CONTENIDA EN UN ESQUEMA QUE SE HA CREADO MEDIANTE EL
LENGUAJE DE DEFINICION DE OBJETOS ODL (OBJECT DEFINITION
LANGUAGE) QUE ES EL LENGUAJE DE MANEJO DE DATOS QUE SE HA
DEFINIDO COMO PARTE DEL ESTANDAR PROPUESTO PARA LAS BASES
DE DATOS ORIENTADAS A OBJETOS.


BIBLIOGRAFA

http://es.slideshare.net/Maryeugene/base-de-datos-orientados-a-objetos-1831193
https://iessanvicente.com/colaboraciones/bdOO.pdf
http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf

S-ar putea să vă placă și