Anda di halaman 1dari 13

Bases de Datos I Unidad VII

BASES DE DATOS I
UNIDAD VII
BASES DE DATOS ORIENTADAS A OBJETOS

7.1 BASES DE DATOS ORIENTADAS A OBJETOS


La programacin orientada a objetos es muy verstil. No se restringe nicamenteal diseo de programas, sino que es posible aplicar los mismo conceptos al diseo de bases de datos. El uso de una tcnica orientada a objetos trasciende a laeleccin de la base de datos. El uso de esta tcnica en el diseo de bases de datos aporta las cualidadesde esta metodologa a nuestro diseo. Eficiencia, coherencia y un menor costea la hora de actualizar la estructura de las bases de datos son los principalesbeneficios que aporta. Como valor aadido, el uso de una misma tcnica en el diseo, tanto de losprogramas como de las bases de datos proporciona coherencia a nuestro sistema.

Las bases de datos orientadas a objetos unen dos tecnologas: La de las bases de datos y la de los lenguajes orientados a objetos. LosLenguajes OOP aportan gran capacidad en la manipulacin de datos, pero noimplementan el almacenamiento y consulta de grandes volmenes de datos. Por el contrario, las bases de datos convencionales aportan un dominio de lastcnicas de almacenamiento y consulta de grandes volmenes de datos, aunque sucapacidad de manipulacin es limitada. Las bases de datos orientadas a objetos pretenden unir la capacidad demanipulacin de datos de los OPP con la capacidad de almacenamiento y consultade los DBMS.

Instituto Tecnolgico de Ciudad.Jurez

98

Bases de Datos I Unidad VII

Las aplicaciones convencionales que agrupan programas y bases de datos, separan ambos entornos de manera clara. El desarrollador y su usa tcnicas en procedurales funciones. para la descomposicin se emplean

deproblemas

codificacin

Posteriormente

tcnicascomo las de Entidad Relacin para el diseo de la base de datos. Su codificacin suele realizarse en un lenguaje de alto nivel como C, quelleva embebido cdigo SQL. El trmino embebido describe la inclusin de un mduloescrito bajo otro lenguaje de programacin dentro del cdigo fuente. Elcompilador incorpora durante la fase de enlace el Run-Time correspondiente paraque pueda funcionar el cdigo embebido.

Como podr observar, esta tcnica presenta defectos evidentes: Por una parte, se utilizan diferentes tcnicas para el desarrollo de ambosapartados, por lo que la tarea de diseo no se puede considerara como un todonico Por otra y en gran medida debida a la primera, los lenguajes que se utilizanpara la implementacin difieren, dificultando las labores de mantenimiento.

Ejemplos Como habr podido observar a lo largo de esta monografa, nuestro propsitono ha siso el de ensear una metodologa ni la enseanza de un determinadolenguaje de programacin. El objetivo es por el contrario dar una panormica de los conceptos de laprogramacin orientada a objetos, de las metodologas y de las tcnicas dedesarrollo de aplicaciones.

Instituto Tecnolgico de Ciudad.Jurez

99

Bases de Datos I Unidad VII

En este apartado nos centraremos en lo aspectos ms importantes en eldesarrollo de aplicaciones bajo OOP: identificacin de objetos y anlisis deasociaciones.

7.1.1 OBJETOS Y ASOCIACIONES. La parte ms importante de todo diseo es el punto de entrada de ladefinicin de requerimientos. En la observacin atenta de los requerimientosse pueden hallar la mayora de los objetos pertenecientes a nuestra aplicacin. En este ejemplo nos centraremos en la identificacin de objetos a partir delos requerimientos bsicos de la aplicacin. Este anlisis es el primero que debe hacerse dentro de OOP y es tambin tilpara cualquier otra tcnica de programacin.

Analicemos la siguiente definicin de requerimientos: El <<sistema de tratamiento de informacin documental>> es ungestor de <<documentos>>, <<ndices>>, reclasificar, peticin. De una manera general hemos indicado entre comillas los sustantivos y encursiva los verbos. De esta forma hemos identificado los objetos principales dela aplicacin y las operaciones asociadas a cada uno de los objetos. Observe el siguiente diagrama. de y tal manera su El que puedan clasificar en la unoo su varios del recuperar para modificacin, visualizar,para consulta,

archivar

destruir.

<<sistema>>procesa

