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

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental de la Fuerza Armada Nacional

U.N.E.F.A

Profesora: Prez Yelmin

Bachilleres: Gutirrez Yurimar C.I 20178253 Perdomo Robert C.I 19567544 Prez Luisana C.I 19566107

5 Semestre de Ing. de Sistemas

INTRODUCCIN

Las bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de las aplicaciones ms complejas. El enfoque orientado a objetos ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de consulta disponibles en los sistemas de base de datos tradicionales. Como cualquier base de datos programable, una base de datos orientada a objetos proporciona un ambiente para el desarrollo de aplicaciones y un depsito persistente listo para su explotacin. Los principales concepto que se utilizan en las Base de Datos Orientadas a Objetos son los siguientes: 1 Identidad de Objetos 2Constructores de Tipos 3 Encapsulamiento 4Compatibilidad con los Lenguajes de Programacin 5 Jerarquas y Herencia.

INDICE PORTADA...........................................................................................................................PG. 1

INTRODUCCIN....PG. 2 NDICE...............................................................................................................................PG. 3 IDENTIFICACIN DE OBJETOS, ESTRUCTURAS Y CONSTRUCTORES..................................PG. 4,5 ENCAPSULAMIENTO DE OPERACIONES, MTODOS Y PERSISTENCIA..........................PGS.5, 6 JERARQUA DE CLASES Y HERENCIA...................................................................PGS.7, 8, 9,10 RELACIONES ANIDADAS..................................................................................................PG.10 OBJETOS COMPLEJOS.....................................................................................................PG.11 LENGUAJES ORIENTADOS A OBJETOS...........................................................................PGS.11, LENGUAJES DE PROGRAMACION PERSISTENTES..........................................................PGS.12, 13 BASE DE DATO DEDUCTIVA...........................................................................................PGS.13 NOTACION PROLOG......................................................................................................PGS.14 NOTACION DATALOG....................................................................................................PGS.14 INTERPRETACION DE REGLAS.......................................................................................PGS.14, 15 CONCLUSION..................................................................................................................PG.16 BIBLIOGRAFIA.................................................................................................................PG.17

1.- IDENTIFICACION DE OBJETOS, ESTRUCTURAS Y CONSTRUCTORES.

IDENTIFICACION DE LOS OBJETO

Los objetos de las bases de datos orientadas suelen corresponder a entidades del sistema modelado por la base de datos. Las entidades conservan su identidad aunque algunas de sus propiedades cambien con el tiempo. De manera parecida, los objetos conservan su identidad aunque los valores de las variables o las definiciones de los mtodos cambien total o parcialmente con el tiempo. Este concepto de identidad no se aplica a las tuplas de las bases de datos relacionales, donde las tuplas de una relacin slo se distinguen por los valores que contienen. En los sistemas orientados a objetos se incluye el concepto de identidad en el modelo de datos o en el lenguaje de programacin y no hace falta que el usuario proporcione ningn identificador sino que cada objeto recibe del sistema de manera automtica un identificador en el momento en que se crea, que identifica al objeto de manera unvoca.
ESTRUCTURA DE LOS 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.

CONSTRUCTORES DE TIPO

Todos los tipos de objetos tienen asociado por defecto un mtodo que se encarga de construir nuevos objetos de ese. El nombre del mtodo es el mismo que el nombre del tipo, y sus parmetros que tenemos en dicho mtodo son los atributos del tipo de objetos. Pueden ser: Constructores de tomos Constructores de tuplas Constructores de conjuntos 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.
2.- ENCAPSULAMIENTO DE OPERACIONES, METODOS Y PERSISTENCIA. ENCAPSULAMIENTO DE OPERACIONES

