SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
14/3/2013


    UNIVERSIDAD TECNOLÓGICA DE TEHUACÁN


TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
          SISTEMAS DE CALIDAD EN TI


        ING. OCTAVIO SÁNCHEZ DELGADO




NOMBRE DEL TRABAJO: MODELOS DE BASE DE DATOS




                  ALUMNA:
           LORZA BARRAGÁN IRENE
INDICE



1. MODELOS RELACIONALES……………………………………………………..3



2. MODELOS OBJETO RELACIONALES………………………………………….5




3. MODELOS ORIENTADO A OBJETOS…………………………………………6



4. COMPONENTES DE LAS BDOO…….…………………………………………8




5. CONCLUSIÓN…………………………………………………………………….10



6. BIBLIOGRAFÍA…………………………………………………………………….11




                      Página 2
MODELOS DE BASE DE DATOS
                                      MODELOS RELACIONALES

Es basado en la teoria de las relaciones, donde los datos se estructuran lógicamente en forma de relaciones
(tablas), siendo el objetivo fundamental del modelo mantener la independencia de esta estructura lógica
respecto al modo de almacenamiento y a cualquier otra característica de tipo físico.

En las bases por Codd presentaba los siguientes objetivos:

   -   Independencia física: El modo en que se almacenan los datos no debe influir en su manipulación
       lógica.

   -   Independencia lógica: Añadir, eliminar o modificar cualquier elemento de la base de datos no debe
       repercutir en los programas y/o usuarios que están accediendo a subconjuntos parciales de los
       mismos.

   -   Flexibilidad: Poder ofrecer a cada usuario los datos de la forma más adecuada a su aplicación.

   -   Sencillez: Que el modelo de datos relacional es fácil de comprender y de utilizar.



                              ESTRUCTURA DEL MODELO RELACIONAL




   -   Un dominio es un conjunto finito de valores homogéneos y atómicos caracterizado por un nombre es
       decir el nombre con el cual se identificara la tabla por ejemplo en la figura su dominio es Profesor.

   -   Atributo es la columna donde se almacena información sobre una propiedad determinada de la tabla
       por ejemplo en la tabla los atributos que tenemos son Codigo, Nombre, Apellidos, Categoria.

   -   La tupla es la filaes donde cada una de ellas contiene los valores que toma el Código, Nombre,
       Apellidos, Categoria.);

   -   Grado es el numero de atributos en la tabla en este ejemplo tenemos 4 atributos.

                                                  Página 3
-   Cardinalidad son el numero de tuplas que tenemos en la tabla.

Tipos de Tablas que podemos encontrar en el modelo relacional

   -   Las pesistentes: Son las que solo pueden ser borradas por los usuarios dentro de esta econtramos
       base, vistas e instantaneas:

                    Base: Son independientes, se crean indicando su estructura y sus ejemplares

                    Vistas: Son tablas que sólo almacenan una definición de consulta, resultado de la cual
                     se produce una tabla cuyos datos proceden de las bases o de otras vistas e
                     Instantáneas si los datos de las tablas base cambian, los de la vista que utiliza esos
                     datos también cambia.

                    Instantáneas. Son vistas (creadas de la misma forma) que sí que almacenan los datos
                     que muestra, además de la consulta que dio lugar a esa vista.

   -   Temporales: Son tablas que se eliminan automáticamente por el sistema. Estas puede ser de
       cualquiera de los tipos anteriormente mensionados.

Las 12 reglas de Codd que deben cumplir los DBMS (los sistemas de gestion de base de datos) para ser
considerados en el modelo relacional.

   1. Informació:. Toda la información de la base de datos debe estar representada explícitamente en el
      esquema lógico.

   2. Acceso garantizado: Todo dato es accesible sabiendo el valor de su clave y el nombre de la columna o
      atributo que contiene el dato.

   3. Tratamiento sistemático de los valores nulos: El DBMS debe permitir el tratamiento adecuado de estos
      valores.

   4. Catálogo en línea basado en el modelo relacional. Los metadatos deben de ser accesibles usando un
      esquema relacional.

   5. Sublenguaje de datos completo: Al menos debe de existir un lenguaje que permita el manejo completo
      de la base de datos.

   6. Actualización de vistas. El DBMS debe encargarse de que las vistas muestren la última información.

   7. Inserciones, modificaciones y eliminaciones de dato nivel: Cualquier operación de modificación debe
      actuar sobre conjuntos de filas, nunca deben actuar registro a registro.

   8. Independencia física: los datos deben de ser accesibles desde la lógica de la base de datos aún
      cuando se modifique el almacenamiento.

   9. Independencia lógica: Los programas no deben verse afectados por cambios en las tablas

   10. Independencia de integridad: Las reglas de integridad deben almacenarse en la base de datos (en el
       diccionario de datos), no en los programas de aplicación.

   11. Independencia de la distribución. El sublenguaje de datos debe permitir que sus instrucciones
       funciones igualmente en una base de datos distribuida que en una que no lo es.

   12. No subversión: Si el DBMS posee un lenguaje que permite el recorrido registro a registro, éste no
       puede utilizarse para incumplir las reglas relacionales.

                                                  Página 4
MODELO OBJETO RELACIONAL