peticin

<<usuario>>, devolviendo un mensaje eindicando el xito o el fracaso de la

Instituto Tecnolgico de Ciudad.Jurez

100

Bases de Datos I Unidad VII

Hemos traducido los requerimientos a un conjunto de objetos. Estos estn inconexos entre s, pero aplicando la <<lgica>>podemos ver las relaciones que existen entre ellos. Sin salirnos de lasespecificaciones de la aplicacin, vemos que existen las asociaciones queaparecen en la siguiente figura:

Instituto Tecnolgico de Ciudad.Jurez

101

Bases de Datos I Unidad VII

Como podemos observar, algunas asociaciones cclicas como Indice <>Documento. Estas asociaciones pueden simplificarse. Tambin existen otras implcitasque examinaremos ms adelante, como Usuario->Documento->Indice. Observemos grficamente las asociaciones que mantienen los objetos entre sen la siguiente figura

Como puede verse hay dos asociaciones sospechosas, ya que no son verbos sinolos sustantivos <<peticin>> y <<mensaje>>. Estas dosasociaciones se pueden <<objetivar>> de tal manera que renan lascondiciones de un objeto. Para ello debemos volver a las especificacionesiniciales. Cuando se archiva un documento se debe indicar el nombre del documento ascomo los ndices a los que se va a asociar. Las peticiones de recuperacindeben incluir un ndice y el nombre del archivo. Las consultas a los ndicesdeben incluir el nombre del indice y una condicin. A partir de este anlisis se puede depurar con HERENCIA y

posteriormenterealizar un <<ajuste fino>>

Instituto Tecnolgico de Ciudad.Jurez

102

Bases de Datos I Unidad VII

7.1.2 LA RELACION DE HERENCIA.


A continuacin vamos a centrarnos en la relacin de herencia. Como ya sabemos sta puede agrupar objeto son similares caracterstica o bien especializar objetos a partir de una genrico. Observemos nuevamente los requerimientos de nuestro sistema:

7.2 Aplicaciones Orientadas a Objetos


Cmo afectan los requerimientos anteriores para la eleccin de un lenguaje orientado a objetos como herramienta para el desarrollo de nuestros programas? Claridad Al ligar de y forma evidente la estructura supone una de la informacin frente a con los

losprocedimientos que la manipulan, los programas ganan en claridad a la hora dedesarrollarlos mantenerlos. Esto ventaja lenguajesprocedurales , aunque stos podran suplir esta deficiencia mediante

Instituto Tecnolgico de Ciudad.Jurez

103

Bases de Datos I Unidad VII

unacorrecta eleccin de los nombres de las variables y funciones, lo que sedenomina una <<oportuna codificacin>>. Complejidad Cuando la complejidad de un problema es abarcable por una sola persona, resolverlo con una herramienta u otra no aporta grandes ventajas. Pero cuandoeste desarrollo la tiene que realizar un equipo grande, debe existir una formapara aislar partes de problema. Uno de los problemas ms comnes, y a su vez ms simples de solucionar enel diseo de grandes sistemas, es el nombre que se da a las funciones y quetipo de datos manipulan stas. En la realizacin de un sistema informtico se utiliza un equipo de variaspersonas. El trabajo se divide en tres reas funcionales: una parte del equipose encarga del interface de usuario, otra de la manipulacin de datos y, la ltimadel diseo de salidas impresas.

Cada quipo utiliza funciones y datos suministrados por los otros miembros delequipo y a su vez disea funciones para su uso interno y para el uso del restode los grupos. Si no se realiza la divisin del trabajo de forma adecuada puedeproducirse el caos. He aqu una pequea enumeracin de los problemas que sepueden encontrar.

Las funciones desarrolladas por cada uno de los grupos no encajan con las necesidades de los dems. Otros grupos han elegido nombres de variables y funciones similares a los elegidos por nuestro grupo. Estas funciones y variables son prcticamente iguales a las desarrolladas por nosotros, pero varan ligeramente en el tratamiento de la informacin, por lo que no podemos sustituir nuestras

Instituto Tecnolgico de Ciudad.Jurez

104

Bases de Datos I Unidad VII

funciones. Ambas deben coexistir aumentando la complejidad del programa de manera innecesaria.