Se centra en la implementacin que da lugar al comportamiento observable de un objeto. El encapsulamiento se consigue a menudo mediante la ocultacin de informacin, es decir, se basa en ocultar todos los secretos de un objeto que no contribuyen a sus caractersticas esenciales. El encapsulamiento proporciona, por tanto, barreras explcitas entre abstracciones diferentes. Existen dos visiones diferentes del encapsulamiento [ATK89], la primera y original que es la del lenguaje de programacin; y la segunda que es la adaptacin de esa visin para la base de datos. Desde el punto de vista de las bases de datos, esto se traduce en el hecho de que un objeto abarca operaciones y datos, pero con una diferencia. En las bases de datos no est claro si la parte estructural es parte de la interfaz (depende del sistema), mientras que en los lenguajes de programacin la estructura de datos es claramente parte de la implementacin y no de la interfaz.

Como se puede observar, el encapsulamiento proporciona una forma lgica de independencia de los datos, ya que se puede cambiar la implementacin de un tipo sin cambiar ninguno de los programas que usan ese tipo.
METODOS

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.
PERSISTENCIA

La persistencia es una de las caractersticas que los SGBDOO heredan tanto de los SGBD como del modelo de objetos. La diferencia est en que la persistencia proporcionada por el SGBD tradicional, se refiere nicamente a la conservacin de los datos, mientras que la persistencia heredada del modelo de objetos hace referencia no slo a la conservacin del estado de un objeto, sino tambin a la conservacin de la clase, que debe trascender a cualquier programa individual, de forma que todos los programas interpreten de la misma manera el estado almacenado. Se puede distinguir entre: Persistencia en el espacio, que hace referencia al hecho de que los objetos creados en una maquina pueda llevarse a otra, y que incluso puedan tener representaciones diferentes en diferentes mquinas. Persistencia en el tiempo, hace referencia a la cualidad de los objetos de sobrevivir a la ejecucin del proceso que los cre.

3.- JERARQUIA DE CLASES Y HERENCIA JERARQUIA DE CLASE

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 nmero 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 especficas 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.

Para permitir la representacin directa de similar 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: numero-seguridad-social, nombre, direccin, numero-telfono-particular, fecha-de-nacimiento. Cliente: tasa-de-crdito, estado-retencin-impuestos, numero-de-telfono-trabajo. Empleado: fecha-de-contrato, salario, numero-de-dependientes. Director: titulo, numero-despacho, numero-cuenta-de-gastos
Persona

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.

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, incluyendo aquellos que sean instancias de Director, Cajero y Secretaria. Podramos asociar a la clase Empleado solamente aquellos objetos de 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.

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 ms 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.
HERENCIA El uso de Jerarqua de clases permite la definicin de una clase (denominada subclase) a partir de otra clase (denominada subclase). Los atributos de una clase son heredados por todos sus descendientes (ahorro de memoria).La herencia de mtodos permite aumentar la reutilizacin de cdigo. Reduce redundancias y simplifica la correccin de los programas. El concepto de jerarqua de clases es parecido al de especializacin del modelo E/R. 4.- RELACIONES ANIDADAS

El modelo relacional anidado (MRA) es una extensin del modelo relacional en la que los dominios pueden ser atmicos o de relacin. El valor de las tuplas de los atributos puede ser una relacin, y las relaciones pueden guardarse en otras relaciones. Los objetos complejos pueden representarse mediante una nica tupla de las relaciones anidadas. Si se consideran las tuplas de las relaciones anidadas como elementos de datos, se tiene una correspondencia uno a uno entre los elementos de datos y los objetos de la vista de la base de datos del usuario.

5.- 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.
8.- LENGUAJES ORIENTADOS A OBJETOS

