Вы находитесь на странице: 1из 29

Diseo e Implementacin de Bases de Datos

MODELO ORIENTADO A OBJETOS

Leccin # 9
26 de abril de 2013

Lic. Hairol Romero Sand

Nuevas Aplicaciones de las BD


Las primeras bases de datos surgieron del desarrollo de los sistemas de gestin de archivos. Estas evolucionaron a bases de datos de red o en bases de datos jerrquicas y luego en bases de datos relacionales. Entre las caractersticas de estas viejas aplicaciones estn: Uniformidad: Existe un gran nmero de datos estructurados de manera similar, todos del mismo tamao (en bytes). Orientacin en registros: Los datos bsicos constan de registros de longitud fija. Datos pequeos: Todos los registros son cortos. Tienen 80 bytes o menos reflejando el tamao de tarjetas perforadas. Campos atmicos: Los campos de un registro son cortos y de longitud fija. No hay una estructura en los campos.

26 de abril de 2013

Nuevas Aplicaciones de las BD...


Caractersticas:
Transacciones cortas: Las transacciones son programas con un tiempo de ejecucin medido en fracciones de segundo. No hay interaccin humana con la transaccin durante su ejecucin. El usuario prepara una transaccin, la somete a ejecucin y espera la respuesta. Esquemas de concepto esttico: El esquema de la base de datos slo se cambia con muy poca frecuencia. Cuando se cambia los cambios permitidos son sencillos. En un sistema relacional, las nicas modificaciones permitidas son crear relaciones, eliminar relaciones, aadir atributos, eliminar atributos.

26 de abril de 2013

Las Nuevas Aplicaciones incluyen...


Diseo asistido por computador(Computer-aided(CAD)): Una base de datos CAD almacena datos pertenecientes a un diseo de ingeniera, incluyendo los componentes del dato que se est diseando, la relacin de los componentes y las versiones antiguas de los diseos. Ingeniera de software asistida por computador(Computer-aided software engineering(CASE)): Una base de datos CASE almacena los datos requeridos para asistir a los que desarrollan el software. Estos datos incluyen cdigo fuente, dependencias entre mdulos software, definiciones y usos de variables y la historia del desarrollo del software.

26 de abril de 2013

Las Nuevas Aplicaciones incluyen...


Bases de datos de multimedios: Contiene datos salpicados, datos de audio, video y otros similares. Las bases de datos de este tipo derivan de datos geofsicos, sistemas de correo por voz y aplicaciones grficas. Sistemas de informacin de oficina(Office information systems(OIS)): La ofirmtica incluye herramientas basadas en estaciones de trabajo para creacin y recuperacin de documentos, herramientas para mantener calendarios con citas, etc.Una base de datos OIS debe permitir consultas que pertenezcan a planificaciones, documentos y contenidos de documentos. Sistemas expertos de bases datos: Incluye reglas explcitas que representan las restricciones de integridad, disparadores y otros conocimientos acerca de la empresa que est modelando la base de datos.

26 de abril de 2013

Nuevos Modelos
Estas nuevas aplicaciones requieren nuevos modelos de datos, nuevos lenguajes de consulta y nuevos modelos de transacciones. Entre los requisitos encontramos: Objetos complejos: Un objeto complejo es un dato que es visto como un simple objeto en el mundo real, pero que contiene otros objetos. El modelo de objetos orientada a objetos, las cuales estn basadas en los conceptos de lenguajes de programacin orientados a objetos y las bases de datos relacionales anidadas, en las que las relaciones pueden almacenarse dentro de otras relaciones.

Datos de comportamiento: Puede que diferentes objetos necesiten responder de diferentes formas a la misma orden. Por ejemplo, la eliminacin de ciertas tuplas puede requerir la eliminacin de otras tuplas, como en el caso de entidades dbiles.

26 de abril de 2013

