Vous êtes sur la page 1sur 17

Bases de Datos Corporativas

Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo

BASE DE DATOS ORIENTADAS A OBJETOS


Ing. Luis Armando Garca Eliseo lgarciae@uat.edu.mx Introduccin El modelo de datos orientado a objetos est basado en el paradigma de la programacin orientada a objetos. El lenguaje Simula 67 introdujo por primera vez este enfoque a la programacin, este lenguaje se dise para la programacin de simulaciones. Ms recientemente, los lenguajes C++ y SmallTalk han llegado a ser los lenguajes de programacin orientados a objetos ms ampliamente conocidos. 1.1 Nuevas Aplicaciones de las Bases de Datos

El propsito de los sistemas de bases de datos es la gestin de grandes cantidades de informacin. Las primeras bases de datos surgieron del desarrollo de los sistemas de gestin de archivos. Estos sistemas primero evolucionaron en bases de datos de red o en bases de datos jerrquicas y, ms tarde, en bases de datos relacionales. Entre las caractersticas comunes de estas viejas aplicaciones estn: Uniformidad. Existe un gran nmero de datos estructurados de manera similar, todos del mismo tamao (en bytes). Orientada en registros. Los datos bsicos constan de registros de longitud fija. Datos pequeos. Todos los registros son cortos. A menudo los registros tienen 80 bytes o menos, reflejando el tamao de las tarjetas perforadas, como era lo

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo normal en la dcada de los aos de los sesenta. A lo sumo, los registros tienen unos pocos cientos de bytes. Campos atmicos. Los campos de un registro son cortos y de longitud fija. No hay una estructura en los campos. Entre otras palabras se cumple la primera forma normal. 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, la somete a ejecucin y espera la respuesta. Esquemas de concepto esttico. El esquema de la base de datos solo se cambia con muy poca frecuencia. Cuando se cambia, los tipos de cambio permitidos son sencillos. En un sistema relacional, las nicas modificaciones de esquema permitidas normalmente son crear relaciones, eliminar relaciones, aadir atributos en un esquema de relaciones y eliminar atributos en un esquema de relaciones. -> Lunes 26 de Enero 2009 Sin embargo, en aos recientes, la tecnologa de bases de datos se ha adaptado a aplicaciones fuera del mbito del procesamiento de datos que, en general, les falta al menos una de las caractersticas anteriores. Estas nuevas aplicaciones incluyen: Diseo Asistido por Computador (Computer Aided Design (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, as como la historia del desarrollo del sistema software. Base de datos Multimedios. Una base de datos de multimedios contiene datos salpicados, datos de audio, datos de video, y similares. Las bases de datos de este tipo derivan de datos geofsicos, sistema de correo por voz y aplicaciones graficas.

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo Sistemas de Informacin de Oficina. (Office Information Systems (OIS)). La informtica incluye herramientas basadas en estaciones de trabajo para creacin y recuperacin de documentos, herramientas para mantener calendarios con citas, etctera. Una base de datos OIS debe permitir consultas que pertenezcan a planificaciones, documentos y contenidos de documentos. Sistemas Expertos de Bases de Datos. Un sistema experto de base de datos, adems de datos, incluye reglas explicitas que representan las restricciones de integridad, disparadores y otros conocimientos acerca de la empresa que est modelando la base de datos. Estas nuevas aplicaciones de las bases de datos no se consideraron en la dcada de los setenta, que fue cuando se disearon la mayor parte de los sistemas de bases de datos actuales. En la actualidad son practicas debido al aumento en el tamao de la memoria principal disponible, la velocidad de las unidades centrales de procesamiento, la reduccin del coste del hardware y la mejora en el entendimiento de la regin de la base de datos que se ha logrado en los ltimos aos.-> Martes 27 de Enero 2009 Estas nuevas aplicaciones requieren nuevos modelos de datos, nuevos lenguajes de consulta y nuevos modelos de transacciones. Entre los requisitos de estas nuevas aplicaciones estn: Objetos complejos. Un objeto es un dato que es visto como un simple objeto en el mundo real, pero que contiene otros objetos. Estos objetos pueden tener una estructura interna compleja arbitraria. A menudo los objetos estn estructurados jerrquicamente, representando la relacin entre ellos. El modelo de objetos complejos ha llevado al desarrollo de las bases de datos orientada a objetos, las cuales estn basadas en los conceptos de los lenguajes de programacin orientada a objetos y a las bases de datos relacionales anidadas. En las que las relaciones pueden almacenarse dentro de otras relaciones. Datos de comportamiento. Puede que distintos objetos necesiten responder de diferentes formas a la misma orden. Por ejemplo, la eliminacin de ciertas

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo tuplas pueden requerir la eliminacin de otras tuplas, como en el caso de las entidades dbiles. En las aplicaciones CAD y CASE el comportamiento de distintos objetos en respuesta a una orden dada puede ser muy diferente. Esta informacin sobre el comportamiento puede capturarse almacenando cdigo ejecutable con objetos en la base de datos. Los mtodos de los sistemas de bases de datos orientado a objetos y la regla base de los sistemas basados en comportamientos proporcionan esta capacidad. Meta Conocimiento. A menudo los datos ms importantes sobre aplicaciones son reglas generales acerca de la aplicacin ms que de las tuplas especficas. Ejemplo de este tipo, sera: Todas las cuentas de cheques pagan el 5% de inters si el saldo es mayor de 1000; en caso contrario, no pagan inters. Hechos de este tipo no pueden representarse fcilmente mediante reglas en base de datos lgicas. 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. Algunas de estas interacciones pueden ser modificaciones que si el usuario desea puede deshacer. Los esfuerzos del diseo concurrente que implican varios diseadores pueden conducir a conflictos entre transacciones. Debido a que estas transacciones implican interaccin humana con el sistema, las consecuencias de abortos de transacciones, esperas por bloqueos, etc., son mucho ms serias que en las transacciones no interactivas cortas comnmente usadas en las aplicaciones tipo negocios. Martes 3 de Febrero 1.2 Estructuras de Objetos.

El modelo orientado a objetos se basa en encapsular cdigo y datos en una nica entidad, llamada objeto. La interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. El motivo de este enfoque puede ilustrarse considerando una base de datos de documentos en la que los documentos se preparan usando uno entre varios paquetes de software con formateador de texto. Para imprimir un documento debe

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo ejecutarse el formateador correcto en el documento. Bajo un enfoque orientado a objetos, cada documento es un objeto que contiene el texto de un documento y el cdigo que opera sobre el objeto. Todos los objetos del documento responden al mensaje de imprimir pero lo hacen en formas diferentes. Cada documento responde ejecutando el cdigo de formatear adecuado. Encapsulando dentro del objeto del documento la informacin acerca de cmo imprimir el documento, podemos tener todos los documentos con el mismo interfaz externo al usuario.

En general, 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. El termino de mensaje en un contexto orientado a objetos no implica el uso de un mensaje fsico en una red de computadoras, sino que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles especficos de implementacin. Puesto que el nico interfaz externo que presenta un objeto es el conjunto de mensajes al que responde, es posible modificar la definicin de mtodos y variables sin afectar otros objetos. Tambin es posible sustituir una variable por un mtodo que calcule un valor. Por ejemplo, un objeto de documento puede contener una variable de tamao que contenga el numero de bytes de texto en el documento o bien un mtodo de tamao que calcule el tamao del documento leyendo el documento y contando el numero de bytes. La capacidad de modificar la definicin de un objeto sin afectar al resto del sistema est considerada como una de las mayores ventajas del modelo de programacin orientado a objetos.

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo

1.3

Jerarqua de Clases

Normalmente en una base de dato existen muchos objetos similares. Por similar queremos decir que responden a los mismos mensajes, utilizan los mismos mtodos y tienen variables del mismo nombre y tipo. Sera un trabajo intil definir cada uno de estos objetos por separado. Por tanto, agrupamos los objetos similares para que formen una clase. A cada uno de estos objetos se les llama instancias de su clase. Todos los objetos de una clase comparten una definicin comn. Aunque difieran en los valores asignados a las variables. Ejemplo de clases en las bases de datos del banco son los clientes, las cuentas y los prstamos. El concepto de clases es similar al concepto de tipos abstractos de datos. Sin embargo, en el concepto de clase existen varios aspectos adicionales ms all de los de los tipos abstractos de datos. Para representar estas propiedades adicionales, tratamos cada clase como si fuera un objeto. Un objeto clase incluye: Una variable con valores es 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. Un esquema de base de datos orientada a objetos normalmente requiere un gran numero de clases. Sin embargo, a menudo se da el caso de que varias clases son similares. Por ejemplo, supngase que tenemos una base orientada a objetos para la aplicacin bancaria. Sera de esperar que la clase de cliente del banco fuera similar a la clase de empleados del banco en la definicin de variables de nombre, direccin, nmero de telfono, etc. Sin embargo existen variables especificas para los empleados (por ejemplo tasa-credito). Sera deseable definir una representacin para las variables comunes en un sitio. Esto puede hacerse slo si los empleados y los clientes estn combinados en una clase.

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo Para permitir la representacin directa de similaridades entre clases necesitamos colocar clases en una jerarqua de especializacin como la que se defini en el modelo de datos Entidad - Relacin. Los empleados y los clientes pueden representarse por clases que son especializaciones de una clase Persona. Las variables y los mtodos especficos de los empleados se asocian a la clase Empleado. Las variables y los mtodos especficos de los clientes se asocian a la clase Cliente. Las variables y los mtodos que se aplican tanto a los empleados como a los clientes se asocian a la clase Persona. La siguiente figura muestra una jerarqua de clases que representan personas implicadas en la operacin del ejemplo bancario. Las variables asociadas a cada clase del ejemplo son: Persona: Cliente: trabajo. Empleado: fecha-de-contrato, salario, numero-de-dependientes. Director: titulo, numero-despacho, numero-cuenta-de-gastos Persona numero-seguridad-social, tasa-de-credito, nombre, direccin, numero-telefono-

particular, fecha-de-nacimiento. estado-retencion-impuestos, numero-de-telefono-

Empleado Cliente

Director

Cajero

Secretaria

Por brevedad no presentamos los mtodos asociados a estas clases, aunque estaran incluidos en la definicin completa de la base de datos bancaria.

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo Un objeto que representa a un director contiene todas las variables de la clase Director, Empleado y Persona. Esto se refiere a la herencia de las propiedades de una clase mas general. Los mtodos se heredan de manera idntica a la herencia de las variables. Las especializaciones de una clase se denominan subclases. As, por ejemplo, Empleado es una subclase de Persona; Cajero es una subclase de Empleado. A la inversa, Empleado es una superclase de Cajero y Persona es una superclase de Empleado. Anteriormente observamos que cada clase es ella misma un objeto y que ese objeto incluye una variable que contiene el conjunto de todas las instancias de la clase. Es fcil determinar qu objetos estn asociados a clases en las hojas de jerarqua. Por ejemplo, asociamos a la clase Cliente, el conjunto de todos los clientes del banco. Sin embargo, para las clases que no son hojas, la cuestin es ms complicada. En la figura anterior hay dos posibles formas de asociar objetos a clases. Podramos asociar a la clase Empleado todos los objetos de empleado, Podramos asociar a la clase Empleado solamente aquellos objetos de

incluyendo aquellos que sean instancias de Director, Cajero y Secretaria. empleado que no sean instancias de Director, ni de Cajero, ni de Secretaria. Normalmente, en sistemas orientados a objetos se elige la ltima forma. Es posible determinar el conjunto de todos los objetos de empleado en este caso tomando la unin de aquellos objetos asociados a todas las clases en el subrbol con raz en Empleado. Como observamos anteriormente, la jerarqua de clase/subclase es similar al concepto de especializacin en el modelo entidad relacin. Decimos que Cajero es una especializacin de Empleado porque el conjunto de todos los cajeros es un subconjunto de todos los empleados. Es decir, cada cajero es un empleado.

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo La especializacin permite la posibilidad de que un empleado no sea un cajero, una secretaria, ni un director. Una forma alternativa de la relacin es el concepto de generalizacin. En el modelo entidad - relacin, la generalizacin es el resultado de tomar la unin de dos o mas conjunto de entidades (de nivel bajo) para producir un conjunto de entidades de nivel alto. Si aplicamos el concepto de generalizacin al modelo orientado a objetos, cada objeto debe ser una instancia de una clase hoja en la jerarqua. Esto requerira la definicin de una subclase de Empleado llamada Otro-Empleado para representar empleados que no fueran cajeros, secretarias ni directores. En la mayora de los sistemas orientados a objetos suelen tener implcita la especializacin en vez de la generalizacin. As, en lo que sigue, supondremos que la jerarqua de clase/subclase est basada en la especializacin.

1.4

Herencia Mltiple

En la mayora de los casos, una organizacin jerrquica de clases es la adecuada para describir aplicaciones. En tales casos, todas las superclases de una clase son antepasados de otra en la jerarqua. Sin embargo, existen situaciones que no pueden representarse bien en una jerarqua de clases. Supngase que queremos distinguir entre cajeros y secretarias a tiempo completo y a tiempos partidos en el ejemplo de la figura ya mencionada. Adems supngase que necesitamos variables y mtodos diferentes para representar estos dos tipos de empleados. Podemos crear las subclases: Cajero-tiempo-patido, Cajero-tiempocompleto, Secretaria-tiempo-partido, Secretaria-tiempo-completo. La jerarqua resultante que se muestra a continuacin no proporciona un buen modelo de la empresa bancaria por varias razones: Persona

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo

Empleado Cliente

Director

Cajero

Secretaria

Cajero a tiempo Cajero a tiempoSecretaria a Tiempo Partido completo Completo Como observamos anteriormente, existen ciertas

Secretaria a Tiempo Partido variables y mtodos

especficos de los empleados a tiempo completos y otros especficos de los de tiempo partido. En la figura anterior las variables y los mtodos para los empleados a tiempo completo deben estar definidas dos veces, una para Secretaria-tiempo-completo y otra para Cajero-tiempo-completo. Para los empleados a tiempo partidos existe una redundancia parecida. Esta redundancia no es deseable, ya que cada cambio de las propiedades de los empleados a tiempo completo o partido debe hacerse en dos sitios, lo que puede conducir a inconsistencias. La jerarqua no tiene forma de representar empleados que no sean cajeros ni secretarias, a menos que la ampliemos de manera que incluya las clases Empleado-tiempo-completo y empleados-tiempo-partido. Si tuviramos varias clasificaciones de trabajo en vez de las dos de este ejemplo sencillo, las limitaciones del modelo llegaran a ser ms aparentes. El concepto de Herencia Mltiple trata los problemas que acabamos de observar en el modelo orientado a objetos; este concepto de refiere a la capacidad de las clases para superclases. La relacin Persona clase/subclase se representa por un grafo con raz aciclica dirigido (DAG) en el que una clase puede tener ms de una superclase. Volvamos al ejemplo bancario. Utilizando un DAG podemos definir propiedades de empleo a tiempo completo y a Empleado Cajero a tiempo Cajero a tiempoSecretaria a completo partido Tiempo completo Director Cajero Secretaria Cliente Secretaria a 10 Tiempo partido heredar variables y mtodos de mltiples

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo tiempo partido en un sitio. Como se muestra en la siguiente figura. Definimos una clase Tiempo-partido que define aquellas variables y mtodos especficos del tiempo partido y una clase Tiempo-completo que define aquellas Persona empleo a

variables y mtodos especficos del empleo a tiempo completo.

Empleado Cliente

Director

Cajero

Secretaria

Cajero a tiempo Cajero a tiempoSecretaria a completo Partido Tiempo Completo

Secretaria a Tiempo Partido

Utilizando DAG en la figura mencionada, podemos representar los empleados a tiempo completo y a tiempo partido que no son cajeros ni secretarias como instancias de las clases Tiempo-completo y Tiempo-partido, respectivamente. 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. En el ejemplo bancario, supngase que en vez de definir salario para la clase Empleado, definimos una variable pago para cada una de las clases completo, Tiempo-partido, Cajero y Secretaria como sigue: Tiempo-completo: pago es un entero de 0 a 100 000 que contiene el salario anual. Tiempo-partido: pago es un entero de 0 a 20 que contiene una fraccin de pago por hora. Cajero: pago es un entero de 0 a 20 000 que contiene el salario anual. Secretaria: pago es un entero entre 0 a 25 000 que contiene el salario anual. Tiempo-

11

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo

Considrese la clase Secretaria-tiempo-partido. Podra heredar la definicin de pago de Tiempo-partido o de Secretaria. El resultado es diferente, dependiendo de la eleccin que se haga. Entre las opciones que pueden elegir las diversas implementaciones del modelo orientado a objetos estn las siguientes: Incluir las dos variables, renombrarlas como Tiempo-partido.pago y Secretaria.pago. Elegir una u otra basndose en el orden en el que se crearon las clases Tiempopartido y Secretaria. Obligar al usuario a que haga la eleccin en el momento en que se define la clase secretaria-tiempo-partido. No se ha aceptado ninguna solucin simple como la mejor. Cabe mencionar que no todos los casos de herencia mltiple conducen a ambigedad. Si en vez de definir pago, conservamos la definicin de la variable salario en la clase empleado, y no la definicin de la variable salario en la clase Empleado, y no la definicin en ningn otro sitio, entonces las clases Tiempo-partido, Tiempo-completo, Secretaria Tiempopartido, Tiempo-completo, Secretaria y Cajero heredan todas salario de Empleado. Puesto que las cuatro clases comparten la misma definicin de salario, no resulta ninguna ambigedad cuando la Secretaria-tiempo-partido, Seecretaria-tiempocompleto, etc., heredan salario.

1.5

Identidad de objetos

Los objetos en una base de datos orientada a objetos, normalmente corresponden a una entidad de la empresa que est modelando la base de datos. Una entidad conserva su identidad aun cuando algunas de sus propiedades cambien con el tiempo. Igualmente, un objeto conserva su identidad aun cuando algunos o todos los valores de las variables o las definiciones de los mtodos cambien con el tiempo. Este concepto de identidad no se aplica a las tuplas de una base de datos

12

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo relacional. En los sistemas relacionales, las tuplas de una relacin se distinguen nicamente por los valores que contienen. La identidad del objeto es una nocin mas fuerte que la que se encuentra normalmente en los lenguajes de programacin o en los modelos de datos que no estn basados en la orientacin a objetos. A continuacin ilustramos varias 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 facilitado por el usuario por identidad. Esta es la forma de identidad que normalmente se usa para las variables en los procedimientos. A cada variable se le da un nombre que identifica de manera nica a la variable sin importar el valor que contenga. Incorporacin Una nocin de identidad es incorporar en el modelo de datos el lenguaje de programacin, y no se requiere que el usuario proporcione ningn indentificador. Esta es la forma de identidad que se usa en los sistemas orientados a objetos. Un tema relacionado con el tipo de identidad es la permanencia de identidad. Una forma sencilla de lograr incorporar la identidad es por medio de punteros a localizaciones en memoria. Sin embargo, la asociacin de un objeto a una localizacin fsica en memoria puede cambiar con el tiempo. A continuacin listamos varios grados de permanencia de identidad. Intraprograma. La identidad permanece solamente durante la ejecucin de un nico programa o consulta. Ejemplo de identidad de interprograma son los nombres de la variable en los lenguajes de programacin y los identificadores de tuplas en SQL. Interprograma. La identidad permanece de una ejecucin del programa a otra. Ejemplos de identidad de interprograma son los nombres de relaciones en un lenguaje de consulta relacional del tipo del SQL. Persistente. La identidad permanente no slo entre las operaciones del programa sino tambin entre las reorganizaciones estructurales de los datos.

13

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo Las relaciones en SQL no tienen identidad persistente, ya que una

reorganizacin de la base de datos puede resultar en un nuevo esquema de bases de datos con relaciones con nuevos nombres. La forma persistente de identidad es la que se requiere en los sistemas orientados a objetos. Estas formas de identidad sirven para distinguir entre identidad en sistemas orientados a objetos y punteros en organizacin fsica de datos. Los punteros de la memoria principal o de la memoria virtual solamente ofrecen identidad de Intraprograma. Los punteros a datos de un sistema de archivos en disco solamente ofrecen identidad de interprograma. As, la identidad de objetos es decir, la identidad persistente es una nocin ms fuerte que la que proporcionan los punteros. 1.6 Contenido de Objetos

Anteriormente observamos que el valor de una variable de un objeto es ella misma un objeto. Esto crea una jerarqua de contenido entre los objetos. Un objeto O2 es el hijo de un objeto O1 y si O1 contiene O2; es decir, O2 es el valor de una variable de O1. Los objetos que contienen otros objetos se denominan objetos compuestos. Para ilustrar el contenido considrese la base de datos simplificada de diseo de sistemas de computadoras de la siguiente figura. La base de datos contiene informacin en varios sistemas de computadoras. Cada sistema de computadoras contiene un conjunto de tarjetas, un conjunto de buses, un conjunto de dispositivos y un conjunto de chips y los buses proporcionan un conjunto de interfaces. Sistema de computadoras complejos o

Tarjeta

Bus

Dispositivo

Conjunto Instrucciones

Chips

Interfaces

14

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo

La jerarqua de la figura muestra la relacin de contenido entre los objetos de una forma esquemtica listando los nombres de las clases en vez de los objetos individuales. Considrese la clase Sistema-computadores. Puede incluir las variables nombre-computador, id-proyecto, gestor, fecha-terminacin, las cuales contienen datos descriptivos acerca de una instancia de la clase. Aunque los valores de estas variables se consideran objetos, son instancias de tipos de datos estndar (como cadenas de caracteres) que se han implementado directamente a un nivel bajo por razones de rendimiento. La clase Sistema-computadores tambin incluyen las variables tarjeta, bus, dispositivo y conjunto-instrucciones. Estas variables toman como valores conjuntos de objetos de las clases Tarjeta, Bus, Dispositivo y Conjunto-instrucciones, respectivamente. En determinadas aplicaciones, un objeto puede estar contenido en varios objetos. En tales casos, la relacin de contenido se representa por un DAG en vez de mediante una jerarqua. El contenido es un concepto importante en los sistemas orientados a objetos porque permite que distintos usuarios vean los datos en diferentes granualidades.

1.7

Organizacin Fsica

La estructura de las bases de datos orientadas a objetos no presenta la uniformidad de las bases de datos relacionales. Para construir una estructura fcil de mantener, comnmente los objetos se representan as: Determinadas clases se tratan como clases bsicas de bloques que se construyen, que el sistema de computadoras implementa directamente.

15

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo Comnmente, 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 bsicas 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 por 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. La estructura fsica hace que sea posible utilizar registros de longitud fija para implementar una base de datos orientada a objetos, aunque la modificacin del esquema puede complicar esto. No todas las variables encajan convenientemente en la estructura que hemos descrito arriba. Algunas de las aplicaciones que se citaron al inicio de este tema incluyen tipos de datos altamente especializados que son grandes fsicamente y que, por razones practicas, normalmente se manipulan mediante programas de aplicaciones que no son parte del conjunto de mtodos con las clases: Datos de texto. El texto, normalmente se trata como una cadena de bytes que manipulan los editores y los formateadores. Datos de Audio. Comnmente, los datos de audio son una representacin comprimida digitalizada del habla que manejan aplicaciones software separada. Datos de vdeo y grficas. Los datos de vdeo pueden representarse como un mapa de bytes o como un conjunto de lneas, cajas y otros objetos geomtricos. Aunque algunos datos grficos a menudo se gestionan dentro del sistema de base de datos, en muchos casos se utilizan aplicaciones software especiales. Un ejemplo de los ultimo es un diseo VLSI. 1.8 Consultas orientadas a objetos

16

Bases de Datos Corporativas


Unidad I.- Bases de Datos Orientada a Objetos Titular: Luis Armando Garca Eliseo Los lenguajes de programacin orientados a objetos requieren que toda la interaccin con objetos mediante envi de mensajes. Esto presenta serias limitaciones en las aplicaciones de bases de datos. Por tal motivo, debe incluir tanto el modelo de pasar el mensaje de objeto en objeto (un objeto cada vez) como el modelo de pasar el mensaje de conjunto en conjunto (un conjunto cada vez). La mezcla del proceso con los dos modelos conocido como impedancia desajustada. Existen varios lenguajes propuestos. Como actualmente no esta surgiendo estndares claros, no presentamos aqu lenguajes especficos, pero en las notas bibliogrficas se proporcionan algunos.

17

Vous aimerez peut-être aussi