Los conceptos de orientacin a objetos primero aparecieron en lenguajes de programacin como Ada, Algol, Lisp, y Simula. Estos lenguajes de programacin dieron pie a la introduccin de conceptos Orientado a objetos ms refinados. Smalltalk, C++, y Java son lenguajes de programacin orientados a objetos (LPOO). Java se utiliza para crear aplicaciones Web que funcionan en el internet y son independientes de los sistemas operativos. Los lenguajes de programacin orientada a objetos se desarrollaron para: Proporcionar un ambiente de desarrollo de software fcil de utilizar. Proporciona una poderosa herramienta de modelado de software para desarrollo de aplicaciones. Disminuir el tiempo de desarrollo con la reduccin de la cantidad de cdigo Mejorar la productividad del programador al hacer que el cdigo sea reutilizable. La programacin orientada a objetos cambia no solo la forma en la que los programas son escritos, eventualidad tambin en cmo se comportan. En la visualizacin del mundo orientada a objetos, cada objeto puede manipular los datos que forman parte de l.

9.- LENGUAJES DE PROGRAMACION PERSISTENTES

Los Lenguajes de la base de dato se diferencian de los lenguajes de programacin tradicionales en que trabajan directamente con datos que son persistentes; es decir, los datos siguen existiendo una vez que el programa que lo creo haya concluido. Las relaciones de la base de dato y las tuplas de las relaciones son ejemplos de datos persistentes. Por el contrario, los nicos datos persistentes con lo que los lenguajes de programacin tradicionales trabajan directamente son los archivos. El acceso a la base de datos es solo un componente de las aplicaciones del mundo real. Mientras que los lenguajes para el tratamiento de datos como sql son bastantes efectivos en el acceso a los datos, se necesita un lenguaje de programacin para implementar otros componentes de las aplicaciones como de las interfaces de usuario o la comunicacin con otras computadoras. La manera tradicional de realizar las interfaces de la bases de datos con los lenguajes de programacin es incorporar SQL dentro del lenguaje de programacin. Lenguajes de programacin persistente: son lenguajes de programacin extendidos con estructuras para el tratamiento de los datos persistentes. Los lenguajes de programacin persistentes pueden distinguirse de los lenguajes con sql incorporados, al menos, de dos maneras: 1 En los lenguajes incorporados el sistema de tipos de lenguaje anfitrin suele ser diferente del sistema de tipos del lenguaje para el tratamiento de los datos. Los programadores son responsables de las conversiones de tipos entre el lenguaje anfitrin y SQL. Hacer que los programadores lleven a cabo esta tarea presenta varios inconvenientes: El cdigo para la conversin entre objetos y tuplas opera fuera del sistema de tipos orientado a objetos y, por tanto, tiene ms posibilidades de presentar errores no detectados.

La conversin en la base de datos entre el formato orientado a objetos y el formato relacional de tuplas necesita gran cantidad de cdigo. El cdigo para la conversin de formatos, junto con el cdigo para cargar y descargar los datos de la base de datos, puede suponer un porcentaje significativo del cdigo total necesario para la aplicacin. 2 Los programadores que usan lenguajes de consultas incorporados son responsables de la escritura de cdigo explicito para la bsqueda en la memoria de los datos de la base de datos. Si se realizan actualizaciones, los programadores deben escribir explcitamente cdigo para volver aguardar los datos actualizados en la base de dato.
10.- BASE DE DATO DEDUCTIVA

Los sistemas bases de datos deductivas intentan modificar el hecho de que los datos requeridos residan en la memoria principal (por lo que la gestin de almacenamiento secundario no viene al caso) de modo que un SGBD se ample para manejar datos que residen en almacenamiento secundario. En un sistema base de datos deductivos por lo regular se usa un lenguaje declarativo para especificar reglas. Con lenguaje declarativo se quiere decir un lenguaje que define lo que un programa desea lograr, en vez de especificar los detalles de cmo lograrlo. Una maquina de inferencia (o mecanismo de deduccin) dentro del sistema puede deducir hechos nuevos a partir de la base de datos interpretando dichas reglas. El modelo empleado en las bases de datos deductivas esta ntimamente relacionado con el modelo de datos relacional, y sobre todo con el formalismo del clculo relacional. Tambin est relacionado con el campo de la programacin lgica y lenguaje prolog. Los trabajos sobre bases de datos deductivas basados en lgica han utilizado prolog como punto de partida. Con un subconjunto de prolog llamado datalog se definen reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales en el lenguaje.

