Modelos de base de datos

716 views
604 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
716
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Modelos de base de datos

  1. 1. 14/3/2013 UNIVERSIDAD TECNOLÓGICA DE TEHUACÁNTECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN SISTEMAS DE CALIDAD EN TI ING. OCTAVIO SÁNCHEZ DELGADONOMBRE DEL TRABAJO: MODELOS DE BASE DE DATOS ALUMNA: LORZA BARRAGÁN IRENE
  2. 2. INDICE1. MODELOS RELACIONALES……………………………………………………..32. MODELOS OBJETO RELACIONALES………………………………………….53. MODELOS ORIENTADO A OBJETOS…………………………………………64. COMPONENTES DE LAS BDOO…….…………………………………………85. CONCLUSIÓN…………………………………………………………………….106. BIBLIOGRAFÍA…………………………………………………………………….11 Página 2
  3. 3. MODELOS DE BASE DE DATOS MODELOS RELACIONALESEs 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ógicarespecto 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. 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 serconsiderados 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. 5. MODELO OBJETO RELACIONALLas bases de datos objeto-relacionales son la evolución natural de las bases de datos orientadas a objetospuras y las relacionales puras, debido a las limitaciones de ambas. Con objetivo de solucionar esaslimitaciones, surge el modelo orientado a objetos puro, y como una transición entre ambos aparece el modeloobjeto-relacional, este modelo es básicamente el mismo modelo relacional extendido con algunas facilidadesdel 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 soportadospor el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir eltipo 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 conanterioridad.• 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 dedatos compartiendo la misma representación. Estos se usan cuando dos tipos de datos comparten la mismarepresentación pero tienen distinto comportamiento.Los tipos de datos mas complejos que se manejan en este modelo a si como algunas caracteristicas que semanejan, son:Lobs: Es un tipo de dato que permite almacenar gran cantidad de información ( del orden deGigabytes). 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 enuna 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 debenser tipadases decir las subtablas heredan los atributos, restricciones, disparadores, etc. De la supertabla otabla principal. Y La herencia de tipos indica que la subtabla hereda la estructura y el comportamiento de latabla, pudiendo además incluir características propias. Los dos tipos de herencia se especifican mediante lacláusula UNDER, y además Página 5
  6. 6. un tipo puede declarase como FINAL (si no puede tener subtipos) o como NOT FINAL (en casocontrario): - En tipos: CREATE TYPE tipoFinca UNDER tipoPropiedad As () NOT FINAL; - En tablas: CREATE TABLE Finca OF tipoFinca UNDER Propiedad; MODELO ORIENTADO A OBJETOSEl objetivo del modelo orientado a objetos es satisfacer las necesidades de los usuarios finales como la de losdesarrolladores de software mediante una cierta capacidad de modelar el mundo real, este modelo cuenta conciertas ventajas que ha mejorado el desarrollo de software como permiten un modelado mas natural de larealidad, facilitando la reutilizacion de componentes de software y ofrece mecanismos de abstracion paramantener 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 delimitacomo una estructura que encapsula atributos (características) y comportamientos (procedimientos) de unaentidad 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, borradoObservamos que en el aula hay varios objetos alumno, por lo que pensamos en el grupo de alumnos, al quedenominaremos como la clase alumno. De igual manera, cada materia es impartida por un profesor; elconjunto de profesores forman la clase Profesor. Pudiéramos extender nuestro análisis al pizarrón, la mesa, lasilla, 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 yfuncionalidades, realmente se programa una clase. Ejemplos de clase: Página 6
  7. 7.  Abstracción: Es un método por el cual aislamos, una determinada entidad de la realidad de suscaracterísticas y funciones que desempeñan, estos son representados en clases por medio de atributos ymé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óngarantiza 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 existentesobteniendo 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 modelodel mundo real cercano a la perspectiva del usuario interaccionando fácilmente con un entorno decomputación, empleado metáforas familiares así como nos facilita la modificación y la extensión de loscomponentes sin codificar de nuevo desde cero. Página 7
  8. 8. COMPONENTES DE LAS BDOOUna base de datos orientada a objetos es una base de datos donde los elementos son objetos. Estos puedenser bases de datos multimedia (videos, imágenes y sonidos), donde la herencia nos permita una mejorrepresentación de la información, estas bases de datos tienen una identidad de ser un todo, y no solo unaparte de una gran base. El objetivo son los mismos que los de las bases de datos tradicionales, pero con laventaja de representar las modelos de datos con un marco mucho más eficiente, manteniendo la integridad yrelación entre ellos.Características de Base de Datos Orientada a ObjetosMandatorias: 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 QueryOpcional: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son Mandatorias, estasson 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 dela programación, la representación del sistema ó el tipo de sistema y su uniformidad. Hemos tomado unaposició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, sistemasde información geográficas, base de datos multimedia, accesos uniforme a sistemas de múltiples base dedatos.Dentro de estos SGBDOO encontramos Informix, DB4O, FastObjects: FastObjects: La BDde FastObjects reconoce las relaciones entre los objetos y reproduce estas relacionescuando 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. 9. Consiste en un sistema servidor de BD el cual proporciona la funcionalidad esencial para poner a ladisposición una biblioteca de archivos. El servidor de FastObjects recibe y mantiene conexiones del clientesobre una colección de sockets de TCP/IP. El servidor maneja todas las transacciones que funcionan con laBD proporcionando control de concurrencia del objeto. Los objetos de Java o de C++ se almacenan en elsistema de archivo local del servidor de FastObjects. Los patrones de acceso permiten decirle al manejadorde BD de FastObjects que cuando se solicite un determinado tipo de objeto cuáles objetos asociados a éstevan a ser necesitados, entonces el servidor puede transferir esos objetos específicos en conjunto con el objetosolicitado y de esta forma lograr se busca reducir el tiempo de acceso, y de esta forma tener acceso a cadauno 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, quesignifica 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 ypermitir la definición de clientes que interactúen con el servidor. En un ambiente distribuido se puedeimplementar esta modalidad para aceptar conexiones desde otros computadores o desde PDAs, dispositivoso teléfonos celulares.Db4o permite indexar objetos para maximizar el rendimiento de las consultas. A través de los objetos del APIse pueden crear índices asociados a determinadas clases. Para crear o eliminar índices en clases que poseenuna 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 elesquema de la BD utiliza una clase especial llamada metadata, la cual contiene de cada una de las clases, elnombre, atributos, métodos, antecesores, y las relaciones. También garantiza integridad implícita, al manejarlas identidades de los objetos, para lo que se debe mantener el ObjectContainer en ejecución paragarantizarla. Si se cerrara este y los objetos de manipulan en memoria, se corre el riesgo de duplicidades alguardar objetos en Db4oEl Object Container de Db4o usa una memoria caché de objetos donde se guardan los objetos y lastransacciones que se están usando y todas las operaciones son realizadas allí en la caché y sólo son escritosa la base de datos en el momento en que se cierra la conexión. Si ocurre un error de sistema no se vecomprometida la base de datos sino sólo los objetos que se encuentran en la memoria caché. Además proveemecanismo de rollback para deshacer las transacciones que no terminan con éxito y mecanismos parasincronizar los datos de la caché con los de la BD. Db4o también provee como mecanismo de recuperación laopción de crear respaldos (backups) de la BD está activa y existen aplicaciones corriendo sobre ella. Página 9
  10. 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ÓNEn conclusion el mejor es el modelo de base de datos orientado a objetos por que estos tiene la capacidadde cubrir las necesidades de aplicaciones donde la tecnologia relacional comienza a tener problemas dedesempeño, escalabilidad, flexibilidad y/o complejidad de mantenimiento. Por lo tanto pienso que la base dedatos orientados a objetos radica en el manejo de objetos complejos y a la persistencia de ellos al igual tienela facilidad de manipular los datos complejos en forma rápida y ágilmente así como la estructura de la base dedatos está dada por referencias (o apuntadores lógicos) entre objetos así como podemos utilizar sistemasgestores de base de datos como DB4O, INFORMIX, con una gran ventaja de que un archivo externo donde seguardan los registro y así no se necesita de una base de datos estable o que se necesite instalar utilizandoespacio en el equipo e impidiendo que no se pueda emplear por ejemplo en móviles etc.. Página 10
  11. 11. BIBLIOGRAFÍAhttp://www.slideshare.net/montoya118/base-de-datos-orientada-a-objetos-10781998http://www.slideshare.net/equipo2/poo-herencia-abstraccion-y-polimorfismohttp://fundamentosdprogramacionpoo.blogspot.mx/2009/09/unidad-1-conceptos-basicos-del-modelo.htmlhttp://eii.ucv.cl/pers/gbustos/PDF/Evalua.PDFhttp://informatica.uv.es/iiguia/DBD/Teoria/capitulo_2a.pdfhttp://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r88166.PDFhttp://es.wikipedia.org/wiki/Base_de_datos_objeto-relacionalhttp://www3.uji.es/~mmarques/e16/teoria/cap2.pdf Página 11

×