El resto de los grupos slo cubren determinados aspectos de la informacin a tratar, pero no proporcionan toda la informacin necesaria para que el programa funcione. El resto de informacin debe suministrarse suplantando parte de la funcionalidad destinada a otros grupos.

Algunas de las modificaciones que realizamos sobre variables locales o globales producen resultados imprevistos en el resto de los mdulos.

Tamao Las aplicaciones orientadas a objetos son ideales para la realizacin deprogramas de gran tamao. Las facilidades de encapsulacin y asociacin delas funciones a los datos que manipulan, simplifican el proceso de desarrollo.De hecho las bases de datos orientadas a objetos suponen un gran adelanto, yaque anan la flexibilidad en la manipulacin de los OOP con la capacidad deconsulta de un DBMS (Data Base Management System).

Relacin entre Datos Por el mismo motivo se vern beneficiados aquellos programas que impliquenuna relacin compleja entre los datos. Este tipo de complejidad permite lautilizacin de todas las ventajas de los lenguajes de programacin orientadosa objetos. Propiedades como la herencia (donde los objetos pueden heredar estructura y operaciones de objetos predecesores), la encapsulacin, etc.Muestran en este tipo de programas todas sus ventajas. Rapidez En este aspecto, frente los a lenguajes otros orientados que a se objetos acercan muestran ms a una las

claradesventaja

lenguajes

especificacionesde la mquina. Si la rapidez es crtica, puede elegir un lenguaje


Instituto Tecnolgico de Ciudad.Jurez

105

Bases de Datos I Unidad VII

deprogramacin

como

C,

que

aporta

toda

la

funcionalidad

de

los

lenguajesorientados a objetos con la rapidez y la compatibilidad de C.

Gestin de recursos Las aplicaciones orientadas a objetos demandan normalmente ms recursos delsistema que las aplicaciones procedurales. La creacin dinmica de objetos,que ocupa un lugar en la memoria del ordenador, puede acarrear graves problemas.Una de las soluciones, que incluye alguno delos lenguajes OOP, es liberar amenudo el espacio que los objetos dejan de utilizar. Este procedimiento deoptimizacin como garbage collection (recoleccin de basura, implementado enjava), minimiza los efecto de la creacin dinmica de objetos. Interface de usuario. El interface de usuario es uno de los aspectos ms importantes en laprogramacin actual. La aparicin de sistemas de explotacin que soportan uninterface grfico de usuario como Windows, X-Windows o Presentation Managerhace que la mayora de los usuarios prefieran que sus programas corran bajoeste tipo de interface. Este es uno de los puntos fuertes para la eleccin deun lenguaje OOP. La mayora de los interfaces grficos actuales han sido diseadoso rediseados en base a la OOP. Existen en el mercado libreras de clases que soportan todos los dispositivos de control de ventanas como mens, combo box,listas, barras de herramientas, etc. Lenguajes orientados a objetos Los lenguajes OOP implementan de manera distinta los conceptos de programacinorientada a objetos. No existe el lenguaje perfecto capaz de satisfacer todaslas necesidades y que se adapte a todos los estilos. A Continuacin unos consejos que nos facilitarn la eleccin del lenguajede programacin adecuado:

Instituto Tecnolgico de Ciudad.Jurez

106

Bases de Datos I Unidad VII

Si los programas se van a sentar en una cualidad concreta de los OOP como herencia, elija el que mejor soporte le d. Los lenguajes interpretados sirven para realizar un desarrollo rpido o para aquellos programas que necesiten una actualizacin constante. Si el programa necesita rapidez o es crtico respecto al tamao, considere el uso de lenguajes que incorporen compilador.

No <<reinvente la rueda>>. Si el lenguaje le proporciona una librera de clases no intente reescribrlas de nuevo, use las que le ofrece el sistema. Es ms tome como factor de eleccin las libreras de clases que el compilador incorpora o que estn disponibles en el mercado.

Si necesita mejorar la calidad del programa previniendo errores, utilice un lenguaje que le permita definir las variables con sus tipos asociados. Si la memoria del sistema es limitada, utilice lenguajes que permitan la creacin y destruccin automtica de clases dependiendo de su utilizacin.

----------------------------------------------------------------------------------------------------------

7.3 El Modelo Orientado a Objetos