Las bases de datos objeto-relacionales son la evolución natural de las bases de datos orientadas a objetos
puras y las relacionales puras, debido a las limitaciones de ambas. Con objetivo de solucionar esas
limitaciones, surge el modelo orientado a objetos puro, y como una transición entre ambos aparece el modelo
objeto-relacional, este modelo es básicamente el mismo modelo relacional extendido con algunas facilidades
del modelo orientado por objetos y las mejoras de este modelos son las siguientes:

• Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que deben ser soportados
por el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir el
tipo nuevo a ASCII y el otro que convierte de ASCII al nuevo tipo. Se soportan tipos complejos como:
registros, conjuntos, referencias, listas, pilas, colas y arreglos.

• Se pueden crear funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL,
Java, C, etc.

• Se pueden crear operadores asignándole un nombre y asociandoselo a una función ya definida o creada con
anterioridad.

• Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro.

• Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers.

• Soporte adicional para seguridad y activación de la versión cliente-servidor.



En el modelo relacional, las columnas de una tabla se definen mediante tipos de datos primitivos. Es decir,
dos columnas con distinta semántica y distinto comportamiento, podían estar definidas bajo el mismo tipo de
datos compartiendo la misma representación. Estos se usan cuando dos tipos de datos comparten la misma
representación pero tienen distinto comportamiento.

Los tipos de datos mas complejos que se manejan en este modelo a si como algunas caracteristicas que se
manejan, son:

Lobs: Es un tipo de dato que permite almacenar gran cantidad de información ( del orden de

Gigabytes). Existen dos tipos:

   -   BLOB (Binary Large OBject): Se utiliza para guardar datos de tipo binario (fotografía, audio, vídeo,
       etc.).

   -   CLOB (Character Large OBject): Se usan para el almacenamiento de texto (Libros, XML, etc.).

Colección: es un grupo de que se pueden utilizar como el tipo de datos almacenados de una columna en
una tabla. Hay dos dos tipos de colecciones:
    - Array: Conjunto de elementos homogéneos e indexados (similar a un vector en un lenguaje de
        programación de alto nivel).
    - Multiset: Conjunto de elementos alamcenados sin orden y permite elementos repetidos, además se
        permiten colecciones anidadas.
Herencia: existen dos tipos de herencia como la herencia de tablas y la de tipos;
La herencia de tablas puede definise como una jerarquía de tablas tanto la subtabla como la supertabla deben
ser tipadases decir las subtablas heredan los atributos, restricciones, disparadores, etc. De la supertabla o
tabla principal. Y La herencia de tipos indica que la subtabla hereda la estructura y el comportamiento de la
tabla, pudiendo además incluir características propias. Los dos tipos de herencia se especifican mediante la
cláusula UNDER, y además

                                                     Página 5
un tipo puede declarase como FINAL (si no puede tener subtipos) o como NOT FINAL (en caso
contrario):
    - En tipos: CREATE TYPE tipoFinca UNDER tipoPropiedad As () NOT FINAL;
    - En tablas: CREATE TABLE Finca OF tipoFinca UNDER Propiedad;


                                  MODELO ORIENTADO A OBJETOS


El objetivo del modelo orientado a objetos es satisfacer las necesidades de los usuarios finales como la de los
desarrolladores de software mediante una cierta capacidad de modelar el mundo real, este modelo cuenta con
ciertas ventajas que ha mejorado el desarrollo de software como permiten un modelado mas natural de la
realidad, facilitando la reutilizacion de componentes de software y ofrece mecanismos de abstracion para
mantener controlable la construccion de sitemas mas complejos.
Dentro de este modelo orientado objeto debemos conocer conceptos como son objetos, clases, asbtraccion,
encapsulamiento, herencia, polimorfismo.

     Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos y se delimita
como una estructura que encapsula atributos (características) y comportamientos (procedimientos) de una
entidad con un papel bien definido. Cada objeto tiene:

    - Estado: es el conjunto de valores de los atributos en un instante de tiempo dado. El comportamiento de
                                        un objeto puede modificar el estado de este.

                                             - Comportamiento: es relacionado con su funcionalidad y
                                         determina las operaciones que este puede realizar o a las que
                                         puede responder ante mensajes enviados por otros objetos.

                                              - Identidad: Es la propiedad que permite a un objeto
                                         diferenciarse de otros. Generalmente esta propiedad es tal, que da
                                         nombre al objeto.

                                         Los objetos, concretos y abstractos, están a nuestro alrededor,
                                         forman nuestro entorno. Podemos distinguir cada objeto en base a
                                         sus características y comportamientos.

                                         Por ejemplo; en un aula de clases observamos los siguientes
                                         objetos: Alumno, Profesor, Mesa, Silla, Mesa banco, Pizarrón la
                                         interacción entre estos objetos es que no sólo tienen atributos
                                         relacionados con su forma física sino que, además, exhiben
                                         comportamientos específicos de su clase.
                                         • Alumno: Estudia, aprende.
                                         • Profesor: Enseña, evalúa.
                                         • Mesa: Ordenada, desordenada.
                                         • Silla: Ocupada, desocupada.
• Mesa banco: Ocupado, desocupado.
• Pizarrón: Pintado, borrado
Observamos que en el aula hay varios objetos alumno, por lo que pensamos en el grupo de alumnos, al que
denominaremos como la clase alumno. De igual manera, cada materia es impartida por un profesor; el
conjunto de profesores forman la clase Profesor. Pudiéramos extender nuestro análisis al pizarrón, la mesa, la
silla, al conjunto de mesa bancos, etc.

    Clases: Es la definición de un objeto. Cuando se programa un objeto y se definen sus características y
