Sunteți pe pagina 1din 13

Bases De Datos Relacionales Orientadas a Objetos

Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos est orientado a objetos y almacenan y recuperan objetos en los que se almacena estado y comportamiento. Su origen se debe a que en los modelos clsicos de datos existen problemas para representar cierta informacin, puesto que aunque permiten representar
A continuacion se definen los conceptos del paradigma orientado a objetos en programacion, ya que el modelo de datos orientado a objetos es una extension del mismo.

CONCEPTOS
Objeto. Es un elemento autocontenido utilizado por el programa. Los valores que almacena
un objeto se denominan atributos, variables o propiedades. Los objetos pueden realizar acciones, que se denominan metodos, servicios, funciones, procedimientos u operaciones. Los objetos tienen un gran sentido de la privacidad, por lo que solo dan informacion sobre s mismos a traves de los metodos que poseen para compartir su infomacion. Tambien ocultan la implementacion de sus procedimientos, aunque es muy sencillo pedirles que los ejecuten. Los usuarios y los programas de aplicacion no pueden Ver que hay dentro de los mtodos, solo puede ver los resultados de ejecutarlos. A esto Es a lo que se denomina ocultacin de informacin o encapsulamiento de datos. Cada Objeto presenta una interface pblica al resto de objetos que pueden utilizarlo. Una de Las mayores ventajas del encapsulamiento es que mientras que la interface publica sea La misma, se puede cambiar la implementacin de los mtodos sin que sea necesario Informar al resto de objetos que los utilizan. Para pedir datos a un objeto o que este Realice una accin se le debe enviar un mensaje. Un programa orientado a objetos es un Conjunto de objetos que tienen atributos y mtodos. Los objetos interactan envindose Mensajes. La clave, por supuesto, es averiguar que objetos necesita el programa y Cules deben ser sus atributos y sus mtodos. Clase. Es un patrn o plantilla en la que se basan objetos que son similares. Cuando un Programa crea un objeto de una clase, proporciona datos para sus variables y el objeto Puede entonces utilizar los mtodos que se han escrito para la clase. Todos los objetos Creados a partir de la misma clase comparten los mismos procedimientos para sus mtodos, Tambin tienen los mismos tipos para sus datos, pero los valores pueden diferir. Una clase tambin es un tipo de datos. De hecho una clase es una implementacin de Lo que se conoce como un tipo abstracto de datos. El que una clase sea tambin un tipo De datos significa que una clase se puede utilizar como tipo de datos de un atributo. Tipos de clases. En los programas orientados a objetos hay tres tipos de clases: clases de Control, clases entidad y clases interface. Las clases de control gestionan el flujo de operacin de un programa (por ejemplo, El programa que se ejecuta es un objeto de esta clase). Las clases entidad son las que se utilizan para crear objetos que manejan datos

(Por ejemplo, clases para personas, objetos tangibles o eventos). Las clases interface son las que manejan la entrada y la salida de informacin (por Ejemplo, las ventanas graficas y los mens utilizados por un programa). En los programas orientados a objetos, las clases entidad no hacen su propia entrada/ Salida. El teclado es manejado por objetos interface que recogen los datos y los Tipos de mtodos. Hay varios tipos de mtodos que son comunes a la mayor a de las Clases: Constructores. Un constructor es un mtodo que tiene el mismo nombre que la Clase. Se ejecuta cuando se crea un objeto de una clase. Por lo tanto, un constructor Contiene instrucciones para inicializar las variables de un objeto. Destructores. Un destructor es un mtodo que se utiliza para destruir un objeto. No todos los lenguajes orientados a objetos poseen destructores. Acceso res. Un acceso es un mtodo que devuelve el valor de un atributo privado De otro objeto. As es como los objetos externos pueden acceder a los datos Encapsulados. Matadores. Un matador es un mtodo que almacena un nuevo valor en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados.

