SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
QUE SON LAS BASES DE DATOS ORIENTADOS A OBJETOS
El desarrollo del paradigma orientado a objetos aporta un gran cambio en el modo en que vemos los datos
y los procedimientos que actúan sobre ellos. Tradicionalmente, los datos y los procedimientos se han
almacenado separadamente: los datos y sus relaciones en la base de datos y los procedimientos en los
programas de aplicación. La orientación a objetos, sin embargo, combina los procedimientos de una
entidad con sus datos.
Esta combinación se considera como un paso adelante en la gestión de datos. Las entidades son unidades
auto contenidas que se pueden reutilizar con relativa facilidad. En lugar de ligar el comportamiento de
una entidad a un programa de aplicación, el comportamiento es parte de la entidad en sı, por lo en
cualquier lugar en el que se utilice la entidad, se comporta de un modo predecible y conocido.
El modelo orientado a objetos también soporta relaciones de muchos a muchos, siendo el primer modelo
que lo permite. Aun así se debe ser muy cuidadoso cuando se diseñan estas relaciones para evitar pérdidas
de información por otra parte, las bases de datos orientadas a objetos son navegaciones:
El acceso a los datos es a través de las relaciones, que se almacenan con los mismos datos. Esto se
considera un paso atrás. Las bases de datos orientadas a objetos no son apropiadas para realizar consultas
ad hoc, al contrario que las bases de datos relacionales, aunque normalmente las soportan. La naturaleza
navegacional de las bases de datos orientadas a objetos implica que las consultas deben seguir relaciones
predefinidas y que no pueden insertarse nuevas relaciones “al vuelo”.
No parece que las bases de datos orientadas a objetos vayan a reemplazar a las bases de datos
relacionales en todas las aplicaciones del mismo modo en que ́estas reemplazaron a sus predecesoras.
Los objetos han entrado en el mundo de las bases de datos de formas:
 SGBD orientados a objetos puros: son SGBD basados completamente en el modelo orientado a
objetos.
 SGBD híbridos u objeto–relacionales: son SGBD relacionales que permiten almacenar objetos en
sus relaciones (tablas).
 A continuación se definen los conceptos del paradigma orientado a objetos en programación, ya