funcionalidades, realmente se programa una clase. Ejemplos de clase:


                                                   Página 6
 Abstracción: Es un método por el cual aislamos, una determinada entidad de la realidad de sus
características y funciones que desempeñan, estos son representados en clases por medio de atributos y
métodos de dicha clase. Por ejemplo:




     Encapsulamiento: es un mecanismo que consiste en organizar datos y métodos de una estructura,
evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación
garantiza la integridad de los datos que contiene un objeto.
     Herencia: es una propiedad que permite que los objetos sean creados a partir de otros ya existentes
obteniendo características similares a los ya existentes.




    Polimorfismo. Es la capacidad que tiene los objetos de una clase de responder al mismo mensaje o
     evento en función de los parámetros utilizados durante su invocación y hay dos tipos de polimorfismo
     el dinámico y estático.
     - Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos
     - Estático: Es el que los tipos a los que se aplica el polimorfismo deben ser explícitos y declarados
        uno por uno antes de ser utilizados.

En conclusión el modelo orientado a objetos nos proporciona mejores herramientas para obtener un modelo
del mundo real cercano a la perspectiva del usuario interaccionando fácilmente con un entorno de
computación, empleado metáforas familiares así como nos facilita la modificación y la extensión de los
componentes sin codificar de nuevo desde cero.

                                                   Página 7
COMPONENTES DE LAS BDOO



Una base de datos orientada a objetos es una base de datos donde los elementos son objetos. Estos pueden
ser bases de datos multimedia (videos, imágenes y sonidos), donde la herencia nos permita una mejor
representación de la información, estas bases de datos tienen una identidad de ser un todo, y no solo una
parte de una gran base. El objetivo son los mismos que los de las bases de datos tradicionales, pero con la
ventaja de representar las modelos de datos con un marco mucho más eficiente, manteniendo la integridad y
relación entre ellos.

Características de Base de Datos Orientada a Objetos

Mandatorias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son:
Objetos complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso con unión retardada,
Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario,
Concurrencia, Recuperación y Facilidad de Query

Opcional: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son Mandatorias, estas
son de: herencia múltiple, chequeo de tipos de distribución y diseño de transacciones y versiones.

Abiertas: Son los puntos donde el diseñador puede hacer un número de opciones y estas son el paradigma de
la programación, la representación del sistema ó el tipo de sistema y su uniformidad. Hemos tomado una
posición no muy a la expectativa para tener una palabra final más bien para proveer un punto de orientación
                                            para un debate futuro.

                                          En general soportan las siguientes características (aunque
                                          depende de cada Sistemas Manejadores de Base de Datos
                                          Orientados a Objetos (SMBDOO / SGBDOO)) la Integridad de
                                          datos, versionamiento de objetos, indexación, seguridad, y
                                          tolerancia a fallos, entre otras.

                                          Estos Sistemas Manejadores de Base de Datos Orientados a
                                          Objetos son creados gracias a la falta de capacidad semántica del
                                          modelo relacional con el propósito de atender nuevos tipos de
                                          aplicaciones como el diseño y fabricación de ingeniera, base de
                                          datos graficas y de imágenes, base de datos científicas, sistemas
de información geográficas, base de datos multimedia, accesos uniforme a sistemas de múltiples base de
datos.

Dentro de estos SGBDOO encontramos Informix, DB4O, FastObjects:

 FastObjects: La BDde FastObjects reconoce las relaciones entre los objetos y reproduce estas relaciones
cuando los objetos se recuperan de la BD. Los componentes principales son:

   -   SDK FastObjects
   -   Archivo de configuración (Ptj.opt)
   -   La cache activa
   -   Enhancer FastObjects
   -   Bases de Datos FastObjects (objects.dat y objects.idx).



                                                  Página 8
Consiste en un sistema servidor de BD el cual proporciona la funcionalidad esencial para poner a la
disposición una biblioteca de archivos. El servidor de FastObjects recibe y mantiene conexiones del cliente
sobre una colección de sockets de TCP/IP. El servidor maneja todas las transacciones que funcionan con la
BD proporcionando control de concurrencia del objeto. Los objetos de Java o de C++ se almacenan en el
sistema de archivo local del servidor de FastObjects. Los patrones de acceso permiten decirle al manejador
de BD de FastObjects que cuando se solicite un determinado tipo de objeto cuáles objetos asociados a éste
van a ser necesitados, entonces el servidor puede transferir esos objetos específicos en conjunto con el objeto
solicitado y de esta forma lograr se busca reducir el tiempo de acceso, y de esta forma tener acceso a cada
uno de los objetos asociados durante su uso en la aplicación de forma rápida y eficiente.

DB4Objects: Db4Objects (Db4o) es un nombre que proviene de la expresión Database for objects, que
significa BD para objetos, se trata de un framework de persistencia que permite almacenar objetos Java o
.NET de forma directa y transparente. Los principales componentes son:

   -   El motor db4(archivo .jar)
   -   El API,ObjectContainer
   -   Object Manager.

El API de Db4o incluye la funcionalidad necesaria para que Db4o pueda ejecutarse como un servidor y
permitir la definición de clientes que interactúen con el servidor. En un ambiente distribuido se puede
implementar esta modalidad para aceptar conexiones desde otros computadores o desde PDAs, dispositivos
o teléfonos celulares.

