You are on page 1of 24

Facultad de Ingeniera Carrera de Ingeniera de Sistemas

Base de Datos II Base de Datos Orientada a Objetos


Ing. Wilfredo Terrazas Q.

BASES DE DATOS ORIENTADA A OBJETOS (BDOO)

A finales de los aos 80 y a principios de los 90, los expertos en base de datos enfrentaron requerimientos de datos cada vez ms complejos que eran difciles de manejar con la tecnologa que exista en esos momentos. La composicin cambiante de los datos modelados la base de datos podra incluir grficos, vdeo, audio, diagramas, huellas digitales y sonido, as como nmeros y textomotiv a reorganizar los sistemas de bases de datos existentes. Este esfuerzo de reorganizacin condujo a una nueva oleada de tecnologas basadas en conceptos de programacin orientados a objetos, y a la adicin de nuevas caractersticas a las bases de datos relacionales que permitieron manejar mejor los datos complejos. Dentro de estas nuevas tecnologas que aparecieron, este trabajo se centra en las bases de datos objeto-relacionales y orientadas a objetos.

BASES DE DATOS ORIENTADA A OBJETOS (BDOO) Es una base de datos inteligente. Soporta el paradigma orientado a objetos almacenando datos y mtodos, y no slo datos. Est diseada para ser eficaz, desde el punto de vista fsico, para almacenar objetos complejos. Evita el acceso a los datos; esto es mediante los mtodos almacenados en ella. Es ms segura ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los mtodos que haya utilizado el programador. Un SGBDOO es un SGBD que almacena objetos y por tanto posee todas las ventajas de la orientacin a objetos Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con lenguajes de programacin orientados a objetos como Java, C#, Visual Basic.NET y C++.

BASES DE DATOS ORIENTADA A OBJETOS CON UML

Lenguaje Unificado de Modelado (LUM) o (UML, por sus siglas en ingls, Unified Modeling Language) es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad.

Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema.


Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. UML combina notaciones provenientes desde: Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows)

MODELO DE OBJETOS Para las OODB no ha existido un nico modelo de datos, anlogo al modelo relacional difundido por Dr. Codd, sino que cada autor ha adoptado un modelo diferente. El modelo orientado a objetos (OODM) que aqu se presenta tiene mucho en comn con los modelos de datos relacionales o E-R, tambin tiene algunas diferencias fundamentales. OBJETO, ENTIDAD Y TUPLA El concepto OODM de objeto va ms all del concepto de entidad o tupla en otros modelos de datos. Un objeto OODM tiene caractersticas adicionales a las de las entidades o tuplas, como comportamiento, herencia y encapsulado. Tales caractersticas OODM hacen que el modelado OO sea ms natural que el modelado E-R y relacional. De hecho, los modelos E-R y relacionales a menudo obligan al diseador a crear entidades nuevas artificiales para representar entidades reales.

ATRIBUTOS Los objetos son descritos por sus atributos, conocidos como variables de instancia en un ambiente OO. Cada atributo tiene un nombre nico y un tipo de datos asociado a l. Los atributos tambin tienen un dominio. El dominio agrupa y describe lgicamente el conjunto de todos los valores posibles que un atributo puede tener. Es importante puntualizar que, al igual que en el modelo E-R, el atributo de un objeto puede tener un valor nico o valores mltiples. Adems, los atributos de objeto pueden hacer referencia a uno o ms objetos. A nivel de ejecucin, el OID del objeto al que se referencia se utiliza para vincular ambos objetos, lo que permite la ejecucin de relaciones entre dos o ms objetos. Esto es distinto al modelo relacional en el que el atributo de una tabla puede contener slo un valor que puede ser utilizado para unir filas (JOIN) en tablas diferentes.

IDENTIDAD DEL OBJETO

La identidad del objeto est representada por el ID de objeto (OID), el cual es nico de ese objeto. El OID es asignado por el sistema al momento de la creacin del objeto y no puede ser cambiado en ninguna circunstancia. No debe confundirse con la clave principal del modelo relacional, ya que esta ltima se basa en valores dados por el usuario de atributos seleccionados y puede ser cambiada en cualquier momento. El OID puede ser eliminado slo si el objeto es eliminado, y ese OID no puede ser reutilizado.

CLASE, CONJUNTO DE ENTIDADES Y TABLA

El concepto de clase puede ser asociado con los conceptos de conjunto de entidades y tabla de los modelos E-R y relacional, respectivamente. No obstante, clase es un concepto ms poderoso que permite no slo la descripcin de la estructura de datos sino tambin la descripcin del comportamiento de los objetos clase. Adems, el OODM introduce el concepto de tipos de datos abstractos, permitiendo la definicin de tipos de datos nuevos que posteriormente pueden ser utilizados como cualquier otro tipo de datos base que acompaa a una base de datos, incrementando as el contenido semntico de los objetos modelados.

ENCAPSULADO Y HERENCIA

Estas dos caractersticas no son soportadas por los modelos de datos relacionales o E-R.
El encapsulado es la capacidad de ocultar los detalles internos del objeto (atributos y mtodos). Esta capacidad deriva de que la estructura interna de un objeto no puede ser accedida directamente por otro objeto, garantizando la integridad del estado del objeto. La herencia es la capacidad de un objeto dentro de una jerarqua de heredar la estructura de datos y el comportamiento (mtodos) de las clases sobre ella.

RELACIONES

La principal propiedad de cualquier modelo de datos se encuentra en su representacin de relaciones entre los componentes de datos. Las relaciones en un OODM pueden ser de dos tipos: relacin interobjeto o herencia de jerarqua de clases.
RELACIONES INTEROBJETO: VNCULOS ATRIBUTO-CLASE Una relacin atributo-clase o relacin interobjeto, se crea cuando el atributo de un objeto hace referencia a otro objeto de la misma o diferente clase. Existen dos tipos de relaciones interobjeto: relaciones 1:M y M:N.

