base de dato orientado a objeto

Upload: bryan-morales

Post on 19-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Base de Dato Orientado a Objeto

    1/12

    INTRODUCCIN

    Al momento de desarrollar un sistema cualquiera que sea, en el que se debeutilizar almacenamiento (Bases de Datos), el programador debe tener unconocimiento amplio de las diferentes herramientas que pueden utilizar, lascuales harn ms fcil y sencillo el desarrollo de dicha aplicacin.

    Actualmente la programacin orientada a obetos ha ganado terreno debidoque permite resol!er el problema desde un enfoque conceptual hasta lle!arlo a

    un modelo en el que los elementos que lo integran son fragmentados yclasificados de acuerdo a ciertas caracter"sticas similares, permitiendo as" unameor administracin del sistema.

    #s por eso que ahora surgen como un concepto las bases de datos orientadasa obetos, con lo que se pretende facilitar la administracin de las mismas,haciendo ms fcil la !ida y los procesos a los programadores y a quienesutilicen las mismas.

  • 7/23/2019 Base de Dato Orientado a Objeto

    2/12

    BASES DE DATOS ORIENTADAS A OBJETOS

    $e propusieron con la idea de satisfacer las necesidades de las aplicacionesms compleas. #l enfoque orientado a obetos ofrece la fle%ibilidad paracumplir con algunos de estos requerimientos sin estar limitado por los tipos de

    datos y los lenguaes de consulta disponibles en los sistemas de bases dedatos tradicionales.

    &omo cualquier Bases de Datos programable, una Base de Datos 'rientada a'betos (BD'') proporciona un ambiente para el desarrollo de aplicaciones yun depsito persistente listo para su e%plotacin. na BD'' almacena ymanipula informacin que puede ser digitalizada (presentada) como obetos,adems proporciona un acceso gil y permite una gran capacidad demanipulacin.

    os principales conceptos que se utilizan en las Bases de Datos 'rientada a'betos (BD'') son las siguientes*

    +dentidad de obetos

    &onstructores de tipos

    #ncapsulamiento

    &ompatibilidad con los lenguaes de programacin

    erarqu"as de tipos y herencia

    -aneo de obetos compleos

    olimorfismo y sobrecarga de operadores y

    &reacin de !ersiones.

    Bases De Datos Orientadas A Objetos

    #ste modelo, bastante reciente, y propio de los modelos informticosorientados a obetos, trata de almacenar en la base de datos los obetoscompletos (estado y comportamiento).

    na base de datos orientada a obetos es una base de datos que incorporatodos los conceptos importantes del paradigma de obetos*

    #ncapsulacin* ropiedad que permite ocultar la informacin al resto de losobetos, impidiendo as" accesos incorrectos o conflictos./erencia* ropiedad a tra!0s de la cual los obetos heredan comportamientodentro de una erarqu"a de clases.olimorfismo* ropiedad de una operacin mediante la cual puede ser aplicadaa distintos tipos de obetos.

  • 7/23/2019 Base de Dato Orientado a Objeto

    3/12

    #n bases de datos orientadas a obetos, los usuarios pueden definiroperaciones sobre los datos como parte de la definicin de la base de datos.na operacin (llamada funcin) se especifica en dos partes. a interfaz (osignatura) de una operacin incluye el nombre de la operacin y los tipos dedatos de sus argumentos (o parmetros). a implementacin (o m0todo) de laoperacin se especifica separadamente y puede modificarse sin afectar lainterfaz. os programas de aplicacin de los usuarios pueden operar sobre losdatos in!ocando a dichas operaciones a tra!0s de sus nombres y argumentos,sea cual sea la forma en la que se han implementado. #sto podr"adenominarse independencia entre programas y operaciones.

    Estructura de una BD OO

    #l paradigma orientado a obetos se basa en el encapsulamiento de datos ydel cdigo relacionado con cada obeto en una sola unidad. &onceptualmente,todas las interacciones entre cada obeto y el resto del sistema se realizanmediante mensaes. or lo tanto, la interfaz entre cada obeto y el resto delsistema se define mediante un conunto de mensaes permitidos.

    #n general, cada obeto est asociado con*

    n conunto de !ariables que contiene los datos del obeto1 las !ariablescorresponden con los atributos del modelo #23.

    n conunto de mensaes a los que responde1 cada mensae puede o no tenerparmetros o tener uno o !arios.

    n conunto de m0todos, cada uno de los cuales es el cdigo que implementaun mensae1 el m0todo de!uel!e un !alor como respuesta al mensae.

    -ensae en entorno '' no implica uso de mensaes f"sicos en redesinformticas. or el contrario, hace referencia al intercambio de solicitudesentre los obetos, independientemente de los detalles correctos de suimplementacin. $e utiliza a !eces la e%presin in!ocar un m0todo paradetonar al hecho de en!iar un mensae a un obeto y la eecucin del m0todocorrespondiente.

    1. IDENTIDAD DE OBJETOS

    n sistema de BD'' pro!ee una identidad 4nica a cada obetoindependiente almacenado en la base de datos. #sta identidad 4nica sueleimplementarse con un identificador de obeto 4nico, generado por el sistema,u '+D. #l !alor de un '+D no es !isible para el usuario e%terno, sino que elsistema lo utiliza a ni!el interno para identificar cada obeto de manera 4nica

    y para crear y manear las referencias entre obetos.

  • 7/23/2019 Base de Dato Orientado a Objeto

    4/12

    a principal propiedad que debe tener un '+D es la de ser inmutable1 esdecir, el !alor del '+D para un obeto en particular nunca debe cambiar. #stopreser!a la identidad del obeto del mundo real que se est presentando.5ambi0n es preferible que cada '+D se utilice slo una !ez1 esto es aunqueun obeto se elimine de la Base de datos, su '+D no se deber asignar a otroobeto. #stas dos propiedades implican que el '+D no debe depender del!alor de ning4n atributo del obeto, pues estos !alores pueden cambiar.5ambi0n suele considerarse inapropiado basar el '+D en la direccin f"sicadel obeto en el almacenamiento, ya que una reorganizacin de los obetosde la base de datos podr"a cambiar los '+D. $in embargo, algunos sistemass" usan la direccin f"sica como '+D para aumentar la eficiencia de laobtencin de los obetos. $i la direccin f"sica cambia, puede colocarse unapuntador indirecto en la direccin anterior, dando la nue!a ubicacin f"sicadel obeto. n sistema de BD'' debe contar con alg4n mecanismo para

    generar los '+D con la propiedad de inmutabilidad.

    Algunos modelos de datos '' requieren que todo se represente como unobeto, ya sea un !alor simple o un obeto compleo1 as", todo !alor bsico,como un entero, una cadena o un !alor booleano, tiene un '+D. &on ello dos!alores bsicos pueden tener diferentes '+D, lo cual es muy 4til en algunoscasos. or eemplo, en algunas ocasiones se podr"a usar el !alor entero 67para representar un peso en 8ilogramos, y en otras para referirse a la edadde una persona. As" podr"an crearse dos obetos bsicos con diferentes '+D,y ambos tendr"an el mismo !alor bsico de 67. Aunque resulta 4til como

    modelo terico, esto no es muy prctico porque puede obligar a generardemasiados '+D. or ello tambi0n, la mayor parte de los sistemas de BD''permiten representar tanto obetos como !alores. 5odo obeto debe tener un'+D inmutable, pero los !alores no tienen '+D y se representan as" mismo.

    os obetos tienen identidades 4nicas, independientes de los !alores de susatributos.

    a estructura orientad a obetos automticamente impone las restriccionesrelacionales, generalmente ms aplicables* dominio, lla!e integridad de

    entidad e integridad referencial.2. CONSTRUCTORES DE TIOS

    #n las BD'', los !alores (o estados) de los obetos compleos se puedenconstruir a partir de otros obetos mediante ciertos constructores de tipos.na forma de representar tales obetos es considerar a cada obeto comotripleta (i, c, !), donde i es un identificador de obeto 4nico (el '+D), c es unconstructor (esto es, una indicacin de cmo se construye el !alor del obeto)y ! es el !alor (o estado) del obeto. uede haber !arios constructores,seg4n el modelo de datos y el sistema ''.

    os tres constructores bsicos son*

  • 7/23/2019 Base de Dato Orientado a Objeto

    5/12

    constructores de tomos. constructores de tuplas. constructores de conuntos.

    'tros constructores de uso ms com4n son los de listas y de arreglos.

    5ambi0n e%iste un dominio D que contiene todos los !alores atmicosbsicos que estn disponibles directamente en el sistema. or lo regularestos incluyen los enteros, los n4meros reales, las cadenas de caracteres,los tipos bol0anos, las fechas y cualesquiera otros tipos de datos que elsistema manee directamente.

    !. ENCASU"A#IENTO$

    5anto la estructura de los obetos como las operaciones que se puedenaplicar a ellos se incluyen en las definiciones de clases de los obetos.

    %. CO#ATIBI"IDAD CON "EN&UAJES DE RO&RA#ACION

    $i se sigue el enfoque cuando se utilizan los diagramas de #ntidad23elacinpara modelar los datos y luego se con!ierten de manera manual en unconunto de relaciones1 por lo tanto los conceptos de la rogramacin'rientada a 'betos se utilizan simplemente como herramientas de dise9o yse codifican, utilizndose para trabaar con una base de datos.

    /ay !arios lenguaes posibles en los que se pueden integrar estosconceptos*

    na opcin es e%tender un lenguae para el tratamiento de datos como el$: a9adiendo tipos compleos y la programacin orientada a obetos. ossistemas proporcionan e%tensiones orientadas a obetos a los sistemasrelacionales se denominan sistemas relacionales orientados a obetos.

    'tra opcin es tomar un lenguae de programacin orientado a obetos yae%istente y e%tenderlo para que trabae con las bases de datos. #stoslenguaes se denominan lenguaes de programacin persistentes. #stoslenguaes permiten a los programadores trabaar directamente con los datos,desde el lenguae de programacin1 sin tener que pasar por un lenguae parael tratamiento de datos como $:. $e denominan persistentes porque losdatos siguen e%istiendo una !ez que el programa que los cre ha concluido.

    A la hora de decidir que opcin utilizar se debe tener en cuenta que losenguaes ersistentes suelen ser potentes y resulta relati!amente sencillocometer errores de programacin que da9en las bases de datos. acompleidad de los lenguaes hace la optimizacin automtica de alto ni!el,como la reduccin de #;$ de disco, resulte dif"cil. #n muchas aplicaciones, laposibilidad de las consultas declarati!as es de gran importancia, pero loslenguaes persistentes no permiten actualmente las consultas declarati!assin que aparezcan problemas de alg4n tipo.

  • 7/23/2019 Base de Dato Orientado a Objeto

    6/12

    '. JERAR(UIA DE TIOS ) *ERENCIA

    os esquemas de BD'' suelen necesitar un gran n4mero de clases. $inembargo, !arias clases son parecidas entre s".

    ara permitir la representacin directa de parecidos entre las clases, hayque ubicarlas en una erarqu"a de especializaciones. #l concepto deerarqu"a de clases es parecido al de especializacin del modelo #23. asespecializaciones de las clases son denominadas subclases1 lo cualespecifica atributos y m0todos adicionales para una clase e%istente. osobetos creados por medio de unas subclases heredan todos los atributos ym0todos de la clase padre. Algunas de estas caracter"sticas heredadaspueden ellas mismas haber sido heredadas de clases ms altas en laerarqu"a.

    +. #ANEJO DE OBJETOS CO#"EJOSos obetos se consideran compleos porque requieren un rea dealmacenamiento sustancial y no forman parte de los tipos de datos estndarque suelen ofrecer los $

  • 7/23/2019 Base de Dato Orientado a Objeto

    7/12

    #l polimorfismo se refiere al uso de la misma firma de mensae para dirigirdiferentes m0todos en diferentes clases. &uando el dise9ador en!"a unase9al a un obeto, el m0todo de la clase de obeto, posiblemente heredado,procesa la se9al.

    n m0todo puede tener acceso directamente a atributos de un obetodestino por no nombre, al incluir cualesquiera atributos heredados de clasespadres, pero debe tener acceso a atributos de otros obetos con se9alessecundarias.

    #n s"ntesis este concepto permite enlazar el mismo nombre o s"mbolo deoperador a dos o ms implementaciones diferentes del operador,dependiendo del tipo de obetos a los que 0ste se aplique.

    . CREACION DE /ERSIONES

    -uchas aplicaciones de bases de datos que usan sistemas '' requieren lae%istencia de !arias !ersiones del mismo obeto.

    or lo regular, se aplican acti!idades de mantenimiento a un sistema desoft?are conforme sus requerimientos e!olucionan. or lo regular, elmantenimiento implica modificar algunos de los mdulos de dise9o y deimplementacin. $i el sistema ya est en operacin, y si es precisomodificar uno o ms mdulos, el dise9ador deber crear una nue!a !ersinde cada uno de ellos para efectuar cambios.

    &abe se9alar que puede haber ms de dos !ersiones de un obeto.#n caso que se requieran dos !ersiones, adems del mdulo original. $epuede actualizar concurrentemente las propias !ersiones del mismo mdulodel soft?are. #sto se llama ingenier"a concurrente. $in embargo, siemprellega el momento en que es preciso combinar (fusionar) estas dos !ersionespara que la !ersin hibrida incluya los cambios realizados. #s necesario deque sus cambios sean compatibles.

    n obeto compleo, como un sistema de soft?are, puede constar demuchos mdulos. &uando se permite la creacin de m4ltiples !ersiones, esposible que cada una de esos mdulos tenga !arias !ersiones distintas y ungrafo de !ersiones.

    &omo se deduce del anlisis anterior, un $

  • 7/23/2019 Base de Dato Orientado a Objeto

    8/12

    +ntenta definir tipos que puedan implementarse en di!ersos lenguaes de

    programacin. @o esta por tanto ligado a la sinta%is concreta de un lenguae de

    programacin particular.

    De esta forma un esquema especificado en 'D, puede ser soportado porcualquier $-BD'' que sea compatible con 'D-

  • 7/23/2019 Base de Dato Orientado a Objeto

    9/12

    ro!ee primiti!as de alto ni!el para manear conuntos, estructuras y

    listas en forma eficiente.

    @o tiene operadores de actualizacin pero permite la eecucin de

    operaciones con esa responsabilidad.

    ermite las consultas sobre los obetos denotables del modelo indicando

    su nombre.

    &omo lenguae embebido permite la consulta desde cualquier A@.

    na consulta en ': es una funcin que aplicada a una entrada da

    como resultado un obeto cuyo tipo puede ser inferido por el operadorinmerso en la consulta.

    #emplo* 3egresa un literal del tipo $et K+ntegerL se3ect distinct%.edad ro4% inpersonas 56ere%.nombre M >-anuel>#emplo que regresa un literal del tipo $etK$tructL, donde a y s son losnombres de las columnas de despliegue que no tiene porque coincidir con losnombres de los atributos almacenados se3ect distinct struct7a*e.edad, s*%.se%o 8

    ro4% inersonas 56ere%.nombre M >-anuel>

    CARACTER9STICAS DE BD OO

    $e intenta definir un sistema de BD'' y describe las principalescaracter"sticas en tres grupos*

    -andatorias* son las que el $istema debe satisfacer a orden de tener unsistema de BD'' y estos son* 'betos compleos, +dentidad de 'betos,#ncapsulacin, 5ipos o clases, $obre paso con unin retardada, #%tensibilidad,&ompletacin &omputacional, ersistencia y -aneador de almacenamientosecundario, &oncurrencia, 3ecuperacin y Gacilidad de :uery.

    CARACTERISTICAS OB"I&ATORIAS

    #ste es un punto que no debe faltar en BD.

    redominancia combinada con enlace retardado* se puede definir que sea#%cel, Autocad, etc. desde la programacin.

    E:tesibi3idad$roporciona los tipos de datos como* &arcter, booleano, string,

    etc.

  • 7/23/2019 Base de Dato Orientado a Objeto

    10/12

    &oncurrencia* permite que !arios usuarios tengan acceso a una BD almismo tiempo.

    3ecuperacin* &uando se hace una transaccin pero no se puede realizar y seregresa al mismo estado.

    Gacilidad de =&onsultas a -odo>. #sto es cuando se tienen diferentesestndares.

    #ANI-IESTO #A"CO"# AT;INSON

    N Deben soportarse obetos compleos.

    N Deben soportarse mecanismos de identidad de obetos.

    N Debe soportarse la encapsulacin.

    N Debe soportarse los tipos y clases.N os tipos o clases deben ser capaces de heredar de sus ancestros.

    N Debe soportarse el enlace acad0mico.

    N #l D- debe ser computacionalmente compleo.

    N #l conunto de todos los tipos de datos debe ser ampliable.

    /entajas

    N -anipula datos compleos de forma rpida

    N Gle%ibilidad

    N #limina por completo la necesidad de -apa de relacionamiento deobetos, con su consecuente meora en desempe9o.

    N -ayor capacidad de modelado

    N Ampliabilidad

    N enguae de consulta ms e%presi!o

    N Adecuacin a las aplicaciones a!anzadas de bases de datos.

    N -ayores prestaciones.

    a cla!e que posee la BD'' es el poder que confieren al dise9ador paraespecificar tanto la estructura de obetos compleos como las operaciones quese pueden aplicar a esos obetos.

    O #st su fle%ibilidad, y soporte para el maneo de tipos de datos compleos.or eemplo* #n una base de datos con!encional, si una empresa adquiere

  • 7/23/2019 Base de Dato Orientado a Objeto

    11/12

    !arios clientes por referencia de clientes ser!icio, pero la base de datose%istente, que mantiene la informacin de clientes y sus compras, no tiene uncampo para registrar qui0n proporcion la referencia, de qu0 manera fue dichocontacto, o si debe compensarse con una comisin, ser"a necesarioreestructurar la base de datos para a9adir este tipo de modificaciones. or elcontrario, en una BD'', el usuario puede a9adir una =subclase> de la clase declientes para manear las modificaciones que representan los clientes porreferencia.

    a subclase heredar todos los atributos, caracter"sticas de la definicinoriginal, adems se especializar en especificar los nue!os campos que serequieren as" como los m0todos para manipular solamente estos campos@aturalmente se generan los espacios para almacenar la informacin adicionalde los nue!os campos. #sto presenta la !entaa adicional que una BD''

    puede austarse a usar siempre el espacio de los campos que son necesarios,eliminando espacio desperdiciado en registros con campos que nunca usan.

    a segunda !entaa de una BD'', es que manipula datos compleos en formarpida y gilmente. a estructura de la base de datos est dada por referencias(o apuntadores lgicos) entre obetos.

    OSIB"ES DES/ENTAJAS DE UNA BDOO

    Al considerar la adopcin de la tecnolog"a orientada a obetos, la inmadurez

    del mercado de BD'' constituye una posible fuente de problemas por lo quedebe analizarse con detalle la presencia en el mercado del pro!eedor paraadoptar su producto en la l"nea de produccin sustanti!a. or eso en esteart"culo se propone que se e%plore esta tecnolog"a en un proyecto piloto.

    #l segundo problema es la falta de estndares en la industria orientadas aobetos. $in embargo, el =

  • 7/23/2019 Base de Dato Orientado a Objeto

    12/12

    +nmadurez en el mercado

    @o hay agrupamiento f"sico de obetos

    $u limitacin suele residir en su especializacin, ya que suelen estar dise9adaspara un tipo particular de obetos (por eemplo, una base de datos para unprograma de &AD).

    &arencia de un modelo de datos uni!ersal

    DI-ERENCIA ENTRE UN RDB#S ) OODB#S

    N Tab3as nor4a3iridad$identidad = reerencia3.

    N E3 es?ue4a conce@tua3corres@onde a base de datose4@resaria3 = 3a a@3icaci0ne:@3ota a tras de su es?ue4ae:terno.

    N uede iniciarse una consu3ta a

    @artir de cua3?uier re3aci0nderiab3e de 3as re3acionesre@resentadas @or 3as tab3as de3a base de datos.

    N Busca una re@resentaci0ninde@endiente de 3asa@3icaciones ?ue e:@3otan 3abase de datos.

    N Orece a 3as dierentesar?uitecturas de a@3icacionesuna intera< co4n$ S(".

    N Objetos co4@3ejos$ contienenco3ecciones de objetos o reerencias aotros objetos

    N E3 objeto @ersistente tiene 3a 4is4aestructura ?ue su ersi0n transiente.

    N Re?uiere 3a deinici0n de objetosdistin>uidos ?ue un>en co4o @untosde acceso a @artir de 3os cua3es es@osib3e acceder a3 resto de 3os objetos.

    N "as a@3icaciones deben conocer 3os@untos de entrada.

    N Busca 3a e?uia3encia entre 3aestructura de 3os objetos en 3a base dedatos = 3os objetos uti3iuaje orientado a objetos o bien siest dis@onib3e O("