Db4o permite indexar objetos para maximizar el rendimiento de las consultas. A través de los objetos del API
se pueden crear índices asociados a determinadas clases. Para crear o eliminar índices en clases que poseen
una gran cantidad de objetos se proponen dos estrategias:

   -    Importar todos los objetos con la propiedad “indexing” en off, configurar el índice y reabrir el
       ObjectContainer/ObjectServer.
   -    Importar todos los objetos con “indexing” en on y efectuar commit regularmente cada cierta cantidad
       de objetos.

Db4O permite definir índices de clase, de atributos y de colecciones.

Db4o no posee un diccionario como tal, para mantener la información de las clases que conforman el
esquema de la BD utiliza una clase especial llamada metadata, la cual contiene de cada una de las clases, el
nombre, atributos, métodos, antecesores, y las relaciones. También garantiza integridad implícita, al manejar
las identidades de los objetos, para lo que se debe mantener el ObjectContainer en ejecución para
garantizarla. Si se cerrara este y los objetos de manipulan en memoria, se corre el riesgo de duplicidades al
guardar objetos en Db4o

El Object Container de Db4o usa una memoria caché de objetos donde se guardan los objetos y las
transacciones que se están usando y todas las operaciones son realizadas allí en la caché y sólo son escritos
a la base de datos en el momento en que se cierra la conexión. Si ocurre un error de sistema no se ve
comprometida la base de datos sino sólo los objetos que se encuentran en la memoria caché. Además provee
mecanismo de rollback para deshacer las transacciones que no terminan con éxito y mecanismos para
sincronizar los datos de la caché con los de la BD. Db4o también provee como mecanismo de recuperación la
opción de crear respaldos (backups) de la BD está activa y existen aplicaciones corriendo sobre ella.




                                                   Página 9
 Informix: Es un gestor de base de datos creado por informix software Inc. Incluye un RDBMS (sistema
     Administrador de Base de datos relacionales/ Relational Data Base Manager System) basado en SQL,
     un lenguaje de cuarta generación y juegos de herramientas para la inclusión de SQL en programas de
     aplicación sus componentes principales son crea archivo ONCONFIG.DBSA. Algunas de sus
     características son:
          - Dispone de herramientas graficas
          - Gestiona múltiples bases de datos remotas de una única consola donde se muestran
              gráficamente tanto la base de datos, como los objetos que contiene (tablas, índices,
              procedimientos).
          - Utiliza plataforma NT y UNIX
          - Capacidad de relación de datos de múltiples lugares físicos
          - Opción de conectar datos relacionales de páginas web
          - Utiliza un manejador relacional de base de datos orientado a objetos (ORDBMS),
              completamente escalable y extensible a cualquier tipo de datos.
          - Se puede utilizar INFORMIX Dynamic Server en toda su capacidad, con el lenguaje de
              programación Java.




                                               CONCLUSIÓN

En conclusion el mejor es el modelo de base de datos orientado a objetos por que estos tiene la capacidad
de cubrir las necesidades de aplicaciones donde la tecnologia relacional comienza a tener problemas de
desempeño, escalabilidad, flexibilidad y/o complejidad de mantenimiento. Por lo tanto pienso que la base de
datos orientados a objetos radica en el manejo de objetos complejos y a la persistencia de ellos al igual tiene
la facilidad de manipular los datos complejos en forma rápida y ágilmente así como la estructura de la base de
datos está dada por referencias (o apuntadores lógicos) entre objetos así como podemos utilizar sistemas
gestores de base de datos como DB4O, INFORMIX, con una gran ventaja de que un archivo externo donde se
guardan los registro y así no se necesita de una base de datos estable o que se necesite instalar utilizando
espacio en el equipo e impidiendo que no se pueda emplear por ejemplo en móviles etc.
.




                                                   Página
                                                   10
BIBLIOGRAFÍA

http://www.slideshare.net/montoya118/base-de-datos-orientada-a-objetos-10781998

http://www.slideshare.net/equipo2/poo-herencia-abstraccion-y-polimorfismo

http://fundamentosdprogramacionpoo.blogspot.mx/2009/09/unidad-1-conceptos-basicos-del-modelo.html

http://eii.ucv.cl/pers/gbustos/PDF/Evalua.PDF

http://informatica.uv.es/iiguia/DBD/Teoria/capitulo_2a.pdf

http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r88166.PDF

http://es.wikipedia.org/wiki/Base_de_datos_objeto-relacional

http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf




                                                   Página
                                                   11

Más contenido relacionado

La actualidad más candente

GESTOR DE BASE DE DATOS
GESTOR DE BASE DE DATOSGESTOR DE BASE DE DATOS
GESTOR DE BASE DE DATOSGEDIONI UJUKAM
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datosralbarracin
 
Bases de datos
Bases de datosBases de datos
Bases de datosJosue Diaz
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosFernando Baculima
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Construcción de base de datos
Construcción de base de datosConstrucción de base de datos
Construcción de base de datosjhovanaqg
 
Sistema de gestión de base de datos ii parte
Sistema de gestión de base de datos  ii parteSistema de gestión de base de datos  ii parte
Sistema de gestión de base de datos ii parteslopted
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacionalomarzon
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSEvans Balcazar
 