Nuevos Modelos...
Meta conocimiento: A menudo los datos ms importantes sobre aplicaciones son reglas generales acerca de la aplicacin ms que de las tuplas especficas. Las reglas forman una parte importante de los sistemas expertos de bases de datos. Transacciones de larga duracin: Las aplicaciones CAD y CASE implican interaccin humana con los datos. Debido a que las transacciones implican interaccin humana con el sistema, las consecuencias de abortos de transacciones, esperas por bloqueo, etc., son mucho ms serias que en las transacciones no interactivas cortas.

26 de abril de 2013

Estructura de Objetos
El modelo orientado a objetos se basa en encapsular cdigo y datos en una

nica unidad, llamada objeto. El interfaz entre un objeto y el resto del sistema
se define mediante un conjunto de mensajes. Un objeto tiene asociado: Un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto. Un conjunto de mensajes a los que el objeto responde. Un mtodo, que es un trozo de cdigo para implementar cada mensaje. Un mtodo devuelve un valor como respuesta al mensaje.

26 de abril de 2013

Jerarqua de Clases
Los objetos similares, o sea que responden a los mismos mensajes y utilizan los mismos mtodos, se agrupan en clases. A cada uno de estos objetos se le

llama instancia de su clase.


Un objeto clase incluye: Una variable con valores en un conjunto cuyo valor es el conjunto de todos los objetos que son instancias de la clase. Implementacin de un mtodo para el nuevo mensaje, el cual crea una nueva instancia de la clase.

26 de abril de 2013

Jerarqua de Clases...
Ejemplo:
Persona: nmero-seguridad-social, nombre, direccin, nmero-telfono-particular, fecha-de-nacimiento. Cliente: tasa-crdito, estado-retencin-impuestos, nmero-telfono-trabajo. Empleado: fecha-de-contrato, salario, nmero-de-dependientes. Cajero: horas-por-semana, nmero-estacin. Secretara: horas-por-semana, supervisor.

26 de abril de 2013

Jerarqua de Clases...
Ejemplo:

Superclase
Persona Subclase Empleado Cliente

Director

Cajero

Secretara

26 de abril de 2013

Jerarqua de Clases...
El objeto que representa a un director contiene las variables de las clases

Director, Empleado y Persona. Esto se refiere a la herencia de las


propiedades de una clase ms general. Los mtodos se heredan de manera idntica a la herencia de la variables. Las especializaciones de una clase se denominan subclases. Cada clase es ella misma un objeto y este objeto incluye una variable que

contiene el conjunto de todas las instancias de la clase. En la jerarqua hay dos


posibles formas de asociar objetos a clases: Asociar a la clase Empleado todos los objetos empleado, incluyendo aquellos que son instancias de Director, Cajero y Secretara. Asociar a la clase Empleado solamente aquellos objetos de empleado que no sean instancias de Director, ni de Cajero, ni de Secretara.

26 de abril de 2013

Herencia Mltiple
Tomando el ejemplo anterior, supngase que queremos distinguir entre cajeros y secretarias a tiempo completo y a tiempo partido. Creamos las subclases Cajero-tiempo-partido, Cajero-tiempo-completo, Secretara-tiempo-partido, Secretara-tiempo-completo.

26 de abril de 2013

Herencia Mltiple
Jerarqua resultante Persona

Empleado

Cliente

Director

Cajero

Secretara

Cajero a Tiempo Cajero a Tiempo Completo Partido

Secretara a Tiempo Completo

Secretara a Tiempo Partido

26 de abril de 2013

Herencia Mltiple...
El modelo no proporciona un buen modelo de la empresa bancaria por varias razones:
Las variables y los mtodos para los empleados a tiempo completo y partido estan definidas dos veces. Este tipo de redundancia no es deseable, ya que cada cambio de propiedades debe hacerse en dos sitios, lo que puede conducir a inconsistencias.
La jerarqua no tiene forma de representar a empleados que no sean cajeros ni secretarias.

