Download II. MODELOS DE DATOS Los SGBD se clasifican de acuerdo a

Document related concepts

Modelo de base de datos wikipedia , lookup

Base de datos jerárquica wikipedia , lookup

Modelo relacional wikipedia , lookup

Base de datos relacional wikipedia , lookup

Base de datos wikipedia , lookup

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)  (YA) 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.