Está en la página 1de 8

Objeto: cualquier cosa real o abstracta acerca de la cual almacenamos datos y los mtodos que controlan dichos datos.

Tipo de objeto: es una categora de un objeto. Un objeto es una instancia del tipo objeto Estructura de los objetos En general los objetos se corresponden con las entidades en el paradigma entidad relacin (E_R). El paradigma orientado a objetos esta basado en al almacenamiento de los datos. Por lo general cada objeto esta asociado con: Un conjunto de variables que contienen los datos del objeto. El valor de cada variable(se corresponden a los atributos en el modelo E_R) Un numero de mensajes a los que corresponde(cada mensaje puede tener uno o mas parmetro, o no tener ninguno) Un conjunto de mtodos, que contienen el cdigo que implementa cada mensaje (el mtodo devuelve un valor como respuesta al mensaje) un mtodo mtodo devuelve un valor como respuesta a un mensaje. Mensajes y mtodos El termino mensaje en un entorno orientado a objetos no implica el uso de mensajes fsicos en redes informticas. Por el contrario hace referencia al intercambio de solicitudes entre los objetos independientemente de los detalles concretos de su implementacin. Los mtodos d cada objeto pueden clasificarse como solo de lectura o de actualizacin. Los mtodos solo de lectura no afectan el valor de las variables de los objetos, mientras que los mtodos de actualizacin si pueden modificarlo. Puesto que el nico interfaz externo que presenta un objeto es el conjunto de mensajes al que responde, es posible modificar la definicin de los mtodos y las 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 del documento leyendo el documento y contando el numero de bytes. Identidad de los objetos Un objeto conserva su identidad aun cuando algunos o todos los valores de las variables o las definiciones de los objetos cambien con le tiempo. En los sistemas relacionales, las tuplas de una relacin se distinguen nicamente por los valores que contienen. Formas e identidad Valor: se utiliza un valor de datos por identidad. Esta es la forma de identidad que se usa en los sistemas relacionales. Nombre: se utiliza un nombre facilitando x el usuario x identidad. Esta es la forma de identidad que normalmente se usas 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 identificador. Esta es la forma de identidad que se usa en los sistemas orientado a objetos.

Grado de permanencia de la identidad: Intraprograma: la identidad permanece solamente durante la ejecucin de un nico programa o consulta. Interprograma: la identidad permanece de una ejecucin del programa a otra. Persistente: la identidad permanece no solo en las operaciones del programa sino tambin entre las reorganizaciones estructurales de datos. Las relaciones en SQL no tiene identidad persistente, ya que una reorganizacin de la base d datos puede resultar en un nuevo esquema de base de datos con relacin con nuevos nombres. La forma persistente de identidad es la que se requiere en los sistemas orientados a objetos. Almacenamiento y acceso a los objetos persistentes Hay varias maneras de hallar los objetos de las bases de datos. Uno de los enfoque consiste en dar nombres a los objetos, igual que se hace con los archivos. Este enfoque resulta til con un numero de objetos relativamente pequeo, pero no resulta practico para millones d objetos. Un segundo enfoque consiste en exponer los identificadores de los objetos o los punteros persistentes de los objetos, que se pueden guardar de manera externa. A diferencia de los nombres, estos punteros no tiene por qu ser fciles de recordar y pueden ser incluso punteros fsicos dentro de las bd. U tercer enfoque es guardar las colecciones de objetos y permitir que los programas iteren sobre las mismas para hallar los objetos deseados. Las colecciones de los objetos pueden a subes modelarse como objetos de un tipo coleccin. Los tipos de colecciones incluyen los conjuntos, puede los multiconjuntos, lista etc. U caso especial de coleccin son las extensiones de clases que son la coleccin de datos los objetos pertenecientes a una clase. La mayor parte de los sistemas de base de datos orientados a objetos permiten las tres maneras de acceso de la a los objetos persistentes. Todos los objetos tienen identificadores. Generalmente solo se da nombre a las extensiones de las clases y a otros objetos de tipo coleccin y, quiz a determinados objetos seleccionados, pero normalmente no ce nominan la mayora de los objetos. Clases de objetos En una base de datos ay muchos objetos similares. Por similar se entiende que corresponden a los mismos mensajes, utilizan los mismos mtodos y tienen el mismo nombre y tipo. Seria un derroche definir por separado cada uno de estos objetos. Por lo tent, los objetos parecidos se agrupan para formar una clase. Cada uno de estos objetos se denomina ejemplar o instancia de una clase. Todos los objetos de una clase comparten una definicin y un comportamiento en comn y se diferencian solo en los valores asignados en sus atributos. El concepto de clase en el concepto orientado a objetos se corresponde con el concepto de identidad del modelo E-R. Algunos ejemplos de clases en las bases de datos bancarias serian empleados, clientes, cuentas y prestamos.