Sobrecarga de mtodos. Una de las caractersticas de las clases es que pueden tener
Mtodos sobrecargados, que son mtodos que tienen el mismo nombre pero que necesitan Distintos datos para operar. Ya que los datos son distintos, las interfaces publicas De los mtodos sern diferentes. Por ejemplo, consideremos una clase contenedor, Todos Los Empleados, que agrega todos los objetos creados de la clase Empleado. Para Que la clase contenedor sea til, debe proporcionar alguna forma de buscar objetos de Empleados especficos. Se puede querer buscar por nmero de empleado, por el nombre Y los apellidos o por el numero de telfono. La clase contenedor Todos Los Empleados Tendr tres mtodos llamados encuentra. Uno de los mtodos requiere un entero como Parmetro (el numero de empleado), el segundo requiere dos cadenas (el nombre y los Apellidos) y el tercero requiere una sola cadena (el numero de telfono). Aunque los tres Mtodos tienen el mismo nombre, poseen distintas interfaces pblicas. La ventaja de la Sobrecarga de los mtodos es que presentan una interface consistente al programador: Siempre que quiera localizar a un empleado, debe utilizar el mtodo encuentra.

Nombres de clases, atributos y mtodos. En el mundo de la orientacin a objetos hay


Cierta uniformidad en el modo de dar nombres a clases, atributos y mtodos. Los nombres de las clases empiezan por una letra mayscula seguida de minsculas. Si el nombre tiene ms de una palabra, se puede usar el carcter subrayado Para separar palabras o bien empezar cada una con una letra mayscula (Materia prima o Materia Prima). Los nombres de los atributos y de los mtodos empiezan por minscula y si tienen Ms de una palabra, utilizan el subrayado o la mayscula (nm. empleado o Subempleado). Los mtodos acceso res empiezan por la palabra jet seguida del nombre del atributo Al que acceden (getNumEmpleado). Los mtodos matadores empiezan por la palabra set seguida del nombre del Atributo cuyo valor modifican (setNumEmpleado).

Herencia de atributos. En ocasiones se necesita trabajar con clases que son similares pero
No idnticas. Para ello es muy til una de las caractersticas del paradigma orientado A objetos: la herencia. Una clase puede tener varias subclases que representan ocurrencias ms especficas de la superclase. Por ejemplo, podemos tener la clase (superclase) Animal con sus atributos (nombre comun, nombre cientfico, fecha de nacimiento y genero) y las subclases Mamfero, Reptil y Pez, cada una con unos atributos espec ficos (Mamfero: peso, altura del hombro, raza y color; Reptil: longitud actual y longitud maxima; Pez: color). Por el hecho de ser subclases de Animal, heredan sus atributos. La relacion que matienen las subclases con la superclase es del tipo es un: un mamfero es un animal, un reptil es un animal y un pez es un animal. No todas las clases de una jerarqua se utilizan para crear objetos. Por ejemplo, nunca se crean objetos de la clase Animal, sino que se crean objetos de las clases Mamfero, Reptil o Pez. La clase Animal solo se utiliza para recoger los atributos y metodos que son comunes a las tres subclases. Se dice que estas clases son abstractas o virtuales. Las clases que se utilizan para crear objetos se denominan clases concretas.

Herencia multiple. Cuando una clase hereda de mas de una superclase se tiene herencia
multiple.

Interfaces. Algunos lenguajes orientados a objetos no soportan la herencia multiple. En


lugar de eso permiten que una clase se derive de una sola clase pero permiten que la clase implemente multiples interfaces. Una interface es una especificacion para una clase sin instrucciones en los metodos. Cada clase que implemente la interface proporcionara las instrucciones para cada metodo de la misma. Una interface puede contener atributos Y mtodos, o bien solo atributos, o bien solo mtodos.

Polimorfismo. En general, las subclases heredan los mtodos de sus superclases y los
Utilizan como si fueran suyos. Sin embargo, en algunas ocasiones no es posible escribir Un mtodo genrico que pueda ser usado por todas las subclases. La clase ObjetoGeometrico posee un mtodo rea que deber a tener distinta implementacin

Origen de las Bases de Datos Orientadas a Objetos


Las bases de datos orientadas a objetos surgen para evitar los problemas que surgen al tratar de representar cierta informacin, aprovechar las ventajas del paradigma orientado a objetos en el campo de las bases de datos y para evitar transformaciones entre modelos de datos (usar el mismo modelo de objetos). El origen de las BDOO se encuentra bsicamente en las siguientes razones: La existencia de problemas para representar cierta informacin y modelar ciertos aspectos del mundo real, puesto que los modelos clsicos permiten representar gran cantidad de datos, pero las operaciones y representaciones que se pueden realizar sobre ellos son bastante simples.

Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades De estas nuevas aplicaciones. La orientacin a objetos ofrece flexibilidad para manejar algunos

