BDOO

22
BASE DE DATOS ORIENTADAS A OBJETOS 2013 UT RIVIERA MAYA ANAMÍAS MARTÍNEZ MARTÍNEZ

Transcript of BDOO

2013UT RIVIERA MAYAANAMAS MARTNEZ MARTNEZ

BASE DE DATOS ORIENTADAS A OBJETOS

ContenidoCONCEPTO DE BDOO2ESTRUCTURA DE LAS DBOO2MTODOS6PERSISTENCIA10HERENCIA11JERARQUA DE CLASES O TIPOS14TCNICAS DE DISEO DE BDOO16BIBLIOGRAFA18

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 ASMEMBER PROCEDURE normaliza ISg INTEGER;BEGINg := gcd(SELF.num, SELF.den);g := gcd(num, den); -- equivale a la lnea anteriornum := 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 ASMAP MEMBER FUNCTION area RETURN NUMBER ISBEGINRETURN 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 departamentoVALUES ( '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 NOINSTANCIABLE, 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 NOINSTANCIABLE, NO TIENE MTODO CONSTRUCTOR, POR LO QUE NO SE PUEDEN CREAR INSTANCIAS A PARTIRDE EL. UN MTODO NO INSTANCIABLE SE UTILIZA CUANDO NO SE LE VA A DAR UNA IMPLEMENTACINEN EL TIPO EN EL QUE SE DECLARA SINO QUE CADA SUBTIPO VA A PROPORCIONAR UNA IMPLEMENTACINDISTINTA.

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 TIPOSDE 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 tabVALUES (persona(1234,'Ana','C/Mayor,23'));INSERT INTO personas tabVALUES (estudiante(2345,'Jose','C/Paz,3','ITDI','Mecanica'));INSERT INTO personas tabVALUES (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 ODMGEL 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-1831193https://iessanvicente.com/colaboraciones/bdOO.pdfhttp://www3.uji.es/~mmarques/e16/teoria/cap2.pdf