jueves, 19 de enero de 2012

El modelo de base de datos de red y de Datos Jerarquico

Estructura de una base de datos de red

El modelo de base de datos de red fue el resultado de la estandarización del comité CODASYL. Aunque existen algunas bases de datos de red que no siguen las especificaciones CODASYL, en general, una base de datos CODASYL es sinónimo de base de datos de red. El modelo de red intenta superar las deficiencias del enfoque jerárquico, permitiendo el tipo de relaciones de muchos a muchos.

Una estructura de datos en red, o estructura plex, es muy similar a una estructura jerárquica, de hecho no es más que un súper conjunto de ésta. Al igual que en la estructura jerárquica, cada nodo puede tener varios hijos pero, a diferencia de ésta, también puede tener varios padres. La Figura muestra una disposición plex. En esta representación, los nodos C y F tienen dos padres, mientras que los nodos D, E, G y H tienen sólo uno

.
El modelo Codasyl definió una serie de elementos básicos que definían su estructura de datos. Son los siguientes:

- Elemento de datos: Unidad de datos más pequeña que se puede referenciar. Puede ser de distintos tipos, y puede definirse como dependiente de valores de otros elementos (datos derivados).

- Agregado de datos: Se asemeja a los campos de un fichero o a los atributos de otros modelos.

- Registro: Colección nominada de elementos de datos. Unidad básica de acceso y manipulación. Se asemeja a los registros en ficheros y a las entidades en el modelo E/R.

- Conjunto (SET): Colección nominada de dos o más tipos de registros que establece una vinculación entre ellos. Origen de muchas restricciones. Las interrelaciones 1:N se representan aquí mediante SET.

- Área: Subdivisión nominada del espacio direccionable de la base de datos que contiene ocurrencias de registros.

- Clave de base de datos: Identificador interno único para cada ocurrencia de registro.

Restricciones en el modelo de base de datos de red

El modelo de base de datos de red es un modelo muy flexible a coste de no tener restricciones inherentes. Esta ausencia de restricciones hace que sea muy difícil de implementar, y a la larga suele reportar escaso rendimiento, por lo que como también decíamos no pasa de ser un modelo teórico.

El modelo Codasyl está basado en el modelo en red general, pero a diferencia de este, es un modelo utilizado. Esto es debido a que Codasyl ha incluido restricciones inherentes que hacen que sea posible su implementación y que se obtenga un alto rendimiento del sistema.

Las restricciones son las siguientes:

- Solo se admiten tipos de interrelaciones jerárquicas de dos niveles (propietario y miembro). Si se admite la combinación de varios SET para generar jerarquías multinivel.

- En el nivel propietario solo se permite un tipo de registro.

- En el mismo SET no se permite que a un registro ser a la vez propietario y miembro, no está admitida la reflexividad. Aunque esta restricción se eliminó con el tiempo, los productos basados en Codasyl la siguen utilizando.

- Una misma ocurrencia de miembro no puede pertenecer en un mismo tipo de SET a más de un propietario. Esto hace que se simplifique la implementación física de los SET, ya que sus ocurrencias se pueden organizar como una cadena.

Uso de la transformación ER-Red para el diseño de bases de datos de red

Una base de datos de red se compone por una colección de registros que se conectan entre sí por medio de ligas.

Un registro equivale a una entidad y un campo a un atributo del modelo entidad relación. Los campos contienen exclusivamente valores atómicos. Una liga es una relación que se establece solamente entre dos registros; es decir; debe utilizarse una liga para cada relación entre una pareja de registros.



El caso anterior muestra la transformación del modelo entidad relación al modelo de red para una relación simple donde no existen atributos descriptivos en la relación.

Programación de una base de datos de red

El lenguaje de manipulación de datos de Codasyl es de tipo navegacional (opera de registro a registro), procedimental ( requiere el conocimiento de la estructura física de la base de datos del programador) y tiene que estar embebido en un lenguaje de programación anfitrión, como característica importante cabe resaltar que en él se distingue la localización o selección de la acción( recuperación o actualización).

La navegación por la base de datos se lleva a cabo apoyándose en los indicadores de registro activo, concepto fundamental en la componente dinámica del modelo Codasyl.