De estos requisitos y no est limitada por los tipos de datos y los lenguajes de consulta de Los sistemas de bases de datos tradicionales. Una caracterstica clave de las bases de datos Orientadas a objetos es la potencia que proporcionan al diseador al permitirle especificar Tanto la estructura de objetos complejos, como las operaciones que se pueden aplicar sobre dichos objetos.

Los lenguajes de programacin persistentes aaden la persistencia y otras caractersticas de las bases de datos a loa lenguajes de programacin existentes con sistemas de tipos orientados a objetos. Por el contrario, los modelos de datos relacionales orientados a objetos extienden el modelo de datos relacional proporcionando un sistema de tipos mas rico que incluye la programacin orientada a objetos y aade constructoras a los lenguajes de consulta relacionales como SQL para trabajar con los tipos de datos aadidos. Los sistemas de tipos extendidos permiten que los atributos de las tuplas tengan tipos complejos. Estas extensiones intentan conservar las bases relacionales en concreto, el acceso declarativo de los datos- al tiempo que extienden la capacidad de modelado. Los sistemas de bases de datos relacionales orientados a objetos (es decir, los sistemas de bases de datos basados en el modelo objeto-relacin) proporcionan un modelo de cambio adecuado para los usuario de las bases de datos relacionales que deseen utilizar caractersticas orientadas a objetos.

BASES DE DATOS RELACIONES

Caractersticas:

Se basa en el modelo relacional. compuesta de tablas o relaciones. evitan la duplicidad de los registros. Garantizan la integridad referencial

BASES DE DATOS ORIENTADAS A OBJETOS

Caractersticas:

Fcil integracin de bases de datos orientadas a objetos y lenguajes de programacin O.O. Buen rendimiento en la manipulacin de tipos de datos complejos. Reduccin de costes en desarrollo y mantenimiento.

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. Otros conceptos utilizados de la misma manera que en la POO son: o Clases o Herencia simple, mltiple y repetida. o Polimorfismo de operacin, de inclusin y paramtrico; ligadura tarda (late binding); sobrecarga (overloading) y suplantacin o anulacin (overriding). o Objetos complejos

6.- Ventajas e inconvenientes de las BDOO


Aunque los SGBDOO pueden proporcionar soluciones apropiadas para muchos tipos de aplicaciones avanzadas de bases de datos, tambin tienen sus desventajas. Las ventajas de un SGBDOO son: Mayor capacidad de modelado. El modelado de datos orientado a objetos permite modelar el mundo real de una manera mucho ms fiel. Esto se debe a: o un objeto permite encapsular tanto un estado como un comportamiento o un objeto puede almacenar todas las relaciones que tenga con otros objetos o los objetos pueden agruparse para formar objetos complejos (herencia). Ampliabilidad. Esto se debe a: o Se pueden construir nuevos tipos de datos a partir de los ya existentes. o Agrupacin de propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia. o Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor tiempo de desarrollo. Lenguaje de consulta ms expresivo. El acceso navegacional desde un objeto al siguiente es la forma ms comn de acceso a datos en un SGBDOO. Mientras que SQL utiliza el acceso asociativo. El acceso navegacional es ms adecuado para gestionar operaciones como los despieces, consultas recursivas, etc. Adecuacin a las aplicaciones avanzadas de base de datos. Hay muchas reas en las que los SGBD tradicionales no han tenido excesivo xito como el CAD, CASE, OIS, sistemas multimedia, etc. en los que las capacidades de modelado de los SGBDOO han hecho que esos sistemas s resulten efectivos para este tipo de aplicaciones. Mayores prestaciones. Los SGBDOO proporcionan mejoras significativas de rendimiento con respecto a los SGBD relacionales. Aunque hay autores que han argumentado que los bancos de prueba usados estn dirigidos a aplicaciones de ingeniera donde los SGBDOO son ms adecuados. Tambin est demostrado que los SGBDR tienen un rendimiento 7 Modelos Avanzados de Bases de Datos Funcionalidad 1