RELACIONES 1:M

En contraste con el modelo relacional, el OODM soporta atributos multivaluados, agregaciones conocidas como conjuntos o bolsas. Esta capacidad es esencial para representar cualquier tipo de relaciones a muchos. Para representar una relacin 1:M se define un atributo en la clase muchos de la relacin para almacenar el identificador del objeto de la clase uno. En la clase uno se define un atributo para almacenar un conjunto de valores, que sern los identificadores de los muchos objetos con los que est relacionado.

RELACIONES M:N

Debido a que una base de dato OO permite a los objetos tener atributos multivaluados, las relaciones M:N pueden ser directamente representadas sin necesidad de crear entidades compuestas. Para representar la relacin M:N cada clase que participa en la relacin define un atributo que contendr un conjunto de valores de las otras clases con las que est relacionada. En principio, la capacidad de representar directamente relaciones M:N puede parecer una gran ventaja de las bases de datos OO. Sin embargo, hay que tener mucho cuidado al usarlas debido a que se produce prdida de informacin.

RELACIONES DE HERENCIA DE JERARQUA DE CLASES: Las relaciones de herencia de jerarqua de clases se utilizan para describir la relacin entre las clases de la jerarqua. Existen dos tipos de relaciones de herencia: la relacin is a y extends.

RELACIONES IS A La relacin is a, tambin conocida como relacin de generalizacinespecializacin, crea una jerarqua de herencia donde las subclases son tipos especficos de sus superclases. Este tipo de herencia se denomina herencia de comportamiento, es decir, herencia de las operaciones de la superclase a la subclase. Para implementar esta relacin se requiere que la superclase sea una interfaz y la subclase puede ser una clase u otra interfaz. RELACIONES EXTENDS En la relacin extends, una subclase extiende a su superclase ms que restringirla a un tipo ms especfico. Este tipo de herencia se utilizada para heredar el estado y el comportamiento estrictamente entre clases.

ACCESO

Los modelos E-R y relacionales dependen del uso de SQL para recuperar datos de la base de datos. SQL es un lenguaje de consultas orientado a los conjuntos, que est basado en un modelo matemtico formalmente definido. Dada su herencia orientada a conjuntos, SQL utiliza mtodos de acceso asociativos para recuperar informacin relacionada de una base de datos, con base en el valor de alguno de sus atributos. A consecuencia del contenido de ms semntica en su modelo de datos, el OODM produce un esquema en el cual las relaciones forman parte de la estructura de la base de datos. El OODM soporta tanto el acceso navegacional (registro a la vez) como el acceso orientado a conjuntos. El acceso navegacional consiste en navegar a travs de la estructura espacial del objeto desarrollado por el diseador utilizando las identidades de objeto.

COMPARACIN DE LOS COMPONENTES DE LOS MODELOS OO Y E-R.

DIAGRAMAS DE UML

VENTAJAS Se desarrolla un nico modelo al que acceden directamente las aplicaciones. Simplifica la conceptualizacin La utilizacin de objetos permite representar de una forma ms natural los datos que se necesitan guardar. Mejora la comunicacin entre los usuarios, los diseadores y los analistas. Extensibilidad: Los SGBDOO permiten construir nuevos tipos de datos a partir de tipos existentes. Existe una nica interfaz entre el LMD y el lenguaje de programacin lo que elimina lo que elimina el problema de tener incrustar un lenguaje declarativo como SQL en un lenguaje imperativo como C. Lenguaje de consultas ms expresivo : El acceso navegacional es ms adecuado para manipular despliegue de partes, consultas recursivas, etc. Soporte a esquema evolutivo : el estrecho acoplamiento entre datos y aplicaciones en un SGBDOO hace ms abordable el esquema evolutivo

DESVENTAJAS La optimizacin de consultas compromete la encapsulacin: optimizar consultas requiere conocer la implementacin para acceder a la BD eficientemente. Los bloqueos a nivel de objeto, utilizados en protocolos de control de concurrencia pueden afectar al rendimiento. Complejidad: el incremento de funcionalidad provisto por un SGBDOO, como un nico nivel de modelo de almacenamiento o soporte a transacciones largas. La complejidad con lleva productos ms caros y difciles de usar. Falta de soporte a las vistas: la mayora de SGBDOO no proveen mecanismos de vistas. Falta de soporte a la seguridad: Actualmente los SGBDOO no proveen un mecanismo adecuado de seguridad. La mayora de mecanismos estn basados en un nivel de granularidad alto y los usuarios no pueden conceder derechos de acceso a objetos o clases individuales.

EJEMPLO PRACTICO.-

CONCLUSIONES En Conclusin sabemos que las BDOO representan el siguiente paso en la evolucin de las bases de datos, para soportar el Anlisis, Diseo y Programacin OO. Las BDOO permiten el desarrollo y mantenimiento de aplicaciones complejas con un costo Significativamente menor. Permiten que el mismo modelo conceptual se aplique al Anlisis, diseo, programacin, definicin y acceso a la base de datos. Esto reduce el problema del operador de traduccin entre los diferentes modelos a travs de todo el ciclo de vida. El modelo conceptual debe ser la base de las herramientas CASE OO totalmente integradas, las cuales ayudan a generar la estructura de datos y los mtodos. Las BDOO ofrecen un mucho mejor rendimiento de la mquina que las bases de datos por relacin, para aplicaciones o clases con estructuras complejas de datos. Sin embargo, Las BDOO coexistirn con las bases de datos por relacin durante aos, puesto que a menudo se utilizar un modelo por relacin como una forma de estructura de datos dentro de una BDOO.

FIN

You might also like