Download II. MODELOS DE DATOS Los SGBD se clasifican de acuerdo a
Document related concepts
Transcript
II. MODELOS DE DATOS Los SGBD se clasifican de acuerdo a varios criterios, como el número de usuarios, el número de sitios, el costo, el tipo de caminos de acceso, el propósito (general o específico) y el Modelo de datos, siendo éste el principal para el comercio actual. De acuerdo al Modelo de datos los SGBD son: jerárquicos (primera generación) de red (segunda generación) relacionales (tercera generación) los basados en el paradigma de orientación a objetos (O.O.) con aplicaciones de multimedias (cuarta generación) y los de administración inteligente de la información con el lenguaje natural (quinta generación). El modelo relacional de los datos fue introducido por Codd (1970). Tiene fundamentos teóricos muy sólidos y la relación es la base de su estructura de datos. Además, se está estableciendo firmemente en el mundo de las aplicaciones de base de datos, y existen en el mercado muchos paquetes de SGBD relacionales. Su éxito en este campo ha llevado a su aplicación fuera de procesamientos de datos en sistemas para diseño asistido por computadora y otros entornos. Este modelo tiene la ventaja que los datos se almacenan, al menos conceptualmente, de un modo que los usuarios lo entienden con más facilidad. A diferencia de los anteriores modelos de base de datos este enfoque permite a los usuarios obtener información de la base de datos sin asistencia de sistemas profesionales de administración de la información. En un sistema de bases distribuida, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican entre sí a través de diversos medios II. MODELOS DE DATOS 9 de comunicación, tales como cables de alta velocidad o líneas telefónicas. No comparten la memoria principal ni el reloj. Los procesadores de un sistema distribuido pueden variar en cuanto su tamaño y su función. Pueden incluir microcomputadores pequeños, estaciones de trabajos, minicomputadoras y sistemas de computadores grandes de aplicación general. Estos procesadores reciben diferentes nombres, tales como localidades, nodos, computadores, dependiendo en el contexto donde se mencionen. Nosotros utilizaremos el término localidad para hacer hincapié en la distribución física de estos sistemas. La diferencia principal entre los sistemas de bases de datos centralizados y distribuidos es que, los primeros residen en solo lugar, mientras los segundos se encuentran en varias localidades. II. MODELOS DE DATOS 10 MODELO JERARQUICO Este modelo fue creado con el fin de tratar la cantidad de tipos de organizaciones jerárquicas que existen en el mundo real; como la clasificación de los reinos vegetal y animal, los organigramas corporativos, los esquemas de clasificación bibliográfica, etc. Utiliza dos conceptos para estructurar los datos: Registros Vínculos padre - hijo. REGISTROS Es una agrupación de valores de campos que proporciona información sobre una entidad. Los registros de la misma naturaleza se agrupan en tipos de registros. Cada tipo de registro recibe un nombre, y su estructura se define en términos de una colección de campos, cada campo tiene un cierto tipo de dato, como entero, real o cadena. VÍNCULO PADRE - HIJO (VPH) Es una relación entre dos tipos de registros, generalmente de uno a muchos (1: N). El tipo de registro del lado 1 se denomina "tipo de registro padre", y el del lado N se llama "tipo de registro hijo". II. MODELOS DE DATOS 11 Fig. II.1 - Esquema Jerárquico de una parte de una base de datos. Un esquema jerárquico define una estructura de datos de árbol. Un tipo de registro corresponde a un nodo del árbol, y un tipo de vínculo vph corresponde a una arista o arco del árbol. Entonces todos los nodos excepto la raíz, tiene uno y solo uno nodo padre; y este Esquema tiene las propiedades siguientes: 1. Un tipo de registro, la raíz del Esquema jerárquicos, no participa como tipo de registro hijo en ningún tipo de vínculo vph. 2. Todo tipo de registro, con excepción de la raíz, participa como registro hijo en uno y solo de los vínculos vph. 3. Un tipo de registro puede participar como padre en cualquier cantidad de vínculos vph. 4. Un tipo de registro que no participa como padre en los vínculos vph, se denomina hoja del Esquema jerárquicos. 5. Si un registro participa como padre en más de un vínculo, tiene a sus hijos ordenados. La convención del orden es de izquierda a derecha. En particular, el Esquema jerárquicos tiene problemas con: 1. Los vínculos muchos a muchos M: N porque los vínculos padre - hijos son 1: N. 2. Cuando un registro participa como hijo en más de un enlace. Para resolver esas situaciones se usa el concepto de registro virtual o apuntador; siendo la idea incluir más de un Esquema jerárquicos de la base de datos y usar apuntadores de los nodos de un Esquema jerárquicos al otro para representar los enlaces. En vez de duplicar el registro padre "p" en un árbol de ocurrencia, incluimos el registro virtual "h" que contiene un apuntador a p. Así, un hijo puede tener dos padres: uno real y el otro virtual. II. MODELOS DE DATOS 12 Fig. II.2 - Una representación del vínculo M: N, con padre virtual empleado MODELO DE RED Es una colección de datos, los cuales están conectados por medio de arcos; si solo posee la relación de uno a muchos 1:N, se denomina red simple; cuando al menos una de las relaciones es muchos a muchos M: N se denomina red compleja. Los datos se representan por registros y conjuntos. REGISTRO: Consiste relacionados entre sí. de un grupo de valores de datos II. MODELOS DE DATOS Atributos Nombre Carnet Dirección Dpto. FechNac 13 formato Cadena(String)[30] Cadena(String)[10] Cadena(String)[40] Cadena(String)[10] Cadena(String)[8] Los valores almacenados de la información se les llama reales, y los que se derivan se les llama virtuales, por ejemplo la edad (virtual) que se deriva de la fecha de nacimiento(real). Con el modelo de red se definen elementos de información compleja, como un vector que puede tener múltiples valores en un solo registro; o un grupo repetitivo que permite incluir un conjunto de valores compuestos para un elemento de información en un solo registro. Fig. II.3 - Grupo repetitivo BOLETA CONJUNTOS: Se tienen tres tipos especiales de conjuntos. Los conjuntos propietarios del sistema o singulares que sirven para definir puntos de entrada y salida de datos. Los conjuntos multimiembros empleados cuando los registros miembros pueden ser de más de un tipo. Los conjuntos recursivos son aquellos en los que el mismo tipo de registro participa como propietario y como miembro. II. MODELOS DE DATOS 14 MODELO RELACIONAL Este modelo representa a la base de datos como una colección de relaciones. En términos informales, cada relación se asemeja a una tabla o, hasta cierto punto, un archivo simple. En esta terminología una fila se denomina Tupla, una columna es un atributo y la tabla es una relación. Los tipos de datos que describen los valores de cada columna se llaman dominios y son indivisibles. Con mayor precisión diremos que: Una relación “R” es un subconjunto del producto cartesiano de los dominios D1 X D2 X D3 X... X Dn. Pero, en este modelo informático los dominios son conmutativos, mientras que en Matemática no. El número de atributos representado por “n” se le llama grado de la relación. Se acostumbra a emplear los términos Intensión para el Esquema de una relación R(A1, A2, ... , An) y extensión para la ocurrencia de una relación, por ejemplo: a) Intensión: Estudiante(Nombre, No, Carrera, FechNac). II. MODELOS DE DATOS 15 b) extensión: Estudiante(Adan Pérez, 23, Sistemas, 15/08/74). “Podemos decir el estudiante de nombre Adán Pérez, tiene un número 23, estudia la carrera de sistemas y tiene la fecha de nacimiento 15/08/74.” La relación de la entidad estudiante en más detalles, la presentamos a continuación: II. MODELOS DE DATOS 16 Nombre ESTUDIANTE Núme Carrera ro FechNac Adán Pérez Ana Zeta Pedro Tocón Eva López Luis Cano 23 22 24 21 20 15/08/74 16/04/74 12/11/75 11/02/76 07/01/77 Sistemas Informática Electrónica Mecánica Industrial Los atributos deben ser diferentes, no así los dominios. Como el concepto de dominio es una noción semántica, entonces varios atributos pueden compartir el mismo dominio. Las tuplas o filas deben diferenciarse por lo menos en los valores de un atributo. LLAVE O CLAVE Es el atributo o conjunto de atributos que hacen a una entidad distinguible de las demás. El atributo que pertenece a una llave se le llama primario y cuando no pertenece se le llama secundario; un atributo secundario puede ser nulo, el primario no; toda entidad necesita tener una llave, lo que significa que esta no puede ser nula. Sea K una llave para R que cumple 1) K determina los atributos del Esquema de R 2) K A donde A = {A1, A2 A3,..., An} 3) K 4) K A = {A1, A2 A3,..., An}; no existe un conjunto Y tal que (Y K) (YA) lo anterior indica que K es mínima. SUPERLLAVE: Es un conjunto de uno o más atributos que nos permite clasificar de forma única a una entidad en el conjunto de entidades, incluye a una llave y es mayor que ella. II. MODELOS DE DATOS 17 LLAVE CANDIDATA: Todo conjunto de atributos que determina al resto de los atributos de un esquema de relación y es un subconjunto de dicho Esquema. LLAVE PRIMARIA: Es la llave candidata elegida, es una escogencia arbitraria, las restantes se les llama alternas. LLAVE EXTRANJERA (EXTERNA): Es el atributo o conjunto de atributos que siendo secundario en una relación “R” es parte de la llave o es la llave de otra relación. II. MODELOS DE DATOS 18 MODELO DISTRIBUIDO Un sistema de base distribuido está formado por un conjunto de localidades, cada un de las cuales mantiene un sistema de base local. Cada localidad puede procesar transacciones locales, es decir, aquellas que solo pueden acceder a datos que residen en esa localidad. Además, una localidad puede participar en la ejecución de transacciones globales, las cuales utilizan datos de diferentes localidades. La ejecución de transacciones globales requiere comunicación entre las localidades. Entre las razones para crear estas bases de datos está el compartir la información, la fiabilidad y disponibilidad y la agilización del proceso de consultas. A pesar de esto, hay ciertas desventajas, que incluyen el costo del desarrollo del software, el aumento en la probabilidad de errores y un mayor tiempo extra de procesamiento. Siendo la desventaja principal el aumento de su complejidad que se requiere para garantizar una coordinación adecuada entre las localidades. El almacenamiento de una relación en la base de datos distribuida involucra varios aspectos, entre los que se encuentra la fragmentación y la repetición. Es esencial que el sistema reduzca al mínimo la necesidad de que el usuario conozca la forma de almacenamiento de una relación. En un sistema distribuido pueden encontrarse los mismos fallos que en un sistema centralizado. En forma adicional existen otros tipos de fallos a los que debe enfrentarse una configuración distribuida, e incluyen el fallo de una localidad, la interrupción de una línea de comunicación, la pérdida de mensajes y la fragmentación de la red. Es necesario tomarlos todos en cuenta en el momento de planear un esquema de recuperación distribuido. Para que el sistema sea robusto debe detectar cualquiera de estos fallos, reconfigurar el sistema II. MODELOS DE DATOS 19 para que pueda continuar el procesamiento y recuperarse cuando se repare un procesador o una línea de comunicación. Para garantizar la atomicidad es necesario que todas las localidades donde se ejecutó una transacción T coincidan con el resultado final de la ejecución. T debe ser abortada o ejecutada en todas las localidades. Para asegurar esta propiedad, el coordinador de transacciones de T debe ejecutar un protocolo de compromiso. Existen varios protocolos de compromiso diferentes que se pueden utilizar, pero el más común es el protocolo de compromiso de dos fases. El compromiso de dos fases puede llevarnos a un bloqueo, una situación donde el destino de transacción no pueda determinarse hasta que una localidad (la coordinadora) lo recupere. Para impedir el bloqueo, podemos utilizar el protocolo de compromiso de tres fases. Es posible modificar los diferentes esquemas de control de concurrencia que se utilizan en un sistema centralizado para poder los utilizar en un sistema distribuido. En el caso de los protocolos de bloqueo basta con modificar la ejecución del gestor de bloqueos. Esto puede lograrse de varias maneras. Puede utilizarse uno o más coordinadores centrales. Si, por el contrario, se opta por un enfoque distribuido, es preciso tratar los datos repetidos de forma especial. Existen varios protocolos para hacerlo, pudiéndose mencionar los protocolos de mayoría, preferencial y de copia primaria. En el caso de los esquemas de horas de entradas y de validación, el único cambio que se requiere es el desarrollo de un mecanismo para generar horas de entradas globales únicas. Esto puede hacerse por concatenación de una hora de entrada local con el identificador de una localidad, o adelantando los relojes locales después de la llegada de un mensaje con una hora de entrada más alta. En un Sistema distribuido, el método general para manejar los bloqueos es la detención de las mismas. El problema principal II. MODELOS DE DATOS 20 radica en decidir la manera en que se va a mantener el grafo de espera. Existen para métodos para organizar el grafo de espera, como son los enfoques centralizados, jerárquicos y de distribución total. Algunos de los algoritmos requieren de un coordinador. Si la coordinadora queda fuera de servicio al fallar la localidad donde reside, el sistema solo podrá continuar la ejecución si se activa una copia nueva del coordinador en alguna otra localidad. Esto puede hacerse si se mantiene una copia de seguridad del coordinador que esté preparado para asumir la responsabilidad si el coordinador queda fuera de servicio. Una alternativa es elegir nuevo coordinador después del fallo del coordinador original. Los algoritmos que determinan donde debe activarse una nueva copia del coordinador se denominan algoritmos de elección. Un sistema de base de datos múltiples (MDBS) proporciona un entorno en el cual nuevas aplicaciones de bases de datos puedan acceder desde una variedad de base ya existentes, localizadas en diferentes entornos hardware y Software. Los sistemas de bases de datos locales pueden emplear diferentes modelos lógicos y definición de datos y lenguajes de manipulación de datos, y puede definir en su control de concurrencia y en sus mecanismos de gestión de transacción. Un sistema de base de datos múltiples crea la ilusión de una integración lógicas de bases de datos sin necesitar una integración física de base de datos. CONCLUSION En esta conferencia se trataron los modelos jerárquicos y de red; teniendo el primero inconvenientes como: Muchos problemas para representar la relación muchos a muchos M: N Las modificaciones en el uso de la base de datos pueden afectar sensiblemente el rendimiento del sistema. II. MODELOS DE DATOS 21 La supresión de un elemento de una entidad padre debe implicar la supresión en los hijos asociados. Si no se tiene cuidado, al aplicar esta operación, pueden quedar muchos elementos no asociados. Y entre los inconvenientes del modelo de red, podemos mencionar principalmente que se tiene un acceso navecional por los datos muy tedioso. La capacidad del modelo de red es superior a los jerárquicos en la forma de presentar los vínculos. El modelo relacional de datos está basado en una colección de tablas; el usuario del sistema de base de datos puede consultar estas tablas, insertar nuevas filas o tuplas, eliminarlas y actualizarlas. El modelo distribuido de bases de datos consiste en un conjunto de localidades, cada una de las cuales puede participar en la ejecución de transacciones que acceden a datos de una o varias localidades. Esto proporciona ventajas y una serie de desventajas que se trataron en la conferencia. EJERCICIOS 1. Explique los problemas al emplear un tipo de vph para representar un enlace M: N en el modelo jerárquico, y luego en el de red. 2. Haga tres tablas relacionadas como en el Esquema de las llaves extranjeras. 3. Investigué y haga los dibujos de los gráfos de: red totalmente conectada, red parcialmente conectada, red con estructura de árbol, red de estrella y red de anillo.