Herencia En ocasiones se necesita trabajar con clases que son similares pero no idnticas. Para ello es muy til una de las caractersticas de la programacin orientada a objetos: la herencia. Una clase puede tener varias subclases que representan concurrencias mas especificas de la superclase. Aparece por tanto el concepto de jerarqua de clases que es parecido al de especializacin del modelo E-r. La herencia propicia hacia la reutilizacin del cdigo, dado que no hace falta volver a escribir los mensajes, mtodos y funciones para los objetos de las clases derivadas. Herencia mltiple La herencia mltiple permite a las clases heredar variables y mtodos de mltiples superclases. Cuando se utiliza la herencia mltiple existe un a posible ambigedad ya que se pueden heredar las mismas variables o el mismo mtodo de mas de una superclase. Existen varias formas de evitar la ambigedad y las diferentes implementaciones han elegido una de ellas, aunque hay lenguajes que, para evitar este problema no permiten el uso de la herencia mltiple, como java. Polimorfismo En programacin orientada a objetos se denomina polimorfismo a la capacidad de cdigo de un programa para ser utilizado con diferentes tipos de datos y objetos. Tambin se puede aplicar a la propiedad que poseen algunas operaciones de tener un comportamiento diferente dependiendo del objeto(o tipo de dato) sobre el que se apliquen. Continentes de objetos Se puede utilizar las referencias entre objetos para modelar diferentes conceptos del mundo real. Uno de estos objetos es el continente de objetos, que consiste en crear objetos compuestos o complejos, constituidos por objetos ms simples. Puede haber varios niveles de continentes. Esta situacin crea entre los objetos una jerarqua de continentes. Lenguajes de programacin persistente Los lenguajes de programacin persistente son lenguajes de programacin extendidos para el tratamiento de datos persistentes. Sin embargo, los leguajes de programacin persistentes presentan ciertos inconvenientes. Dado que los lenguajes de programacin suelen ser potentes resulta relativamente sencillo cometer errores de programacin que daen las veces de datos, Adems, la complejidad de los lenguajes hace que la optimizacin automtica de alto nivel, como la reducion se E/s d disco, resulte mas difcil. Persistencia de objetos Si se desea transformar uno de estos lenguajes en un lenguaje de programacin de bd, el primer paso consiste en proporcionar una manera de hacer persistentes a los objetos. Se han propuesto varios enfoques.

Persistencia por clases: el enfoque mas sencillo, pero el menos conveniente, consiste en declarar que una clase es persistente. Todos los objetos de la clase son por lo tanto, persistentes de manera predeterminada. Todos los objetos de las clases no persistentes son transitorios. Persistencia por creacin: en este enfoque se introduce una sintaxis nueva para crear los objetos persistentes mediante la extensin de la sintaxis para la creacin de los objetos transitorios. Por tanto, los objetos son persistentes o transitorios en funcin de la manera de crearlos. Persistencia por marcas: una variante del enfoque anterior es marcar los objetos como persistentes despus de haberlos creado. Todos los objetos se crean como transitorios, pero, si un objeto tienen que persistir ms all de la ejecucin del programa, se le marca de manera explicita. A diferencia del enfoque anterior, la decisin sobre la persistencia o transitoriedad se retrasa hasta despus de la creacin del objeto. Persistencia por alcance; uno o varios objetos persistentes (objetos de raz) de manera explicita. Todos los dems objetos sern persistentes si (y solo si) son alcanzables desde el objeto raz mediante una secuencia de una o mas referencias.