Un ejemplo de programación de registros de una base de datos de red (Alumnos-Materia) en Pascal:


type materia = record
clave: string[7]
nombreM: string[25]
cred: string[2];
end;


type alumno = record
nombre: string[30];
control: string[8];
materia: Materia; {Enlace a materia}
end;

Estructura del modelo jerárquico

El modelo de datos jerárquico contiene segmentos. Los segmentos, en función de su situación en el árbol y de sus características, pueden denominarse como:

1) SEGMENTO PADRE: Es aquél que tiene descendientes, todos ellos localizados en el mismo nivel.
SEGMENTO HIJO: Es aquél que depende de un segmento de nivel superior. Todos los hijos de un mismo padre están en el mismo nivel del árbol.


SEGMENTO RAÍZ: El segmento raíz de una base de datos jerárquica es el padre que no tiene padre. La raíz siempre es única y ocupa el nivel superior del árbol.

La raiz en el ejemplo sería: "empresa".

Una OCURRENCIA de un segmento de una base de datos jerárquica es el conjunto de valores particulares que toman todos los campos que lo componen en un momento determinado.

Un REGISTRO de la base de datos es el conjunto formado por una ocurrencia del segmento raíz y todas las ocurrencias del resto de los segmentos de la base de datos que dependen jerárquicamente de dicha ocurrencia raíz.

La relación PADRE/HIJO en la que se apoyan las bases de datos jerárquicas, determina que el camino de acceso a los datos sea ÚNICO; este camino, denominado CAMINO SECUENCIA JERÁRQUICA, comienza siempre en una ocurrencia del segmento raíz y recorre la base de datos de arriba a abajo, de izquierda a derecha y por último de adelante a atrás.
El esquema es una estructura arborescente compuesta de nodos, que representan las entidades, enlazados por arcos, que representan las asociaciones o interrelaciones entre dichas entidades.
La estructura del modelo de datos jerárquico es un caso particular de la del modelo en red, con fuertes restricciones adicionales derivadas de que las asociaciones del modelo jerárquico deben formar un árbol ordenado, es decir, un árbol en el que el orden de los nodos es importante. Una estructura jerárquica, tiene las siguientes características:

- El árbol se organiza en un conjunto de niveles.
- El nodo raíz, el más alto de la jerarquía, se corresponde con el nivel 0.
- Los arcos representan las asociaciones jerárquicas entre dos entidades y no tienen nombre, ya que no es necesario porque entre dos conjuntos de datos sólo puede haber una interrelación.
- Mientras que un nodo de nivel superior (padre) puede tener un número ilimitado de nodos de nivel inferior(hijos), al nodo de nivel inferior sólo le puede corresponder un único nodo de nivel superior. en otras palabras, un progenitor o padre puede tener varios descendientes o hijos, pero un hijo sólo tiene un padre.
- Todo nodo, a excepción del nodo raíz, ha de tener obligatoriamente un padre.
- Se llaman hojas los nodos que no tienen descendientes.
- Se llama altura al número de niveles de la estructura jerárquica.
- Se denomina momento al número de nodos.
- El número de hojas del árbol se llama peso.
- Sólo están permitidas las interrelaciones 1:1 ó 1:N
- Cada nodo no terminal y sus descendientes forman un subárbol, de forma que un árbol es una estructura recursiva.
- El árbol se suele recorrer en preorden; es decir, raíz, subárbol izquierdo y subárbol derecho.


Entre las restricciones propias de este modelo se pueden resaltar
A) Cada árbol debe tener un único segmento raíz.
B) No puede definirse más de una relación entre dos segmentos dentro de un árbol.
C) No se permiten las relaciones reflexivas de un segmento consigo mismo.
D) No se permiten las relaciones N:M.
E) No se permite que exista un hijo con más de un padre.
F) Para cualquier acceso a la información almacenada, es obligatorio el acceso por la raíz del árbol, excepto en el caso de utilizar un índice secundario.
G) El árbol debe recorrer siempre de acuerdo a un orden prefijado: el camino jerárquico.
H) La estructura del árbol, una vez creada, no se puede modificar.



No hay comentarios:

Publicar un comentario