Basen de Datos I
Basen de Datos IBasen de Datos I
Basen de Datos Iomarzon
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacionalEduar Alfons Leon
 
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicosTema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicosESCOM
 

La actualidad más candente (19)

GESTOR DE BASE DE DATOS
GESTOR DE BASE DE DATOSGESTOR DE BASE DE DATOS
GESTOR DE BASE DE DATOS
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datos
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Construcción de base de datos
Construcción de base de datosConstrucción de base de datos
Construcción de base de datos
 
Sistema de gestión de base de datos ii parte
Sistema de gestión de base de datos  ii parteSistema de gestión de base de datos  ii parte
Sistema de gestión de base de datos ii parte
 
04 -bases_de_datos_-_arquitectura_de_tres_niveles
04  -bases_de_datos_-_arquitectura_de_tres_niveles04  -bases_de_datos_-_arquitectura_de_tres_niveles
04 -bases_de_datos_-_arquitectura_de_tres_niveles
 
Unidad I
Unidad I Unidad I
Unidad I
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
 
Modelos
ModelosModelos
Modelos
 
Basen de Datos I
Basen de Datos IBasen de Datos I
Basen de Datos I
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos-objeto-relacional
Base de datos-objeto-relacionalBase de datos-objeto-relacional
Base de datos-objeto-relacional
 
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicosTema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Clase 1 Diseño de Base de Datos
Clase 1 Diseño de Base de DatosClase 1 Diseño de Base de Datos
Clase 1 Diseño de Base de Datos
 

Destacado

Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosarmin tilano
 
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
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSmigmorbus1
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesstill01
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsJonas Bonér
 

Destacado (9)

Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
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
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOS
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Dbms orientados a objetos
Dbms orientados a objetosDbms orientados a objetos
Dbms orientados a objetos
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 

Similar a Modelos de base de datos (20)

Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palencia
 
Taller terminado
Taller terminadoTaller terminado
Taller terminado
 
Tallerterminado
TallerterminadoTallerterminado
Tallerterminado
 
Tabajo de base de dato
Tabajo de base de datoTabajo de base de dato
Tabajo de base de dato
 
Tabajo de base de datos
Tabajo de base de datosTabajo de base de datos
Tabajo de base de datos
 
Referente conceptual
Referente conceptualReferente conceptual
Referente conceptual
 
Modelos de-datos
Modelos de-datosModelos de-datos
Modelos de-datos
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Para el producto final de curso
Para el producto final de cursoPara el producto final de curso
Para el producto final de curso
 
Investiacion sobre las Bases de datos
Investiacion sobre las Bases de datosInvestiacion sobre las Bases de datos
Investiacion sobre las Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bdintro
BdintroBdintro
Bdintro
 
Sistemas de base de datos
Sistemas de base de datosSistemas de base de datos
Sistemas de base de datos
 
Base de datos
Base  de datosBase  de datos
Base de datos
 
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOSFUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
 
Unidad A
Unidad AUnidad A
Unidad A
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
Bases de datos, sgbd y sql server analucia vera arias 5°b
Bases de datos, sgbd y sql server    analucia vera arias 5°bBases de datos, sgbd y sql server    analucia vera arias 5°b
Bases de datos, sgbd y sql server analucia vera arias 5°b
 