12.- NOTACION PROLOG

Al contrario de la mayora de los lenguajes de programacin, prolog es un lenguaje conversacional, es decir, el sistema prolog mantiene un dialogo continuo con el programador desde el inicio de la sesin hasta el final de la misma. Este dialogo toma generalmente la forma de un interrogatorio, a lo largo del cual el programador planteara preguntas al sistema prolog; por su parte el sistema prolog responder a cada una de las interrogantes mencionadas.
13.- NOTACION DATALOG

Es un lenguaje de consultas, no procedimental, basado en lenguaje de programacin lgica de prolog. Como se hace en el clculo relacional, el usuario describe la informacin deseada sin especificar un procedimiento especfico de obtencin de dicha informacin. Este lenguaje se define de una manera declarativa, ya que simplifica la escritura de consultas simples y hace ms sencilla la optimizacin.
14.- INTERPRETACION DE REGLAS Existen dos alternativas principales para interpretar el significado terico de las reglas: por la teora de demostracin y por la teora de modelos. En los sistemas prcticos, es mecanismo de inferencia que tiene el sistema, define la interpretacin exacta, que pudiera no coincidir con ninguna de las dos interpretaciones tericas. El mecanismo de inferencia es un procedimiento computacional y por tanto provee una interpretacin computacional del significado de las reglas. Una interpretacin es la llamada interpretacin de reglas por la teora de demostraciones. En ella se consideraran los hechos y las reglas como enunciados verdades o axiomas. Los axiomas base no contienen variables. Las reglas se llaman axiomas deductivos, ya que pueden servir para deducir hechos nuevos. El segundo tipo de demostracin se llama interpretacin por la teora de modelos. Aqu, dado un dominio finito o infinito de valores constantes, se le asigna a un predicado todas las combinaciones posibles de valores como argumentos. Despus se debe determinar si el predicado es verdadero o falso.

A una interpretacin se le llama modelo para un conjunto especifico de reglas si esas reglas siempre se cumplen en esa interpretacin.; es decir, para cualesquiera valores que se asignen a las variables de las reglas, la cabeza de reglas es verdadera cuando sustituimos los valores de verdad asignados a los predicados en el cuerpo de las reglas segn esa interpretacin. De este modo siempre que se aplica una sustitucin (enlace) a las variables de las reglas, si todos los predicados del cuerpo de un arreglo son verdaderos de esa interpretacin, el predicado de la cabeza tambien debe ser verdadero

CONCLUSIN

Finalizando con la investigacin se puede concluir lo siguiente: Hay muchas aplicaciones que necesitaran el soporte de una base de datos orientados a objetos con ellos podemos realizar diversas tcnicas: como programas orientados a objetos, encapsular datos dependiendo la jerarqua de clase que pueda poseer , teniendo en cuenta que los lenguajes de programacin con persistencia se diferencia de los tradicionales en que trabajan directamente con datos , los cuales son persistente, es decir, siguen existiendo una vez que el programa que lo creo haya concluido . No obstante con esto, esta investigacin tiene el propsito de poder diferenciar las diferentes tcnicas que existen entre los puntos explicados en la investigacin, adems de esto comprender como es el funcionamiento de cada uno de ellos.

BIBLIOGRAFIA

FUNDAMENTOS DE LA BASE DE DATOS QUINTA EDICION ABRAHAM SILBERSCHATZ HENRY F. KORTH S.SUDARSHAN EDITOR CARMELO SANCHEZ GONZALEZ

DATA BASE SYSTEMS. THOMAS CONNOLLY, CAROLYN BEGG. ADDISON WESLEY HTTP://BASESDATOS.UC3M.ES/FILEADMIN/DOCENCIA/BDAII/ BBDDOBJETOS30.PDF

BASE DE DATOS ORIENTADAS A OBJETOS ING. LUIS ARMANDO GARCA ELISEO LGARCIAE@UAT.EDU.MX

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