que el modelo de datos orientado a objetos es una extensión del mismo.
Objeto.
Es un elemento auto contenido utilizado por el programa. Los valores que almacena un objeto se
denominan atributos, variables o propiedades. Los objetos pueden realizar acciones, que se denominan
métodos, servicios, funciones, procedimientos u operaciones. Los objetos tienen un gran sentido de la
privacidad, por lo que solo dan información sobre sı mismos a través de los métodos que poseen para
compartir su información. También ocultan la implementación de sus procedimientos, aunque es muy
sencillo pedirles que los ejecuten.
Los usuarios y los programas de aplicación no pueden ver que hay dentro de los métodos, solo pueden
ver los resultados de ejecutarlos. A esto es a lo que se denomina ocultación de información o
encapsulamiento de datos.
Cada objeto presenta una interface pública 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
implementación de los métodos sin que sea necesario informar al resto de objetos que los utilizan. Para
pedir datos a un objeto o que ́este realice una acción se le debe enviar un mensaje. Un programa
orientado a objetos es un conjunto de objetos que tienen atributos y métodos. Los objetos interactúan
enviándose mensajes. La clave, por supuesto, es averiguar que objetos necesita el programa y cuáles
deben ser sus atributos y sus métodos.
Clase.
Es un patrón 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 métodos que se
han escrito para la clase. Todos los objetos creados a partir de la misma clase comparten los mismos
procedimientos para sus métodos, también tienen los mismos tipos para sus datos, pero los valores
pueden diferir.
Una clase también es un tipo de datos. De hecho una clase es una implementación de lo que se conoce
como un tipo abstracto de datos. El que una clase sea también 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 operación 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 información (por ejemplo, las
ventanas gráficas y los menús 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 envían a los objetos entidad para que los
almacenen y los procesen. La salida impresa y por pantalla la formatea un objeto interface para obtener
los datos a visualizar de los objetos entidad. Cuando los objetos entidad forman parte de la base de datos,
es el SGBD el que se encarga de la entrada/salida a ficheros.
El resto de la entrada/salida la manejan los programas de aplicación o las utilidades del SGBD. Muchos
programas orientados a objetos tienen un cuarto tipo de clase: la clase contenedor. Estas clases
contienen, o manejan, múltiples objetos creados a partir del mismo tipo de clase. También se conocen
como agregaciones. Las clases contenedor mantienen los objetos en algún orden, los listan e incluso
pueden permitir búsquedas en ellos. Muchos SGBD orientados a objetos llaman a sus clases contenedor
Extents (extensiones) y su objetivo es permitir el acceso a todos los objetos creados a partir de la misma
clase.
Tipos de métodos.
Hay varios tipos de métodos que son comunes a la mayoría de las clases:
Constructores. Un constructor es un método 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 método que se utiliza para destruir un objeto.
No todos los lenguajes orientados a objetos poseen destructores accesores. Un accesor es un método
que devuelve el valor de un atributo privado de otro objeto. Así es como los objetos externos pueden
acceder a los datos encapsulados. Mutadores. Un mutador es un método que almacena un nuevo valor
en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados.
Además, cada clase tendrá otros métodos dependiendo del comportamiento especıfico que deba poseer.
Sobrecarga de métodos.
Una de las características de las clases es que pueden tener métodos sobrecargados, que son métodos
que tienen el mismo nombre pero que necesitan distintos datos para operar. Ya que los datos son
distintos, las interfaces públicas de los métodos serán diferentes. Por ejemplo, consideremos una clase
contenedor. (Marqués, 12 de abril de 2002)
CARACTERÍSTICAS
Un sistema de base de datos orientados a objetos debe poseer las siguientes características, desde los
más sencillos a objetos más complejos.
I. Tipos complejos
Array: Son matrices de elementos de datos, como los que podemos encontrar en innumerables
aplicaciones científicas.
 Sentencia de tipo: Insertar elementos en una matriz en cualquier posición.
 Tuplas: Forma natural de representar las propiedades de una entidad.
 Conjunto: Forma natural de representar los grupos del mundo real.
 Funciones: Para crear, modificar y borrar otros objetos.
 Uniones: Elementos de datos que pueden tomar diferentes valores de los diferentes tipos, es
decir, matrices heterogéneas.
II. Identidad de objeto
La identidad es aquella propiedad de un objeto que lo distingue de todos los demás objetos. La idea es
que en un modelo con identidad de los objetos, la existencia de un objeto es independiente de su valor.
Cada objeto se representa por un ID (Identificador de objetos) que es único dentro de toda la base de
datos. Estos IDOs no tienen que ser gestionados por el programador ya que son implementados a bajo
nivel por el sistema, lo que a su vez incrementa el rendimiento del mismo. De esta forma dos objetos
serán diferentes si tienen IDOs diferentes, aunque sus atributos tengan los mismos valores. Así, dos
objetos pueden ser idénticos (son el mismo objeto, tienen el mismo IDO) o iguales (tienen el mismo valor).
Esto implica que dos objetos idénticos son a su vez iguales, mientras que lo inverso no es cierto.
La identidad de los objetos es además una potente primitiva que puede ser la base para el manejo de
tuplas, conjuntos, y objetos complejos recursivos. También permite operaciones tales como asignación o
copia de objetos.
III. Encapsulamiento
El encapsulamiento se centra en la implementación que da lugar al comportamiento observable de un
objeto. El encapsulamiento se consigue a menudo mediante la ocultación de información, es decir, se
basa en ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales. El
encapsulamiento proporciona, por tanto, barreras explícitas entre abstracciones diferentes.
Existen dos visiones diferentes del encapsulamiento [ATK89], la primera y original que es la del lenguaje
de programación; y la segunda que es la adaptación de esa visión 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 programación la estructura de datos es claramente parte de la
implementación y no de la interfaz. Como se puede observar, el encapsulamiento proporciona una forma
lógica de independencia de los datos, ya que se puede cambiar la implementación de un tipo sin cambiar
ninguno de los programas que usan ese tipo.
IV. Tipos y clases
Existen dos categorías principales de sistemas orientados a objetos, los que soportan el concepto de clases
y los que soportan el concepto de tipo. Un tipo en un sistema orientado a objetos se corresponde con el
concepto de tipo abstracto de datos.
Es un conjunto de objetos que tienen un mismo comportamiento (comparten una misma funcionalidad)
que se puede observar desde afuera. Esto significa que el tipo al cual un objeto pertenece depende de
qué operaciones puedan invocarse sobre el objeto.
V. Herencia
Las clases o tipos heredan de sus ancestros.
Ventajas de la herencia:
 Ayuda al modelado porque proporciona una descripción concisa y precisa del mundo.
 Ayuda a compartir especificaciones e implementaciones en las aplicaciones.
VI. Polimorfismo, sobrecarga y ligadura tardía.
Existen casos en los que se desea tener el mismo nombre para diferentes operaciones. Supongamos la
operación dibuja que toma un objeto como entrada y lo dibuja en pantalla. Dependiendo del tipo de
objeto (cuadrado, estrella, flecha,...) debemos emplear diferentes mecanismos de visualización. Es decir,
necesitamos visualizar un conjunto cuyos miembros no se conocen en tiempo de compilación.
En una aplicación que emplee el sistema convencional, habrá tantas operaciones como figuras a
representar: dibuja cuadrado, dibuja estrella, dibuja flecha, etc.
En un sistema orientado a objetos se definirá la operación en una clase más general. Así dibuja tendrá un
único nombre y podrá emplearse indiferentemente sobre cualquier figura.
VII. Complejidad de cálculos
Puede expresarse cualquier función computable utilizando el lenguaje de modificación de datos de un
sistema de base de datos.
VIII. Extensibilidad.
El conjunto de tipos predefinidos que aporta el sistema de base de datos debe ser extensible mediante
algún mecanismo que permita definir tipos nuevos.
No debe haber distinción en cuanto al uso de los tipos definidos por el sistema y los extendidos.
IX. Persistencia
La persistencia es una de las características 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 conservación de los datos, mientras que la persistencia heredada del modelo de objetos
hace referencia no sólo a la conservación del estado de un objeto, sino también a la conservación de la
clase, que debe trascender a cualquier programa individual, de forma que todos los programas
interpreten de la misma manera el estado almacenado.
X. Gestión de almacenamiento
La gestión del almacenamiento secundario es soportada por un conjunto de mecanismos que no son
visibles al usuario, tales como gestión de índices, agrupación de datos, selección del camino de acceso,
optimización de consultas, etc. Estos mecanismos evitan que se tengan que escribir programas para
mantener índices, asignar el almacenamiento en disco, o trasladar los datos entre el disco y la memoria
principal, creándose de esta forma una independencia entre los niveles lógicos y físicos del sistema.
XI. Concurrencia
El SGBO debe gestionar el acceso de múltiples usuarios a la vez. Soportando la noción de atomicidad de
una secuencia de operaciones y la compartición controlada. .
Si se introduce concurrencia en nuestro sistema hay que considerar cómo los objetos activos sincronizan
sus actividades con otros, así como con objetos puramente secuenciales. Por ejemplo, si dos objetos
activos intentan enviar mensajes a un tercer objeto, hay que tener la seguridad de que existe algún
mecanismo de exclusión mutua, de forma que el estado del objeto sobre el que se actúa no está corrupto
cuando los dos objetos activos intentan actualizarlo simultáneamente. En presencia de la concurrencia no
hay que definir simplemente los métodos de un objeto; hay que asegurarse también de que la semántica
de estos métodos se mantiene a pesar de la existencia de múltiples usuarios concurrentes.
XII. Recuperación
El sistema debe proporcionar como mínimo el mismo nivel de recuperación que los sistemas de bases de
datos actuales. De forma que, tanto en caso de fallo de hardware como de fallo de software, el sistema
pueda retroceder hasta un estado coherente de los datos. Los fallos de los que un sistema debe ser capaz
de recuperarse pueden producirse por diferentes motivos, por ejemplo:
Interrupción en el suministro de energía, de forma que se pierda la información almacenada en la
memoria principal y en los registros de uso general.
Errores de software, debido a que los resultados generados son incorrectos, lo que provoca respuestas
erróneas a los usuarios y que la base de datos entre en un estado incongruente.
XIII. Facilidad de consulta ad hoc
El sistema debería proporcionar la funcionalidad de un lenguaje de consulta ad hoc, es decir, permitir al
usuario hacer cuestiones sencillas a la base de datos. Este tipo de consultas tienen como misión
proporcionar la información solicitada por el usuario de una forma correcta y rápida. (Prieto, 2011)
CARACTERÍSTICAS OPCIONALES
I. Herencias múltiples
Tipo de herencia que permite a una clase tener más de una super-clase y heredar características de sus
ancestros. Así, si un sistema ofrece herencia múltiple pueden surgir una serie de conflictos, como el hecho
de que dos o más superclases tengan un atributo con el mismo nombre, pero con dominios diferentes.
También puede ocurrir que exista Herencias repetidas, esto pasa cuando dos o más superclases
"hermanas", comparten una superclase común, ya que entonces hay que decidir si la clase que hereda de
ambas debe tener una sola copia o muchas copias de la estructura de la clase compartida.
II. Distribución
Los objetos de las bases de datos pueden estar almacenados en diferentes ubicaciones, sin que el usuario
al acceder a ellos sea consciente de esta circunstancia, el sistema debe proporcionar una forma de realizar
esta operación de manera transparente.
III. Versiones
La mayoría de las nuevas aplicaciones, tales como CAD/CAM y CASE, comprenden una actividad de diseño
que requiere alguna forma de versionado una versión es una instantánea semánticamente significativa
tomada al objeto de diseño en un momento dado en el tiempo.
Una versión de un objeto se crea a partir de las modificaciones hechas en el tiempo a las versiones previas
de éste, comenzando con una versión inicial. La traza de estas derivaciones se mantiene a través de una
historia de las versiones.
Una versión de un objeto complejo puede constar de las versiones específicas de sus objetos
componentes. (Prieto, 2011)
VENTAJAS Y DESVENTAJAS
Las ventajas de un BDOO son:
 Mayor capacidad de modelado:
 Un objeto permite encapsular tanto un estado como un comportamiento.
 Un objeto puede almacenar todas las relaciones que tenga con otros objetos.
 Los objetos pueden agruparse para formar objetos complejos (herencia).
 Se pueden construir nuevos tipos de datos a partir de los ya existentes
 Agrupar propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la
redundancia.
 Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor
tiempo de desarrollo.
 El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en
un SGBDOO. Mientras que SQL utiliza el acceso asociativo.
 El acceso navegacional es más adecuado para gestionar operaciones como los despieces,
consultas recursivas, etc.
 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. .
 Los SGBDOO proporcionan mejoras significativas de rendimiento con respecto a los SGBD
relacionales.
Las desventajas de una BDOO son:
 Carencia de un modelo de datos universal.
 No hay ningún modelo de datos que esté universalmente aceptado para los SGBDOO y la mayoría
de los modelos carecen una base teórica.
 Carencia de experiencia.
 Lentitud a la hora de ejecutar el sistema.
 Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales.
 Carencia de estándares.
 Existe una carencia de estándares general para los SGBDOO.
 Competencia. Con respecto a los SGBDR y los SGBDOR.
 El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en
un SGBDOO. Mientras que SQL utiliza el acceso asociativo.
 Estos productos tienen una experiencia de uso considerable. SQL es un estándar aprobado y
ODBC es un estándar de facto. Además, el modelo relacional tiene una sólida base teórica y los
productos relacionales disponen de muchas herramientas de soporte que sirven tanto para
desarrolladores como para usuarios finales.
 La optimización de consultas compromete la encapsulación.
 La optimización de consultas requiere una compresión de la implementación de los objetos, para
poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el
concepto de encapsulación. Bases de Datos Orientadas a Objetos
 El modelo de objetos aún no tiene una teoría matemática que le sirva de base. (Torres, 2010)
DIFERENCIAS ENTRE EL MODELO DE OBJETOS Y EL MODELO RELACIONAL
Mientras que en una BDR los datos a almacenar se almacenan representados en tablas en un BDOO los
datos se almacenan como objetos. Un objeto en BDOO como en POO es una entidad identificable
unívocamente que describe tanto el estado como el comportamiento de una entidad del ‘mundo real’.
El estado de un objeto es descrito mediante atributos mientras que su comportamiento es definido
mediante métodos.
La forma de identificar objetos es mediante un identificador de objetos (OID, Object Identifier), único para
cada objeto. General mente 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.
Cada objeto contiene define procedimientos (métodos) y la interfaz mediante la cual se puede acceder a
él y otros objetos pueden manipularlo. La mayoría 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. (María Pilar Azcarate Toro, 2011)
Bibliografía
María Pilar Azcarate Toro, A. C. (2011). Base de datos orientado a objetos y objeto relacional.
Pereira.
Marqués, M. (12 de abril de 2002). Bases de datos orientadas a objetos (Vol. 2). Diseño de
Sistemas de Bases de Datos.
Prieto, A. B. (2011). Introducción a los sistemas de gestión de bases de. Universidad de Oviedo.
Torres, J. P. (2010). Base de datos orientado a objetos (Vol. 2). IES SAN VICENTE.
deber 4

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Nociones Básicas de POO
Nociones Básicas de POONociones Básicas de POO
Nociones Básicas de POO
 
Mapa conceptual poo
Mapa conceptual pooMapa conceptual poo
Mapa conceptual poo
 
Tarea de objeto y clase poo
Tarea de objeto y clase pooTarea de objeto y clase poo
Tarea de objeto y clase poo
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
Universidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosUniversidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelos
 
Mer
MerMer
Mer
 
Unidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareUnidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del software
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
Unidad DidáCtica I Bases De Datos
Unidad DidáCtica I Bases De DatosUnidad DidáCtica I Bases De Datos
Unidad DidáCtica I Bases De Datos
 
Quasi - Modelo de datos
Quasi - Modelo de datosQuasi - Modelo de datos
Quasi - Modelo de datos
 
Adoo martha hidalgo
Adoo   martha hidalgoAdoo   martha hidalgo
Adoo martha hidalgo
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
2 glosario
2 glosario2 glosario
2 glosario
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Modelos conceptuales
Modelos conceptualesModelos conceptuales
Modelos conceptuales
 

Andere mochten auch

RECURSO DE CASACION LABORAL DE LILIBETH OJEDA
RECURSO DE CASACION LABORAL DE LILIBETH OJEDARECURSO DE CASACION LABORAL DE LILIBETH OJEDA
RECURSO DE CASACION LABORAL DE LILIBETH OJEDAliliojeda
 
Arte popular
Arte popularArte popular
Arte popularjosejcme
 
Ak kursbuch herbst_2011
Ak kursbuch herbst_2011Ak kursbuch herbst_2011
Ak kursbuch herbst_2011brassist
 
Plataforma virtual
Plataforma virtualPlataforma virtual
Plataforma virtualNancy Taco
 
Singaña vanessa practica word1
Singaña vanessa practica word1Singaña vanessa practica word1
Singaña vanessa practica word1vane01si
 
Generaciones de la educación a distancia
Generaciones de la educación a distanciaGeneraciones de la educación a distancia
Generaciones de la educación a distanciaKarenLbt
 
Dios gracias por todas tus bendiciones a mi
Dios gracias por todas tus bendiciones a miDios gracias por todas tus bendiciones a mi
Dios gracias por todas tus bendiciones a miPapa Torres Barrios
 
jusCoaching 13 - Begrüssungscoaching
jusCoaching 13 - BegrüssungscoachingjusCoaching 13 - Begrüssungscoaching
jusCoaching 13 - BegrüssungscoachingFVJus
 
Los mejores diseños web vistos últimamente
Los mejores diseños web vistos últimamenteLos mejores diseños web vistos últimamente
Los mejores diseños web vistos últimamenteTooeasy
 
Derechos de autor en imágenes digitales
Derechos de autor en imágenes digitalesDerechos de autor en imágenes digitales
Derechos de autor en imágenes digitalesFernanda Ortiz
 
Geotgebra miguelyruben
Geotgebra miguelyrubenGeotgebra miguelyruben
Geotgebra miguelyrubenmiguyru
 
Wirkung anbieterseitiger Kundendifferenzierung auf Kundenbeziehungen
Wirkung anbieterseitiger Kundendifferenzierung auf KundenbeziehungenWirkung anbieterseitiger Kundendifferenzierung auf Kundenbeziehungen
Wirkung anbieterseitiger Kundendifferenzierung auf KundenbeziehungenJonas M. Meckel
 
Uribarrena a investicacción (1)
Uribarrena a investicacción (1)Uribarrena a investicacción (1)
Uribarrena a investicacción (1)Andreauri97
 

Andere mochten auch (20)

Spirit Wings
Spirit WingsSpirit Wings
Spirit Wings
 
RECURSO DE CASACION LABORAL DE LILIBETH OJEDA
RECURSO DE CASACION LABORAL DE LILIBETH OJEDARECURSO DE CASACION LABORAL DE LILIBETH OJEDA
RECURSO DE CASACION LABORAL DE LILIBETH OJEDA
 
Arte popular
Arte popularArte popular
Arte popular
 
Ak kursbuch herbst_2011
Ak kursbuch herbst_2011Ak kursbuch herbst_2011
Ak kursbuch herbst_2011
 
Ofertas internas linkedin 02-02
Ofertas internas linkedin 02-02Ofertas internas linkedin 02-02
Ofertas internas linkedin 02-02
 
Plataforma virtual
Plataforma virtualPlataforma virtual
Plataforma virtual
 
Cifras significativas
Cifras significativasCifras significativas
Cifras significativas
 
Singaña vanessa practica word1
Singaña vanessa practica word1Singaña vanessa practica word1
Singaña vanessa practica word1
 
Business bavaria 12-2013_de
Business bavaria 12-2013_deBusiness bavaria 12-2013_de
Business bavaria 12-2013_de
 
Generaciones de la educación a distancia
Generaciones de la educación a distanciaGeneraciones de la educación a distancia
Generaciones de la educación a distancia
 
Dios gracias por todas tus bendiciones a mi
Dios gracias por todas tus bendiciones a miDios gracias por todas tus bendiciones a mi
Dios gracias por todas tus bendiciones a mi
 
jusCoaching 13 - Begrüssungscoaching
jusCoaching 13 - BegrüssungscoachingjusCoaching 13 - Begrüssungscoaching
jusCoaching 13 - Begrüssungscoaching
 
Los mejores diseños web vistos últimamente
Los mejores diseños web vistos últimamenteLos mejores diseños web vistos últimamente
Los mejores diseños web vistos últimamente
 
Unternehmensverantwortung im praktischen Spannungsfeld
Unternehmensverantwortung im praktischen SpannungsfeldUnternehmensverantwortung im praktischen Spannungsfeld
Unternehmensverantwortung im praktischen Spannungsfeld
 
Derechos de autor en imágenes digitales
Derechos de autor en imágenes digitalesDerechos de autor en imágenes digitales
Derechos de autor en imágenes digitales
 
Geotgebra miguelyruben
Geotgebra miguelyrubenGeotgebra miguelyruben
Geotgebra miguelyruben
 
Wirkung anbieterseitiger Kundendifferenzierung auf Kundenbeziehungen
Wirkung anbieterseitiger Kundendifferenzierung auf KundenbeziehungenWirkung anbieterseitiger Kundendifferenzierung auf Kundenbeziehungen
Wirkung anbieterseitiger Kundendifferenzierung auf Kundenbeziehungen
 
Uribarrena a investicacción (1)
Uribarrena a investicacción (1)Uribarrena a investicacción (1)
Uribarrena a investicacción (1)
 
Psicología ejemplo
Psicología ejemploPsicología ejemplo
Psicología ejemplo
 
Examen on line i ijunior
Examen on line i ijuniorExamen on line i ijunior
Examen on line i ijunior
 

Ähnlich wie deber 4

Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetosJuan Anaya
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosJuan Carlos Riva
 
Sistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacionalSistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacionalFlor de la Luz
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionAlfonso Triana
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionANGIEZAMBRANO57
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Actividad nº 7
Actividad nº 7Actividad nº 7
Actividad nº 7marcos_77
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosalexmoncada21
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAngel Laverde ID
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjuliomancerotroya
 
Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1Jhonny Tenesaca
 

Ähnlich wie deber 4 (20)

Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetos
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Sistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacionalSistema de bases orientada a objetos y relacional
Sistema de bases orientada a objetos y relacional
 
Lumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdfLumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdf
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Actividad nº 7
Actividad nº 7Actividad nº 7
Actividad nº 7
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1
 

Mehr von GeovannyYungan

Herramientas para crear y compartir
Herramientas para crear y compartir Herramientas para crear y compartir
Herramientas para crear y compartir GeovannyYungan
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación   Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación GeovannyYungan
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación GeovannyYungan
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación GeovannyYungan
 
Acuerdos y compromisos
Acuerdos y compromisos   Acuerdos y compromisos
Acuerdos y compromisos GeovannyYungan
 
Acta de compromiso (1)
Acta de compromiso (1) Acta de compromiso (1)
Acta de compromiso (1) GeovannyYungan
 
Yungan geovanny rl_1cd
Yungan geovanny rl_1cdYungan geovanny rl_1cd
Yungan geovanny rl_1cdGeovannyYungan
 
ffghYungan geovanny bdii_t8
ffghYungan geovanny bdii_t8ffghYungan geovanny bdii_t8
ffghYungan geovanny bdii_t8GeovannyYungan
 
Yungán geovanny bdii_t7
Yungán geovanny bdii_t7Yungán geovanny bdii_t7
Yungán geovanny bdii_t7GeovannyYungan
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2GeovannyYungan
 

Mehr von GeovannyYungan (20)

Examen
Examen Examen
Examen
 
Seguimiento
Seguimiento Seguimiento
Seguimiento
 
Correccion
Correccion Correccion
Correccion
 
Final
Final Final
Final
 
Herramientas para crear y compartir
Herramientas para crear y compartir Herramientas para crear y compartir
Herramientas para crear y compartir
 
Herreamientas
Herreamientas  Herreamientas
Herreamientas
 
Web2.0 v
Web2.0 vWeb2.0 v
Web2.0 v
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación   Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicación
 
Funciones
Funciones Funciones
Funciones
 
Plan buen vivir
Plan buen vivir Plan buen vivir
Plan buen vivir
 
Geovanny 1
Geovanny 1 Geovanny 1
Geovanny 1
 
Geovanny yungan
Geovanny yungan Geovanny yungan
Geovanny yungan
 
Acuerdos y compromisos
Acuerdos y compromisos   Acuerdos y compromisos
Acuerdos y compromisos
 
Acta de compromiso (1)
Acta de compromiso (1) Acta de compromiso (1)
Acta de compromiso (1)
 
Yungan geovanny rl_1cd
Yungan geovanny rl_1cdYungan geovanny rl_1cd
Yungan geovanny rl_1cd
 
ffghYungan geovanny bdii_t8
ffghYungan geovanny bdii_t8ffghYungan geovanny bdii_t8
ffghYungan geovanny bdii_t8
 
Yungán geovanny bdii_t7
Yungán geovanny bdii_t7Yungán geovanny bdii_t7
Yungán geovanny bdii_t7
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
 

deber 4

  • 1. QUE SON LAS BASES DE DATOS ORIENTADOS A OBJETOS El desarrollo del paradigma orientado a objetos aporta un gran cambio en el modo en que vemos los datos y los procedimientos que actúan sobre ellos. Tradicionalmente, los datos y los procedimientos se han almacenado separadamente: los datos y sus relaciones en la base de datos y los procedimientos en los programas de aplicación. La orientación a objetos, sin embargo, combina los procedimientos de una entidad con sus datos. Esta combinación se considera como un paso adelante en la gestión de datos. Las entidades son unidades auto contenidas que se pueden reutilizar con relativa facilidad. En lugar de ligar el comportamiento de una entidad a un programa de aplicación, el comportamiento es parte de la entidad en sı, por lo en cualquier lugar en el que se utilice la entidad, se comporta de un modo predecible y conocido. El modelo orientado a objetos también soporta relaciones de muchos a muchos, siendo el primer modelo que lo permite. Aun así se debe ser muy cuidadoso cuando se diseñan estas relaciones para evitar pérdidas de información por otra parte, las bases de datos orientadas a objetos son navegaciones: El acceso a los datos es a través de las relaciones, que se almacenan con los mismos datos. Esto se considera un paso atrás. Las bases de datos orientadas a objetos no son apropiadas para realizar consultas ad hoc, al contrario que las bases de datos relacionales, aunque normalmente las soportan. La naturaleza navegacional de las bases de datos orientadas a objetos implica que las consultas deben seguir relaciones predefinidas y que no pueden insertarse nuevas relaciones “al vuelo”. No parece que las bases de datos orientadas a objetos vayan a reemplazar a las bases de datos relacionales en todas las aplicaciones del mismo modo en que ́estas reemplazaron a sus predecesoras. Los objetos han entrado en el mundo de las bases de datos de formas:  SGBD orientados a objetos puros: son SGBD basados completamente en el modelo orientado a objetos.  SGBD híbridos u objeto–relacionales: son SGBD relacionales que permiten almacenar objetos en sus relaciones (tablas).  A continuación se definen los conceptos del paradigma orientado a objetos en programación, ya que el modelo de datos orientado a objetos es una extensión del mismo. Objeto. Es un elemento auto contenido utilizado por el programa. Los valores que almacena un objeto se denominan atributos, variables o propiedades. Los objetos pueden realizar acciones, que se denominan métodos, servicios, funciones, procedimientos u operaciones. Los objetos tienen un gran sentido de la privacidad, por lo que solo dan información sobre sı mismos a través de los métodos que poseen para compartir su información. También ocultan la implementación de sus procedimientos, aunque es muy sencillo pedirles que los ejecuten. Los usuarios y los programas de aplicación no pueden ver que hay dentro de los métodos, solo pueden ver los resultados de ejecutarlos. A esto es a lo que se denomina ocultación de información o encapsulamiento de datos. Cada objeto presenta una interface pública 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 implementación de los métodos sin que sea necesario informar al resto de objetos que los utilizan. Para pedir datos a un objeto o que ́este realice una acción se le debe enviar un mensaje. Un programa orientado a objetos es un conjunto de objetos que tienen atributos y métodos. Los objetos interactúan enviándose mensajes. La clave, por supuesto, es averiguar que objetos necesita el programa y cuáles deben ser sus atributos y sus métodos.
  • 2. Clase. Es un patrón 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 métodos que se han escrito para la clase. Todos los objetos creados a partir de la misma clase comparten los mismos procedimientos para sus métodos, también tienen los mismos tipos para sus datos, pero los valores pueden diferir. Una clase también es un tipo de datos. De hecho una clase es una implementación de lo que se conoce como un tipo abstracto de datos. El que una clase sea también 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 operación 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 información (por ejemplo, las ventanas gráficas y los menús 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 envían a los objetos entidad para que los almacenen y los procesen. La salida impresa y por pantalla la formatea un objeto interface para obtener los datos a visualizar de los objetos entidad. Cuando los objetos entidad forman parte de la base de datos, es el SGBD el que se encarga de la entrada/salida a ficheros. El resto de la entrada/salida la manejan los programas de aplicación o las utilidades del SGBD. Muchos programas orientados a objetos tienen un cuarto tipo de clase: la clase contenedor. Estas clases contienen, o manejan, múltiples objetos creados a partir del mismo tipo de clase. También se conocen como agregaciones. Las clases contenedor mantienen los objetos en algún orden, los listan e incluso pueden permitir búsquedas en ellos. Muchos SGBD orientados a objetos llaman a sus clases contenedor Extents (extensiones) y su objetivo es permitir el acceso a todos los objetos creados a partir de la misma clase. Tipos de métodos. Hay varios tipos de métodos que son comunes a la mayoría de las clases: Constructores. Un constructor es un método 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 método que se utiliza para destruir un objeto. No todos los lenguajes orientados a objetos poseen destructores accesores. Un accesor es un método que devuelve el valor de un atributo privado de otro objeto. Así es como los objetos externos pueden acceder a los datos encapsulados. Mutadores. Un mutador es un método que almacena un nuevo valor en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados. Además, cada clase tendrá otros métodos dependiendo del comportamiento especıfico que deba poseer. Sobrecarga de métodos. Una de las características de las clases es que pueden tener métodos sobrecargados, que son métodos que tienen el mismo nombre pero que necesitan distintos datos para operar. Ya que los datos son
  • 3. distintos, las interfaces públicas de los métodos serán diferentes. Por ejemplo, consideremos una clase contenedor. (Marqués, 12 de abril de 2002) CARACTERÍSTICAS Un sistema de base de datos orientados a objetos debe poseer las siguientes características, desde los más sencillos a objetos más complejos. I. Tipos complejos Array: Son matrices de elementos de datos, como los que podemos encontrar en innumerables aplicaciones científicas.  Sentencia de tipo: Insertar elementos en una matriz en cualquier posición.  Tuplas: Forma natural de representar las propiedades de una entidad.  Conjunto: Forma natural de representar los grupos del mundo real.  Funciones: Para crear, modificar y borrar otros objetos.  Uniones: Elementos de datos que pueden tomar diferentes valores de los diferentes tipos, es decir, matrices heterogéneas. II. Identidad de objeto La identidad es aquella propiedad de un objeto que lo distingue de todos los demás objetos. La idea es que en un modelo con identidad de los objetos, la existencia de un objeto es independiente de su valor. Cada objeto se representa por un ID (Identificador de objetos) que es único dentro de toda la base de datos. Estos IDOs no tienen que ser gestionados por el programador ya que son implementados a bajo nivel por el sistema, lo que a su vez incrementa el rendimiento del mismo. De esta forma dos objetos serán diferentes si tienen IDOs diferentes, aunque sus atributos tengan los mismos valores. Así, dos objetos pueden ser idénticos (son el mismo objeto, tienen el mismo IDO) o iguales (tienen el mismo valor). Esto implica que dos objetos idénticos son a su vez iguales, mientras que lo inverso no es cierto. La identidad de los objetos es además una potente primitiva que puede ser la base para el manejo de tuplas, conjuntos, y objetos complejos recursivos. También permite operaciones tales como asignación o copia de objetos. III. Encapsulamiento El encapsulamiento se centra en la implementación que da lugar al comportamiento observable de un objeto. El encapsulamiento se consigue a menudo mediante la ocultación de información, es decir, se basa en ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales. El encapsulamiento proporciona, por tanto, barreras explícitas entre abstracciones diferentes. Existen dos visiones diferentes del encapsulamiento [ATK89], la primera y original que es la del lenguaje de programación; y la segunda que es la adaptación de esa visión 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 programación la estructura de datos es claramente parte de la implementación y no de la interfaz. Como se puede observar, el encapsulamiento proporciona una forma lógica de independencia de los datos, ya que se puede cambiar la implementación de un tipo sin cambiar ninguno de los programas que usan ese tipo. IV. Tipos y clases
  • 4. Existen dos categorías principales de sistemas orientados a objetos, los que soportan el concepto de clases y los que soportan el concepto de tipo. Un tipo en un sistema orientado a objetos se corresponde con el concepto de tipo abstracto de datos. Es un conjunto de objetos que tienen un mismo comportamiento (comparten una misma funcionalidad) que se puede observar desde afuera. Esto significa que el tipo al cual un objeto pertenece depende de qué operaciones puedan invocarse sobre el objeto. V. Herencia Las clases o tipos heredan de sus ancestros. Ventajas de la herencia:  Ayuda al modelado porque proporciona una descripción concisa y precisa del mundo.  Ayuda a compartir especificaciones e implementaciones en las aplicaciones. VI. Polimorfismo, sobrecarga y ligadura tardía. Existen casos en los que se desea tener el mismo nombre para diferentes operaciones. Supongamos la operación dibuja que toma un objeto como entrada y lo dibuja en pantalla. Dependiendo del tipo de objeto (cuadrado, estrella, flecha,...) debemos emplear diferentes mecanismos de visualización. Es decir, necesitamos visualizar un conjunto cuyos miembros no se conocen en tiempo de compilación. En una aplicación que emplee el sistema convencional, habrá tantas operaciones como figuras a representar: dibuja cuadrado, dibuja estrella, dibuja flecha, etc. En un sistema orientado a objetos se definirá la operación en una clase más general. Así dibuja tendrá un único nombre y podrá emplearse indiferentemente sobre cualquier figura. VII. Complejidad de cálculos Puede expresarse cualquier función computable utilizando el lenguaje de modificación de datos de un sistema de base de datos. VIII. Extensibilidad. El conjunto de tipos predefinidos que aporta el sistema de base de datos debe ser extensible mediante algún mecanismo que permita definir tipos nuevos. No debe haber distinción en cuanto al uso de los tipos definidos por el sistema y los extendidos. IX. Persistencia La persistencia es una de las características 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 conservación de los datos, mientras que la persistencia heredada del modelo de objetos hace referencia no sólo a la conservación del estado de un objeto, sino también a la conservación de la clase, que debe trascender a cualquier programa individual, de forma que todos los programas interpreten de la misma manera el estado almacenado. X. Gestión de almacenamiento La gestión del almacenamiento secundario es soportada por un conjunto de mecanismos que no son visibles al usuario, tales como gestión de índices, agrupación de datos, selección del camino de acceso, optimización de consultas, etc. Estos mecanismos evitan que se tengan que escribir programas para mantener índices, asignar el almacenamiento en disco, o trasladar los datos entre el disco y la memoria principal, creándose de esta forma una independencia entre los niveles lógicos y físicos del sistema. XI. Concurrencia
  • 5. El SGBO debe gestionar el acceso de múltiples usuarios a la vez. Soportando la noción de atomicidad de una secuencia de operaciones y la compartición controlada. . Si se introduce concurrencia en nuestro sistema hay que considerar cómo los objetos activos sincronizan sus actividades con otros, así como con objetos puramente secuenciales. Por ejemplo, si dos objetos activos intentan enviar mensajes a un tercer objeto, hay que tener la seguridad de que existe algún mecanismo de exclusión mutua, de forma que el estado del objeto sobre el que se actúa no está corrupto cuando los dos objetos activos intentan actualizarlo simultáneamente. En presencia de la concurrencia no hay que definir simplemente los métodos de un objeto; hay que asegurarse también de que la semántica de estos métodos se mantiene a pesar de la existencia de múltiples usuarios concurrentes. XII. Recuperación El sistema debe proporcionar como mínimo el mismo nivel de recuperación que los sistemas de bases de datos actuales. De forma que, tanto en caso de fallo de hardware como de fallo de software, el sistema pueda retroceder hasta un estado coherente de los datos. Los fallos de los que un sistema debe ser capaz de recuperarse pueden producirse por diferentes motivos, por ejemplo: Interrupción en el suministro de energía, de forma que se pierda la información almacenada en la memoria principal y en los registros de uso general. Errores de software, debido a que los resultados generados son incorrectos, lo que provoca respuestas erróneas a los usuarios y que la base de datos entre en un estado incongruente. XIII. Facilidad de consulta ad hoc El sistema debería proporcionar la funcionalidad de un lenguaje de consulta ad hoc, es decir, permitir al usuario hacer cuestiones sencillas a la base de datos. Este tipo de consultas tienen como misión proporcionar la información solicitada por el usuario de una forma correcta y rápida. (Prieto, 2011) CARACTERÍSTICAS OPCIONALES I. Herencias múltiples Tipo de herencia que permite a una clase tener más de una super-clase y heredar características de sus ancestros. Así, si un sistema ofrece herencia múltiple pueden surgir una serie de conflictos, como el hecho de que dos o más superclases tengan un atributo con el mismo nombre, pero con dominios diferentes. También puede ocurrir que exista Herencias repetidas, esto pasa cuando dos o más superclases "hermanas", comparten una superclase común, ya que entonces hay que decidir si la clase que hereda de ambas debe tener una sola copia o muchas copias de la estructura de la clase compartida. II. Distribución Los objetos de las bases de datos pueden estar almacenados en diferentes ubicaciones, sin que el usuario al acceder a ellos sea consciente de esta circunstancia, el sistema debe proporcionar una forma de realizar esta operación de manera transparente. III. Versiones La mayoría de las nuevas aplicaciones, tales como CAD/CAM y CASE, comprenden una actividad de diseño que requiere alguna forma de versionado una versión es una instantánea semánticamente significativa tomada al objeto de diseño en un momento dado en el tiempo. Una versión de un objeto se crea a partir de las modificaciones hechas en el tiempo a las versiones previas de éste, comenzando con una versión inicial. La traza de estas derivaciones se mantiene a través de una historia de las versiones.
  • 6. Una versión de un objeto complejo puede constar de las versiones específicas de sus objetos componentes. (Prieto, 2011) VENTAJAS Y DESVENTAJAS Las ventajas de un BDOO son:  Mayor capacidad de modelado:  Un objeto permite encapsular tanto un estado como un comportamiento.  Un objeto puede almacenar todas las relaciones que tenga con otros objetos.  Los objetos pueden agruparse para formar objetos complejos (herencia).  Se pueden construir nuevos tipos de datos a partir de los ya existentes  Agrupar propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia.  Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor tiempo de desarrollo.  El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en un SGBDOO. Mientras que SQL utiliza el acceso asociativo.  El acceso navegacional es más adecuado para gestionar operaciones como los despieces, consultas recursivas, etc.  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. .  Los SGBDOO proporcionan mejoras significativas de rendimiento con respecto a los SGBD relacionales. Las desventajas de una BDOO son:  Carencia de un modelo de datos universal.  No hay ningún modelo de datos que esté universalmente aceptado para los SGBDOO y la mayoría de los modelos carecen una base teórica.  Carencia de experiencia.  Lentitud a la hora de ejecutar el sistema.  Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales.  Carencia de estándares.  Existe una carencia de estándares general para los SGBDOO.  Competencia. Con respecto a los SGBDR y los SGBDOR.  El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en un SGBDOO. Mientras que SQL utiliza el acceso asociativo.  Estos productos tienen una experiencia de uso considerable. SQL es un estándar aprobado y ODBC es un estándar de facto. Además, el modelo relacional tiene una sólida base teórica y los productos relacionales disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios finales.  La optimización de consultas compromete la encapsulación.  La optimización de consultas requiere una compresión de la implementación de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulación. Bases de Datos Orientadas a Objetos  El modelo de objetos aún no tiene una teoría matemática que le sirva de base. (Torres, 2010)
  • 7. DIFERENCIAS ENTRE EL MODELO DE OBJETOS Y EL MODELO RELACIONAL Mientras que en una BDR los datos a almacenar se almacenan representados en tablas en un BDOO los datos se almacenan como objetos. Un objeto en BDOO como en POO es una entidad identificable unívocamente que describe tanto el estado como el comportamiento de una entidad del ‘mundo real’. El estado de un objeto es descrito mediante atributos mientras que su comportamiento es definido mediante métodos. La forma de identificar objetos es mediante un identificador de objetos (OID, Object Identifier), único para cada objeto. General mente 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. Cada objeto contiene define procedimientos (métodos) y la interfaz mediante la cual se puede acceder a él y otros objetos pueden manipularlo. La mayoría 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. (María Pilar Azcarate Toro, 2011) Bibliografía María Pilar Azcarate Toro, A. C. (2011). Base de datos orientado a objetos y objeto relacional. Pereira. Marqués, M. (12 de abril de 2002). Bases de datos orientadas a objetos (Vol. 2). Diseño de Sistemas de Bases de Datos. Prieto, A. B. (2011). Introducción a los sistemas de gestión de bases de. Universidad de Oviedo. Torres, J. P. (2010). Base de datos orientado a objetos (Vol. 2). IES SAN VICENTE.