Modelos de base de datos

  • 1. 14/3/2013 UNIVERSIDAD TECNOLÓGICA DE TEHUACÁN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN SISTEMAS DE CALIDAD EN TI ING. OCTAVIO SÁNCHEZ DELGADO NOMBRE DEL TRABAJO: MODELOS DE BASE DE DATOS ALUMNA: LORZA BARRAGÁN IRENE
  • 2. INDICE 1. MODELOS RELACIONALES……………………………………………………..3 2. MODELOS OBJETO RELACIONALES………………………………………….5 3. MODELOS ORIENTADO A OBJETOS…………………………………………6 4. COMPONENTES DE LAS BDOO…….…………………………………………8 5. CONCLUSIÓN…………………………………………………………………….10 6. BIBLIOGRAFÍA…………………………………………………………………….11 Página 2
  • 3. MODELOS DE BASE DE DATOS MODELOS RELACIONALES Es basado en la teoria de las relaciones, donde los datos se estructuran lógicamente en forma de relaciones (tablas), siendo el objetivo fundamental del modelo mantener la independencia de esta estructura lógica respecto al modo de almacenamiento y a cualquier otra característica de tipo físico. En las bases por Codd presentaba los siguientes objetivos: - Independencia física: El modo en que se almacenan los datos no debe influir en su manipulación lógica. - Independencia lógica: Añadir, eliminar o modificar cualquier elemento de la base de datos no debe repercutir en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos. - Flexibilidad: Poder ofrecer a cada usuario los datos de la forma más adecuada a su aplicación. - Sencillez: Que el modelo de datos relacional es fácil de comprender y de utilizar. ESTRUCTURA DEL MODELO RELACIONAL - Un dominio es un conjunto finito de valores homogéneos y atómicos caracterizado por un nombre es decir el nombre con el cual se identificara la tabla por ejemplo en la figura su dominio es Profesor. - Atributo es la columna donde se almacena información sobre una propiedad determinada de la tabla por ejemplo en la tabla los atributos que tenemos son Codigo, Nombre, Apellidos, Categoria. - La tupla es la filaes donde cada una de ellas contiene los valores que toma el Código, Nombre, Apellidos, Categoria.); - Grado es el numero de atributos en la tabla en este ejemplo tenemos 4 atributos. Página 3
  • 4. - Cardinalidad son el numero de tuplas que tenemos en la tabla. Tipos de Tablas que podemos encontrar en el modelo relacional - Las pesistentes: Son las que solo pueden ser borradas por los usuarios dentro de esta econtramos base, vistas e instantaneas:  Base: Son independientes, se crean indicando su estructura y sus ejemplares  Vistas: Son tablas que sólo almacenan una definición de consulta, resultado de la cual se produce una tabla cuyos datos proceden de las bases o de otras vistas e Instantáneas si los datos de las tablas base cambian, los de la vista que utiliza esos datos también cambia.  Instantáneas. Son vistas (creadas de la misma forma) que sí que almacenan los datos que muestra, además de la consulta que dio lugar a esa vista. - Temporales: Son tablas que se eliminan automáticamente por el sistema. Estas puede ser de cualquiera de los tipos anteriormente mensionados. Las 12 reglas de Codd que deben cumplir los DBMS (los sistemas de gestion de base de datos) para ser considerados en el modelo relacional. 1. Informació:. Toda la información de la base de datos debe estar representada explícitamente en el esquema lógico. 2. Acceso garantizado: Todo dato es accesible sabiendo el valor de su clave y el nombre de la columna o atributo que contiene el dato. 3. Tratamiento sistemático de los valores nulos: El DBMS debe permitir el tratamiento adecuado de estos valores. 4. Catálogo en línea basado en el modelo relacional. Los metadatos deben de ser accesibles usando un esquema relacional. 5. Sublenguaje de datos completo: Al menos debe de existir un lenguaje que permita el manejo completo de la base de datos. 6. Actualización de vistas. El DBMS debe encargarse de que las vistas muestren la última información. 7. Inserciones, modificaciones y eliminaciones de dato nivel: Cualquier operación de modificación debe actuar sobre conjuntos de filas, nunca deben actuar registro a registro. 8. Independencia física: los datos deben de ser accesibles desde la lógica de la base de datos aún cuando se modifique el almacenamiento. 9. Independencia lógica: Los programas no deben verse afectados por cambios en las tablas 10. Independencia de integridad: Las reglas de integridad deben almacenarse en la base de datos (en el diccionario de datos), no en los programas de aplicación. 11. Independencia de la distribución. El sublenguaje de datos debe permitir que sus instrucciones funciones igualmente en una base de datos distribuida que en una que no lo es. 12. No subversión: Si el DBMS posee un lenguaje que permite el recorrido registro a registro, éste no puede utilizarse para incumplir las reglas relacionales. Página 4
  • 5. MODELO OBJETO RELACIONAL Las bases de datos objeto-relacionales son la evolución natural de las bases de datos orientadas a objetos puras y las relacionales puras, debido a las limitaciones de ambas. Con objetivo de solucionar esas limitaciones, surge el modelo orientado a objetos puro, y como una transición entre ambos aparece el modelo objeto-relacional, este modelo es básicamente el mismo modelo relacional extendido con algunas facilidades del modelo orientado por objetos y las mejoras de este modelos son las siguientes: • Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que deben ser soportados por el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que convierte de ASCII al nuevo tipo. Se soportan tipos complejos como: registros, conjuntos, referencias, listas, pilas, colas y arreglos. • Se pueden crear funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL, Java, C, etc. • Se pueden crear operadores asignándole un nombre y asociandoselo a una función ya definida o creada con anterioridad. • Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro. • Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers. • Soporte adicional para seguridad y activación de la versión cliente-servidor. En el modelo relacional, las columnas de una tabla se definen mediante tipos de datos primitivos. Es decir, dos columnas con distinta semántica y distinto comportamiento, podían estar definidas bajo el mismo tipo de datos compartiendo la misma representación. Estos se usan cuando dos tipos de datos comparten la misma representación pero tienen distinto comportamiento. Los tipos de datos mas complejos que se manejan en este modelo a si como algunas caracteristicas que se manejan, son: Lobs: Es un tipo de dato que permite almacenar gran cantidad de información ( del orden de Gigabytes). Existen dos tipos: - BLOB (Binary Large OBject): Se utiliza para guardar datos de tipo binario (fotografía, audio, vídeo, etc.). - CLOB (Character Large OBject): Se usan para el almacenamiento de texto (Libros, XML, etc.). Colección: es un grupo de que se pueden utilizar como el tipo de datos almacenados de una columna en una tabla. Hay dos dos tipos de colecciones: - Array: Conjunto de elementos homogéneos e indexados (similar a un vector en un lenguaje de programación de alto nivel). - Multiset: Conjunto de elementos alamcenados sin orden y permite elementos repetidos, además se permiten colecciones anidadas. Herencia: existen dos tipos de herencia como la herencia de tablas y la de tipos; La herencia de tablas puede definise como una jerarquía de tablas tanto la subtabla como la supertabla deben ser tipadases decir las subtablas heredan los atributos, restricciones, disparadores, etc. De la supertabla o tabla principal. Y La herencia de tipos indica que la subtabla hereda la estructura y el comportamiento de la tabla, pudiendo además incluir características propias. Los dos tipos de herencia se especifican mediante la cláusula UNDER, y además Página 5
  • 6. un tipo puede declarase como FINAL (si no puede tener subtipos) o como NOT FINAL (en caso contrario): - En tipos: CREATE TYPE tipoFinca UNDER tipoPropiedad As () NOT FINAL; - En tablas: CREATE TABLE Finca OF tipoFinca UNDER Propiedad; MODELO ORIENTADO A OBJETOS El objetivo del modelo orientado a objetos es satisfacer las necesidades de los usuarios finales como la de los desarrolladores de software mediante una cierta capacidad de modelar el mundo real, este modelo cuenta con ciertas ventajas que ha mejorado el desarrollo de software como permiten un modelado mas natural de la realidad, facilitando la reutilizacion de componentes de software y ofrece mecanismos de abstracion para mantener controlable la construccion de sitemas mas complejos. Dentro de este modelo orientado objeto debemos conocer conceptos como son objetos, clases, asbtraccion, encapsulamiento, herencia, polimorfismo.  Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos y se delimita como una estructura que encapsula atributos (características) y comportamientos (procedimientos) de una entidad con un papel bien definido. Cada objeto tiene: - Estado: es el conjunto de valores de los atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este. - Comportamiento: es relacionado con su funcionalidad y determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos. - Identidad: Es la propiedad que permite a un objeto diferenciarse de otros. Generalmente esta propiedad es tal, que da nombre al objeto. Los objetos, concretos y abstractos, están a nuestro alrededor, forman nuestro entorno. Podemos distinguir cada objeto en base a sus características y comportamientos. Por ejemplo; en un aula de clases observamos los siguientes objetos: Alumno, Profesor, Mesa, Silla, Mesa banco, Pizarrón la interacción entre estos objetos es que no sólo tienen atributos relacionados con su forma física sino que, además, exhiben comportamientos específicos de su clase. • Alumno: Estudia, aprende. • Profesor: Enseña, evalúa. • Mesa: Ordenada, desordenada. • Silla: Ocupada, desocupada. • Mesa banco: Ocupado, desocupado. • Pizarrón: Pintado, borrado Observamos que en el aula hay varios objetos alumno, por lo que pensamos en el grupo de alumnos, al que denominaremos como la clase alumno. De igual manera, cada materia es impartida por un profesor; el conjunto de profesores forman la clase Profesor. Pudiéramos extender nuestro análisis al pizarrón, la mesa, la silla, al conjunto de mesa bancos, etc.  Clases: Es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase. Ejemplos de clase: Página 6
  • 7.  Abstracción: Es un método por el cual aislamos, una determinada entidad de la realidad de sus características y funciones que desempeñan, estos son representados en clases por medio de atributos y métodos de dicha clase. Por ejemplo:  Encapsulamiento: es un mecanismo que consiste en organizar datos y métodos de una estructura, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.  Herencia: es una propiedad que permite que los objetos sean creados a partir de otros ya existentes obteniendo características similares a los ya existentes.  Polimorfismo. Es la capacidad que tiene los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación y hay dos tipos de polimorfismo el dinámico y estático. - Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos - Estático: Es el que los tipos a los que se aplica el polimorfismo deben ser explícitos y declarados uno por uno antes de ser utilizados. En conclusión el modelo orientado a objetos nos proporciona mejores herramientas para obtener un modelo del mundo real cercano a la perspectiva del usuario interaccionando fácilmente con un entorno de computación, empleado metáforas familiares así como nos facilita la modificación y la extensión de los componentes sin codificar de nuevo desde cero. Página 7
  • 8. COMPONENTES DE LAS BDOO Una base de datos orientada a objetos es una base de datos donde los elementos son objetos. Estos pueden ser bases de datos multimedia (videos, imágenes y sonidos), donde la herencia nos permita una mejor representación de la información, estas bases de datos tienen una identidad de ser un todo, y no solo una parte de una gran base. El objetivo son los mismos que los de las bases de datos tradicionales, pero con la ventaja de representar las modelos de datos con un marco mucho más eficiente, manteniendo la integridad y relación entre ellos. Características de Base de Datos Orientada a Objetos Mandatorias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son: Objetos complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso con unión retardada, Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperación y Facilidad de Query Opcional: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son Mandatorias, estas son de: herencia múltiple, chequeo de tipos de distribución y diseño de transacciones y versiones. Abiertas: Son los puntos donde el diseñador puede hacer un número de opciones y estas son el paradigma de la programación, la representación del sistema ó el tipo de sistema y su uniformidad. Hemos tomado una posición no muy a la expectativa para tener una palabra final más bien para proveer un punto de orientación para un debate futuro. En general soportan las siguientes características (aunque depende de cada Sistemas Manejadores de Base de Datos Orientados a Objetos (SMBDOO / SGBDOO)) la Integridad de datos, versionamiento de objetos, indexación, seguridad, y tolerancia a fallos, entre otras. Estos Sistemas Manejadores de Base de Datos Orientados a Objetos son creados gracias a la falta de capacidad semántica del modelo relacional con el propósito de atender nuevos tipos de aplicaciones como el diseño y fabricación de ingeniera, base de datos graficas y de imágenes, base de datos científicas, sistemas de información geográficas, base de datos multimedia, accesos uniforme a sistemas de múltiples base de datos. Dentro de estos SGBDOO encontramos Informix, DB4O, FastObjects: FastObjects: La BDde FastObjects reconoce las relaciones entre los objetos y reproduce estas relaciones cuando los objetos se recuperan de la BD. Los componentes principales son: - SDK FastObjects - Archivo de configuración (Ptj.opt) - La cache activa - Enhancer FastObjects - Bases de Datos FastObjects (objects.dat y objects.idx). Página 8
  • 9. Consiste en un sistema servidor de BD el cual proporciona la funcionalidad esencial para poner a la disposición una biblioteca de archivos. El servidor de FastObjects recibe y mantiene conexiones del cliente sobre una colección de sockets de TCP/IP. El servidor maneja todas las transacciones que funcionan con la BD proporcionando control de concurrencia del objeto. Los objetos de Java o de C++ se almacenan en el sistema de archivo local del servidor de FastObjects. Los patrones de acceso permiten decirle al manejador de BD de FastObjects que cuando se solicite un determinado tipo de objeto cuáles objetos asociados a éste van a ser necesitados, entonces el servidor puede transferir esos objetos específicos en conjunto con el objeto solicitado y de esta forma lograr se busca reducir el tiempo de acceso, y de esta forma tener acceso a cada uno de los objetos asociados durante su uso en la aplicación de forma rápida y eficiente. DB4Objects: Db4Objects (Db4o) es un nombre que proviene de la expresión Database for objects, que significa BD para objetos, se trata de un framework de persistencia que permite almacenar objetos Java o .NET de forma directa y transparente. Los principales componentes son: - El motor db4(archivo .jar) - El API,ObjectContainer - Object Manager. El API de Db4o incluye la funcionalidad necesaria para que Db4o pueda ejecutarse como un servidor y permitir la definición de clientes que interactúen con el servidor. En un ambiente distribuido se puede implementar esta modalidad para aceptar conexiones desde otros computadores o desde PDAs, dispositivos o teléfonos celulares. Db4o permite indexar objetos para maximizar el rendimiento de las consultas. A través de los objetos del API se pueden crear índices asociados a determinadas clases. Para crear o eliminar índices en clases que poseen una gran cantidad de objetos se proponen dos estrategias: - Importar todos los objetos con la propiedad “indexing” en off, configurar el índice y reabrir el ObjectContainer/ObjectServer. - Importar todos los objetos con “indexing” en on y efectuar commit regularmente cada cierta cantidad de objetos. Db4O permite definir índices de clase, de atributos y de colecciones. Db4o no posee un diccionario como tal, para mantener la información de las clases que conforman el esquema de la BD utiliza una clase especial llamada metadata, la cual contiene de cada una de las clases, el nombre, atributos, métodos, antecesores, y las relaciones. También garantiza integridad implícita, al manejar las identidades de los objetos, para lo que se debe mantener el ObjectContainer en ejecución para garantizarla. Si se cerrara este y los objetos de manipulan en memoria, se corre el riesgo de duplicidades al guardar objetos en Db4o El Object Container de Db4o usa una memoria caché de objetos donde se guardan los objetos y las transacciones que se están usando y todas las operaciones son realizadas allí en la caché y sólo son escritos a la base de datos en el momento en que se cierra la conexión. Si ocurre un error de sistema no se ve comprometida la base de datos sino sólo los objetos que se encuentran en la memoria caché. Además provee mecanismo de rollback para deshacer las transacciones que no terminan con éxito y mecanismos para sincronizar los datos de la caché con los de la BD. Db4o también provee como mecanismo de recuperación la opción de crear respaldos (backups) de la BD está activa y existen aplicaciones corriendo sobre ella. Página 9
  • 10.  Informix: Es un gestor de base de datos creado por informix software Inc. Incluye un RDBMS (sistema Administrador de Base de datos relacionales/ Relational Data Base Manager System) basado en SQL, un lenguaje de cuarta generación y juegos de herramientas para la inclusión de SQL en programas de aplicación sus componentes principales son crea archivo ONCONFIG.DBSA. Algunas de sus características son: - Dispone de herramientas graficas - Gestiona múltiples bases de datos remotas de una única consola donde se muestran gráficamente tanto la base de datos, como los objetos que contiene (tablas, índices, procedimientos). - Utiliza plataforma NT y UNIX - Capacidad de relación de datos de múltiples lugares físicos - Opción de conectar datos relacionales de páginas web - Utiliza un manejador relacional de base de datos orientado a objetos (ORDBMS), completamente escalable y extensible a cualquier tipo de datos. - Se puede utilizar INFORMIX Dynamic Server en toda su capacidad, con el lenguaje de programación Java. CONCLUSIÓN En conclusion el mejor es el modelo de base de datos orientado a objetos por que estos tiene la capacidad de cubrir las necesidades de aplicaciones donde la tecnologia relacional comienza a tener problemas de desempeño, escalabilidad, flexibilidad y/o complejidad de mantenimiento. Por lo tanto pienso que la base de datos orientados a objetos radica en el manejo de objetos complejos y a la persistencia de ellos al igual tiene la facilidad de manipular los datos complejos en forma rápida y ágilmente así como la estructura de la base de datos está dada por referencias (o apuntadores lógicos) entre objetos así como podemos utilizar sistemas gestores de base de datos como DB4O, INFORMIX, con una gran ventaja de que un archivo externo donde se guardan los registro y así no se necesita de una base de datos estable o que se necesite instalar utilizando espacio en el equipo e impidiendo que no se pueda emplear por ejemplo en móviles etc. . Página 10