Las aplicaciones de las bases de datos en reas como el diseo asistido por computadora, la ingeniera de software y el procesamiento de documentos no se ajustan al conjunto de suposiciones que se hacen para aplicaciones del estilo de procesamiento de datos. El modelo de datos orientado a objetos se ha propuesto para tratar algunos de estos nuevos tipos de aplicaciones. El modelo de bases de datos orientado a objetos es una adaptacin a los sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y cdigo que opera sobre estos en un objeto. Los objetos estructurados se agrupan en clases. El conjunto de clases esta estructurado en sub y superclases basado en una extensin del concepto ISA del modelo Entidad - Relacin. Puesto que el valor de un dato en un objeto tambin es un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto.

Instituto Tecnolgico de Ciudad.Jurez

107

Bases de Datos I Unidad VII

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.

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. El trmino mensaje en un contexto orientado a objetos, no implica el uso de un

mensaje fsico en una red de computadoras, si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles especficos de implementacin. 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.

Jerarqua de clases
En una base de datos existen objetos que responden a los mismos mensajes, utilizan los mismos mtodos y tienen variables del mismo nombre y tipo. Sera intil definir cada uno de estos objetos por separado por lo tanto se agrupan los objetos similares para que formen una clase, a cada uno de estos objetos se le llama

Instituto Tecnolgico de Ciudad.Jurez

108

Bases de Datos I Unidad VII

instancia de su clase. Todos los objetos de su clase comparten una definicin comn, aunque difieran en los valores asignados a las variables. As que bsicamente las bases de datos orientados a objetos tienen la finalidad de agrupar aquellos elementos que sean semejantes en las entidades para formar un clase, dejando por separado aquellas que no lo son en otra clase. Por ejemplo: Retomemos la relacin alumno-cursa-materia agregndole la entidad maestro; donde los atributos considerados para cada uno son alumno: Nombre, Direccin, Telfono, Especialidad, Semestre, Grupo; Maestro: Nombre, Direccin, Telfono, Nmero econmico, Plaza, RFC; Materia: Nombre, Crditos, Clave. Los atributos de nombre, direccin y telfono se repiten en la entidad alumno y maestro, as que podemos agrupar estos elementos para formar la clase Persona con dichos campos. Quedando por separado en alumno: Especialidad, semestre, Grupo. Y en maestro: Nmero econmico, Plaza y RFC; la materia no entra en la agrupacin (Clase persona) ya que la clase especfica los datos de solo personas, as que queda como clase materia.

Herencia
Las clases en un sistema orientado a objetos se representan en forma jerrquica como en el diagrama anterior, as que las propiedades o caractersticas del elemento persona las contendrn (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especializacin (la relacin ISA) del modelo E-R. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo as que una jerarqua (en forma grfica) puede quedar muy extensa, en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan.

Consultas orientadas a objetos


Instituto Tecnolgico de Ciudad.Jurez

109

Bases de Datos I Unidad VII

Los lenguajes de programacin orientados a objetos requieren que toda la interaccin con objetos se realiza mediante el envo de mensajes. Consideremos el ejemplo de alumno-cursa-materia deseamos realizar la consulta de los alumnos que cursan la materia de Base de Datos 1, para realizar esta consulta se tendra que enviar un mensaje a cada instancia alumno As un lenguaje de consultas para un sistema de bases de datos orientado a objetos debe incluir tanto el modelo de pasar el mensaje de objeto a objeto como el modelo de pasar el mensaje de conjunto en conjunto.

Complejidad de Modificacin
En base de datos orientados a objetos pueden existir los siguientes cambios:

Adicin de una nueva clase: Para realizar este proceso, la nueva clase debe colocarse en la jerarqua de clase o subclase cuidando las variables o mtodos de herencia correspondientes.

Eliminacin de una clase: Se requiere la realizacin de varias operaciones, se debe de cuidar los elementos que se han heredado de esa clase a otras y reestructurar la jerarqua. En s la estructuracin de modelos orientados a objetos simplifica una estructura

evitando elementos o variables repetidas en diversas entidades, sin embargo el precio de esto es dedicarle un minucioso cuidado a las relaciones entre las clases cuando en modelo es complejo, la dificultad del manejo de objetos radica en la complejidad de las modificaciones y eliminaciones de clases, ya que de tener variables que heredan otros objetos se tiene que realizar una reestructuracin que involucra una serie de pasos complejos.

Instituto Tecnolgico de Ciudad.Jurez

110

Anda mungkin juga menyukai