Modelos de base de datos

11

Click here to load reader

Transcript of Modelos de base de datos

Page 1: Modelos de base de datos

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

Page 2: Modelos de base de datos

Página 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

Page 3: Modelos de base de datos

Página 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.

Page 4: Modelos de base de datos

Página 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.

Page 5: Modelos de base de datos

Página 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

Page 6: Modelos de base de datos

Página 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:

Page 7: Modelos de base de datos

Página 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.

Page 8: Modelos de base de datos

Página 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).

Page 9: Modelos de base de datos

Página 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.

Page 10: Modelos de base de datos

Página 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. .

Page 11: Modelos de base de datos

Página 11

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