mejor que los SGBDOO en las aplicaciones tradicionales de bases de datos como el procesamiento de transacciones en lnea (OLTP). Los inconvenientes de un SGBDOO son: Carencia de un modelo de datos universal. No hay ningn modelo de datos que est universalmente aceptado para los SGBDOO y la mayora de los modelos carecen una base terica. Carencia de experiencia. Todava no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales. Carencia de estndares. Existe una carencia de estndares general para los SGBDOO. Competencia. Con respecto a los SGBDR y los SGBDOR. Estos productos tienen una experiencia de uso considerable. SQL es un estndar aprobado y ODBC es un estndar de facto. Adems, el modelo relacional tiene una slida base terica y los productos relacionales disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios finales. La optimizacin de consultas compromete la encapsulacion. La optimizacin de consultas requiere una compresin de la implementacin de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulacin. objetos an no tiene una teora matemtica coherente que le sirva de base.

Tipos Complejos Bases Datos


Las debilidades y limitaciones son:

- Pobre representacin de las entidades del mundo real. - Sobrecarga y poca riqueza semnticas. - Soporte inadecuado para las restricciones de integridad y empresariales - Estructura de datos homognea - Operaciones limitadas - Dificultades para gestionar las consultas recursivas - Desadaptacin de impedancias - Problemas asociados a la concurrencia, cambios en los esquemas y el inadecuado acceso navegacional. - No ofrecen soporte para tipos definidos por el usuario (slo dominios)

Las necesidades de las aplicaciones actuales con respecto a las bases de datos son: - Soporte para objetos complejos y datos multimedia - Identificadores nicos - Soporte a referencias e interrelaciones - Manipulacin navegacional y de conjunto de registros - Jerarquas de objetos o tipos y herencia - Integracin de los datos con sus procedimientos asociados - Modelos extensibles mediante tipos de datos definidos por el usuario - Gestin de versiones - Facilidades de evolucin - Transacciones de larga duracin - Interconexin e interoperabilidad

Debido a las limitaciones anteriormente expuestas, el uso de BDOO es ms ventajoso si se presenta en alguno de los siguientes escenarios: - Un gran nmero de tipos de datos diferentes - Un gran nmero de relaciones entre los objetos - Objetos con comportamientos complejos

Se puede encontrar este tipo de complejidad acerca de tipos de datos, relaciones entre objetos y comportamiento de los objetos principalmente en aplicaciones de ingeniera, manufacturacin, simulaciones, automatizacin de oficina y en numerosos sistemas de informacin. No obstante, las BDOO no estn restringidas a estas reas. Ya que al ofrecer la misma funcionalidad que su precursoras relacionales, el resto de campos de aplicacin tiene la posibilidad de aprovechar completamente la potencia que las BDOO ofrecen para modelar situaciones del mundo real.

Herencia Bases Datos


La herencia es un intento de adaptacin de estos diagramas al paradigma orientado a objetos. La herencia es un tipo de relacin entre una entidad padre y una entidad hijo. La entidad hijo hereda todos los atributos y relaciones de la entidad padre. Por tanto, no necesitan ser representadas dos veces en el diagrama. La relacin de herencia se representa mediante un tringulo interconectado por lneas a las entidades. La entidad conectada por el vrtice superior del tringulo es la entidad padre. Solamente puede

existir una entidad padre (herencia simple). Las entidades hijo se conectan por la base del tringulo. La Herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. En primer lugar se considerar la herencia de los tipos y despus en el nivel de las tablas. Herencia de Tipos: Supngase que se dispone de la siguiente definicin de tipos para las personas: crate type Persona (nombre varchar(20), direccin varchar(20)) Puede que se desee guardar en la base de datos ms informacin sobre las personas que son estudiantes y sobre las que sean profesores. Dado que los estudiantes y los profesores tambin son personas, se puede utilizar la herencia para definir los tipos de estudiante y profesor.
Herencia en Tablas:

Las subtablas en SQL: se corresponden con la nocin del modelo E-R de la especializacin y la generalizacin. Por ejemplo, supngase que se define la tabla personas de la manera siguiente: create table persona of Persona Se pueden definir entonces las tablas estudiantes y profesores como subtablas de persona:
Create table estudiantes of Estudiante under(abajo) persona create table profesores of Profesor under persona . Los tipos de las subtablas deben ser subtipos del tipo de la tabla padre.

Por tanto, cada atributo presente en persona debe estar tambin presente en las subtablas

Tipos Referencia Bases Datos


Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificacin: y Segn la variabilidad de los datos almacenados Bases de datos estticas