Trasformacin 1. Asignar cada clase o subclase a una relacin. 2. Asignar cada subclase a una relacin. 3. Asignar la jerarqua a una relacin. Asignar cada clase o subclase a una relacin Staff(staff no, name, iname, position, sex, dob, salary) Manager(staffno, bonus, mgrstardata) Sales personal(staffno, salesarea, carallowance) Secretary(staffno typignspeed) Con este mtodo se pierde informacion, ya no esta claro que relacin representa la superclase y cual la subclase. Se tendra duplicidad de cdigo y posibilidad de que surgieran incoherencias. Asignar cada subclase a una relacin Manager(staffno, name,, fname, iname, posiyion, sex, dob, salry, bonus, mgrstardate) Salespersonal(staffno, name,, fname, iname, posiytion, sex, dob, salry, bonus, mgrstardate, carallowance) Secretary(staffno, name,, fname, iname, posiyion, sex, dob, salry,typingspeed) Con este esquema se pierde informacin ya no esta claro que estas reacciones son subclases de una clase genrica. Para generar una lista de todo el personal se tendrn que seleccionar las tuplas de cada relacin y luego efectuar la unin. Asignar la jerarqua a una nica relacin Staff(staffno, name, fname, iname, position, sex, dbo, bonus, mgrstardate, salary, salesarea, carallowance, typingepeed, typeflag) Con este esquema se pierde la informacion, adems se producir un nmero excesivo de valores nulos. Lenguajes orientados a objetos Hasta el momento se han abordado los conceptos bsicos de la programacin orientada a objetos En un nivel abstracto. Para poder utilizarlos en la prctica en un sistema de bases de datos hay que expresarlos en algn lenguaje. Esta expresin puede realizarse de dos maneras: 1. Los conceptos de la programacin orientada a objetos se utilizan simplemente como herramientas de diseo y se codifican, por ejemplo, en una base de datos relacional. Se sigue este enfoque cuando se utilizan los diagramas entidad-relacin para poder modelar los datos y luego se convierten de manera manual en un conjunto de relaciones. 2. Los conceptos de la programacin orientada a objetos se incorporan en un lenguaje que se utiliza para trabajar con la base de datos. Con este enfoque hay varios lenguajes posibles en los que se pueden integrar los siguientes conceptos:

(a) Una opcin es extender un lenguaje para el tratamiento de datos como SQL aadiendo tipos complejos y la programacin orientada a objetos. Los sistemas que proporcionan extensiones orientadas a objetos o a sistemas relacionales se denominan sistemas relacionales orientados a objetos. (b) Otra opcin es tomar un lenguaje de programacin orientada a objetos ya existente y extenderlo para que trabaje con las bases de datos. Estos lenguajes se denominan lenguajes de programacin persistente. Los lenguajes de programacin persistente. Los lenguajes de las bases de datos de diferencian de los lenguajes de programacin tradicionales en que trabajan directamente con los datos que son persistentes, es decir, los datos siguen existiendo una ves que el programa que los creo a concluido. Las relaciones de bases de datos y las tuplas de las relaciones son ejemplos de datos persistentes. Por el contrario, los nicos datos persistentes con los que los lenguajes de programacin tradicionales trabajan directamente son los archivos. El acceso a las bd es solo un componente de las aplicaciones del mundo real. Los lenguajes de programacin persistentes pueden distinguirse de los lenguajes con SQL incorporado de al menos dos maneras: 1) En los lenguajes incorporados el sistema de tipos del lenguaje anfitrin suele ser diferente del sistema de tipos del lenguaje para el tratamiento de datos. Los programadores son responsables de las conversiones de tipos entre el lenguaje anfitrin y SQL. 2) Los programadores que utilizan lenguajes de consulta incorporados son responsables de la escritura de cdigo explicito para la bsqueda de los datos de la base de datos en memoria. Si se realizan actualizaciones, los programadores deben escribir cdigo de manera explicita para volver a guardar los datos actualizados en la base de datos. Permiten a los programadores trabajar directamente con los datos desde el lenguaje de programacin, sin tener que pasar por un lenguaje para el tratamiento de datos como SQL. Por lo tanto, proporcionan una mayor integracin de los lenguajes de programacin con las bases de datos, que por ejemplo, SQL incorporado. Aplicaciones de las bases de datos orientadas a objetos El propsito de los sistemas de las bd es la gestin de grandes cantidades de informacin. En aos recientes, la tecnologa de bd se ha adaptado a aplicaciones fuera del mbito de procesamiento de datos entre las que podemos incluir: Objetos compuestos: un objeto compuesto es un dato visto como un simple objeto en el mundo real, pero que contienen otros objetos. Estos objetos pueden tener una estructura interna compleja arbitraria. A menudo los objetos estn estructurados jerrquicamente, representado en las relaciones entre ellos. El modelo de objetos complejos ha llevado al desarrollo de las bd orientadas a objetos, las cuales estn basadas en los conceptos de los lenguajes de programacin