El concepto de herencia mltiple trata este tipo de problemas. La herencia mltiple se refiere a la capacidad de las clases para heredar variables y

mtodos de mltiples superclases.


Utilizando herencia mltiple para el ejemplo anterior, entonces definimos dos clases Tiempo-completo y Tiempo-partido.

26 de abril de 2013

Herencia Mltiple...
La Jerarqua quedara as... Empleado Tiempo Completo Tiempo Partido Persona Cliente

Cajero Secretara

Director

Cajero a Tiempo Completo

Cajero a Tiempo Partido

Secretara a Tiempo Completo

Secretara a Tiempo Partido

26 de abril de 2013

Herencia Mltiple...
Cuando se emplea la herencia mltiple es posible que se d ambigedad en el caso en que pueda heredarse la misma variable o mtodo de ms de una superclase. Esto sera, por ejemplo, las clases Tiempo-completo, Tiempo-partido y Secretara tengan una variable llamada pago. Para solucionar este problema estaran las siguientes opciones: Incluir las variables y renombrarlas, por ejemplo a Tiempo-partido.pago, Secretara.pago. Elegir una u otra basndose en el orden en el que se crearon las clases. Obligar al usuario a que haga la eleccin en el momento en que se define la clase.

26 de abril de 2013

Identidad de Objetos
Los objetos en una base de datos orientada a objetos corresponden a una entidad. Una entidad conserva su identidad aun cuando algunas de sus propiedades cambien con el tiempo. Igualmente, un objeto conserva su identidad aun cuando algunos de sus valores de las variables o las definiciones de los mtodos cambien. La identidad de objeto es una nocin ms fuerte que la que se encuentra normalmente en los lenguajes de programacin. A continuacin varias formas de identidad.

26 de abril de 2013

Identidad de Objetos...
Formas de Identidad:
Valor: Se utiliza un valor de dato por identidad. Esta es la forma de identidad que se usa en los sistemas relacionales.

Nombre: Se utiliza un nombre por identidad. Esta es la forma de identidad que se usa para las variables en los procedimientos. A cada variable se le da un nombre nico.
Incorporacin: Una nocin de identidad es incorporar en el modelo de datos el lenguaje de programacin, y no se requiere que el usuario proporcione el identificador. Esta es la forma de identidad que se usa en los sistemas orientados a objetos.

26 de abril de 2013

Permanencia
Un tema ligado a la identidad es la permanencia. A continuacin varios grados de permanencia de identidad.

Grados de Permanencia:
Intraprograma: La identidad permanece solamente durante la ejecucin de un nico programa o consulta. Interprograma: La identidad permanece de una ejecucin del programa a otra. Persistente: La identidad permanece no slo entre las ejecuciones del programa sino tambin entre las reorganizaciones estructurales de los datos.

26 de abril de 2013

Punteros
Los punteros de la memoria principal o de la memoria virtual ofrecen identidad de intraprograma. Los punteros a datos de un sistema de archivos en disco ofrecen identidad de interprograma. La identidad de objetos, la persistente, es una nocin ms fuerte que la que proporcionan los punteros.

26 de abril de 2013

Contenido de Objetos
Una jerarqua de contenido entre objetos sera as. Un objeto O2 es hijo de un objeto O1 si O1 contiene a O2. Los objetos que contienen objetos se

denominan objetos complejos o compuestos. El valor de una variable de un


objeto es ella misma un objeto.

Ejemplo:
Se tiene la base de datos simplificada de diseo de sistemas de computadores. Esta contiene una clase llama Sistema de computadores la cual incluye las variables tarjeta, bus, dispositivo y conjunto-inst.

Sistema de Computadores Tarjeta


26 de abril de 2013

Bus

Dispositivo

Conjunto-inst.

Organizacin Fsica
Para construir una estructura fsica fcil de mantener, comnmente los

objetos se representan as:


Determinadas clases se tratan como clases bsicas. Las clases bsicas corresponden a tipos de datos de lenguajes de programacin estndar, tales como entero, flotante, carcter y cadena. Las instancias de clases que no son bsica se representan as:
Las variables se representan por campos de un tipo de registro. Cada campo contiene el valor del objeto para instancias de las clases bsicas, o bien el identificador del objeto para instancias de las clases que no sean bsicas. Las variables con un conjunto de valores se representan por una lista enlazada de los objetos que son miembros del conjunto.

26 de abril de 2013

Organizacin Fsica...
Los tipos de datos altamente especializados que son grandes fsicamente y

que se manipulan mediante programas de aplicacin que no son parte del


conjunto de mtodos con las clases, son los siguientes: Datos de texto: El texto se trata como una cadena de bytes que manipulan los editores y formateadores. Datos de audio: Son una representacin comprimida digitalizada del habla que manejan aplicaciones software separadas. Datos de vdeo y grficos: Los datos de vdeo pueden representarse como un mapa de bytes o como un conjunto de lneas, cajas, y otros objetos geomtricos. Se utilizan aplicaciones de software especiales para manipular este tipo de datos.

26 de abril de 2013

Consultas Orientadas a Objetos


Un lenguaje de consultas para un sistema de base de datos orientado a objetos debe incluir tanto el modelo de pasar el mensaje de conjunto en conjunto. La mezcla del proceso con los dos modelos conduce a serias complicaciones en el diseo del lenguaje, a menudo conocido como impedancia desajustada.

26 de abril de 2013

Modificacin de Esquemas
Los tipos de modificacin que pueden hacerse en un esquema de base de

datos relacional son simples:


Crear o quitar una relacin. Aadir o eliminar atributos de un esquema de relaciones.

La complicacin se deriva de dos fuentes


Cambios complejos: Las modificaciones que se pueden hacer en un esquema orientado a objetos son ms complejos que los que pueden hacerse en un esquema de base de datos relacional.

Cambios frecuentes: Las aplicaciones que motivan el uso del modelo orientado a objetos requieren cambios de esquema frecuentes.

26 de abril de 2013

Tipos de Modificaciones
Adicin de una nueva clase: La nueva clase debe colocaarse en la jerarqua de clase/subclase y deben resolverse los problemas de herencia. Si la nueva clase no es un nodo hoja en la jerarqua, puede que las subclases de la nueva clase necesita heredar variables o mtodos de la nueva clase.

Eliminacin de una clase: Las variables o mtodos que heredan las subclases se debe volver a examinar. Cualquier cambio en una subclase puede que necesite propagarse a las subclases. Las instancias de las clases eliminadas deben hacerse instancias de otra clase, generalmente un padre de la clase eliminada.
Modificacin de una definicin de clase: Puede definirse una nueva/variable o mtodo o puede eliminarse una definicin de una variable o un mtodo. Resposicin de clases en la jerarqua: Toda reestructuracin de la jerarqua de clases tiene consecuencias en la herencia de las antiguas y nuevas subclases de la clase reposicionada.

26 de abril de 2013

Tcnicas para reducir el tiempo extra de la modificacin


Modificacin en el acceso: Cuando se accede a un objeto, su estructura se compara con definicin de su clase en ese momento. Todos los cambios necesarios se hacen antes de que el objeto est disponible. Como resultado, el gasto extra de la modificacin de esquema se reparte entre las accesos a los objetos. Versiones de los esquemas: En vez de que se modifique un objeto para que se ajuste a la definicin actual de su clase, las versiones antiguas de la definicin de clase se conservan para acceder a los datos antiguos. El mantenimiento de mltiples versiones supone espacio extra. Esto tambin complica la codificacin de los mtodos debido a la necesidad de manejar mltiples versiones de la definicin de clase.

26 de abril de 2013

Muchas gracias por su atencin

26 de abril de 2013

Вам также может понравиться