stas son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y tomar decisiones. Bases de datos dinmicas stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin y adicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, un videoclub, etc. Bases de datos bibliogrficas Solo contienen un su rogante(representante) de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original Bases de datos de texto completo En si como el nombre lo indica almacenan textos completos ya sea en temas, unidades, tomos etc. Directorios
Un ejemplo son las guas telefnicas en formato electrnico.

Banco de imgenes, audio, video, multimedia, etc. Bases de datos o bibliotecas de informacin Biolgica
Son bases de datos que almacenan diferentes tipos de informacin proveniente de las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos:

Aquellas que almacenan secuencias de nucletidos o protenas Bases de datos clnicas Tipos Complejos/Definidos por el Usuario

Muchas veces los tipos bsicos descriptos ms arriba no son adecuados para determinada tarea aunque los combinemos por medio de colecciones. En ocasiones deseamos agrupar varios datos juntos y tratarlos como si fueran un solo elemento. Un ejemplo de esta situacin podra ser la descripcin de una direccin postal: la calle, el nmero, la ciudad y el cdigo postal. La mayor parte de los lenguajes nos permiten agrupar estos datos en un registro o estructura. En BASIC un registro de este tipo se realiza as: Type Direccion
Numero_Casa AS INTEGER Calle AS STRING Ciudad AS STRING Cod_Postal AS STRING

End Type

Puede parecerte medio esotrico, pero no te preocupes que pronto tendr su sentido.

Comparacin Entre Bases De Datos Orientadas a Objetos Y Las Bases De Datos Relacionales Orientadas a Objetos
BASE DE DATOS ORIENTADA A OBJETOS En una base de datos orientada a objetos, la informacin se representa mediante objetos como los presentes en la programacin orientada a objetos. Cuando se integra las caractersticas de una base de datos con las de un lenguaje de programacin orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programacin en uno o ms lenguajes de programacin a los que d soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperacin de datos, consultas asociativas y otras capacidades. 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++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programacin. Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un buen rendimiento en la manipulacin de tipos de dato complejos.

Los ODBMS propocionan los costes de desarrollo ms bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integracin transparente con el programa escrito en un lenguaje de programacin orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento. !! BASE DE DATOS RELACIONAL Una base de datos relacional es un conjunto de una o mas tablas estructuradas en registros (lneas) y campos (columnas), que se vinculan entre s por un campo en comn, en ambos casos posee las mismas caractersticas como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional. Estrictamente hablando el trmino se refiere a una coleccin especfica de datos pero a menudo se le usa, en forma errnea como sinnimo del software usado para gestionar esa coleccin de datos. Ese software se conoce como sistema gestor de base de datos relacional o RDBMS (relational database management system). Las bases de datos relacionales pasan por un proceso al que se le conoce como normalizacin de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera ptima. !! Comparaciones + Ambos se encuentran disponibles en el mercado. + La naturaleza declarativa y la potencia limitada del lenguaje SQL proporciona buena proteccin a los datos respecto a errores de programacin. + Es simple implementar optimizaciones. + Los SMBD Relacionales-OO simplifican la realizacin de los modelos y las consultas mediante el uso de tipos de datos complejos. + Se reduce el rendimiento en cierto tipo de aplicaciones que trabajan principalmente en memoria principal

Los puntos fuertes de los varios tipos de sistemas de bases de datos pueden resumirse de la manera siguiente: - Sistemas relacionales: tipos de datos sencillos, lenguajes de consulta potentes, proteccion elevada. - Bases de datos orientadas a objetos basadas en lenguajes de programacin persistentes: tipos de datos complejos, integracin con los lenguajes de programacin, elevado rendimiento. - Sistemas relacionales orientados a objetos: tipos de datos complejos, lenguajes de consulta potentes, proteccin elevada. Estas descripciones son validas en general, pero hay que tener en cuenta que algunos sistemas de base de datos no respetan estas fronteras. Por ejemplo, algunos sistemas de base de datos orientados a objetos construidos alrededor de lenguajes de programacin persistentes se implementan sobre sistemas de base de datos relacionales. Puede que estos sistemas proporcionen menor rendimiento que los sistemas de base de datos orientados a objetos construidos directamente sobre los sistemas de almacenamiento, pero proporcionan en parte las garantas de proteccin mas estrictas propias de los sistemas.

S-ar putea să vă placă și