orientadas a objetos, las bases de datos relacionales anidadas, en las que las relaciones pueden almacenarse dentro de otras relaciones. Diseo asistido por computador (CAD): una base de datos para una aplicacin CAD debe almacenar los datos en un diseo de ingenieros incluyendo los componentes del dato, la relacin de los componentes y las versiones antiguas de los diseos. Ingeniera asistida por el computador (CASE); una base de datos para diseado para aplicaciones CASE debe contener datos tales como fuente, dependencias entre mdulos de sw, definiciones y usos de variables e historial del desarrollo del sistema de sw. Bases de datos multidimensionales: n donde se almacenan imgenes, audio y video que pueden ser usados en sistemas de informacin geogrficos, aplicaciones graficas y toda aplicacin que utilice tales tipos de datos. Sistemas de informacin de oficinas: una bd para este tipo de aplicaciones debe permitir consultas que permitan planificar reuniones, administrar documentos, mantener calendarios de citas, etc. Estas nuevas aplicaciones de las bd no fueron consideradas en la dcada de los 70s cuando se disearon la mayora de los sistemas de bases de datos. En la actualidad su aplicacin practica es muy factible debido a los avances de la tecnologa computacional junto con la reduccin de es costos y por otro lado la mayor comprensin que se a logrado en los ltimos aos de la admn. de las bases de datos. Estas aplicaciones requieren nuevos modelos de datos, nuevos lenguajes de consulta y nuevos modelos de transacciones. Entre los requisitos de estas nuevas aplicaciones estn: Datos de comportamiento: puede que distintos objetos necesiten responder de distinta forma a la misma orden. Por ejemplo, la eliminacin de ciertas tuplas puede requerir de la eliminacin de otras tuplas, como es el caso de las entidades dobles. En las aplicaciones CAD y CASE el comportamiento de distintos objetos en respuesta a una orden dada puede ser muy diferente. Esta informacin dl comportamiento puede capturarse almacenando cdigo ejecutable con objetos en las bases de datos. Los mtodos de los sistemas de BDOO y la regla base de los sistemas basados en comportamiento otorgan esta capacidad. A menudo los datos mas aportantes sobre aplicaciones son reglas generales acerca de la aplicacin mas que de las tuplas especificadas. Las reglas forman una parte importante de los sistemas expertos de bd. Transacciones de larga duracin: las aplicaciones CAD y CASE implican interaccin humana con los datos. Algunas de estas acciones pueden ser aplicaciones que el usuario puede querer deshacer. Los esfuerzos del diseo concurrente que implican varios ordenadores, pueden conducir a conflictos entre transacciones. Debido a que estas transacciones implican interaccin humana con le sistema, las consecuencias de abortos de transacciones, esperas por bloques, etc., son mucho mas serias que en las transacciones interactivas cortas comnmente usadas en aplicaciones tipo negocios. Entre los conceptos que se introdujeron estn los de las transacciones anidadas y ejecuciones no serializables correctas.

También podría gustarte