miércoles, 14 de septiembre de 2011

Modelo de Base de Datos de red

1. Estructuras del Modelo de Datos de Red

En este modelo, se compone de una componente estática y otra dinámica. La estática estaría compuesta por los objetos (entidades o nodos y atributos), las interrelaciones o arcos y las restricciones, que a su vez pueden ser inherentes (no tenemos en este modelo) y de usuario (pueden ser reconocidas por el modelo de datos o de responsabilidad exclusiva del usuario). Dentro de la componente estática podemos citar un elemento más que atendería a la representación, y son los grafos.

Por otro lado, la componente dinámica estaría compuesta por el aspecto navegacional. El esquema en si representa los aspectos estáticos, es decir, la estructura de los datos, que comprende los tipos de entidades, interrelaciones, etc. Una ocurrencia del esquema son los valores que toman los elementos del esquema en un determinado momento. Estos valores irán variando a lo largo del tiempo debido a la aplicación de los operadores de manipulación de datos a una ocurrencia del esquema.
El modelo es muy flexible debido a la inexistencia de restricciones inherentes. Esto implica dificultad a la hora de implementarlo físicamente y a la larga poco eficiente. Es por esto que el modelo sea tan solo teórico, y que a la hora de llevarlo a la practica se introduzcan restricciones.
2. Restricciones / Limitaciones del modelo de Red

En el modelo en red no se ha especificado ningún tipo de restricción en lo que respecta a las interrelaciones. Esto quizá haga del modelo en red un modelo tremendamente sencillo de utilizar, pero no deja de tener un carácter general y provoca que en la práctica su instrumentación no resulte nada fácil.
Es por esto, que los SGBD que se basan en el modelo en red, deben añadir una serie de restricciones a fin de poder implementar la base de datos físicamente y obtener un mayor rendimiento del sistema.
Un modelo de datos de este tipo, es el denominado modelo Codasyl. Este modelo es una simplificación del modelo en red general. Aquí solo se admiten ciertos tipos de interrelaciones, y además se incluyen otras restricciones adicionales. Estas restricciones no limitan demasiado la flexibilidad original del modelo en red general, pero nos permiten tener una instrumentación eficiente.

El modelo Codasyl definió una serie de elementos básicos que definían su estructura de datos. Son los siguientes:
  • Agregado de datos: Se asemeja a los campos de un fichero o a los atributos de otros modelos.
  • 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).
  • 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 mas 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. Proporciona su dirección en la base de datos. Es un obstáculo para conseguir la independencia lógica / física. Suponía problemas el reutilizar una clave cuando se reorganizaba la base de datos.
CARACTERÍSTICAS BÁSICAS DEL MODELO CODASYL

Se pueden resumir las características básicas del modelo en :
  • Un SET es una colección nominada de dos o más tipos de registros que representan un tipo de interrelación 1:N (en consecuencia también 1:1).
  • Cada SET tendrá un tipo de registro propietario y uno o más tipos de registros miembro.
  • El número de SET que se pueden declarar en el sistema es ilimitado.
  • Cualquier registro puede ser propietario de uno o varios SET.
  • Cualquier registro puede ser miembro de uno o varios SET.
  • Podrán existir SET singulares en los que el propietario es el sistema (una entidad se interrelaciona consigo mismo).
 RESTRICCIONES INHERENTES DEL MODELO CODASYL
Cuando hablábamos del modelo en red general, decíamos que era 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 a 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.
3. Transformación E-R en el modelo de Red

Es posible diseñar una base de datos de red a partir de un esquema de Entidad-Relacion de la siguiente manera:
  • Entidades normales: Por cada entidad se crea un tipo de registro con todos sus atributos simples o compuestos como campos simples o compuestos. Sus atributos multivaluados se incluyen tambien , pero como campos vectoriales.
  • Entidadesd débiles: Estas son entidades que dependen de otra para poder existir. Para cada entidad débil se crea un tipo de regsitro que lo represente. Además debemos relacionarla con la entidad de la que depende, para ello la entidad fuerte de la qeu depende la débil viene ser propietario y la débil, miembro.
  • Vínculo uno-uno (1:1) y uno-muchos no recursivos: En el caso de la relación de uno a uno se elige cualquiera de los dos registros como propietario y al otro como miembro. En el caso de la relación de uno a muchos (1:N) se escoge como propietario al registro que representa a la entidad que está al lado 1 de la relación y como miembro al registro que representa a la entidad que esta al lado N de la relación.
  • Relaicones de muchos a muchos (N:M): Se crea un nuevo tipo de registro, el cual sera miembro de los dos registros que representan a las entidades de la relación.
  • Vínculos recursivos con vínculos de 1:1 o 1:N: Para ambos casos se crea un nuevo registro. El cual se unirá al registro que representa la entidad a través de tipo de conjuntos (flechas).
  • Vículos que relacionan a más de dos entidades: Para ello se crea un nuevo tipo de registro, el cual será el registro miembro de los registros que representan a las entidades. Y estos vendrían a ser los registros propietarios.
4. Programación de una Base de Datos de Red

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

Los comandos son:
  • SELECT ... FROM ... WHERE ... devuelve cero o más filas de una o más talas o vistas de la base de datos.
  • INSERT INTO ... VALUES ... añade uno o más registros a cualquier tabla.
  • UPDATE ... SET ... WHERE ... cambia los datos de uno o más registros de una tabla. Dependiendo de la condición, se pude actualizar todos los campos o todos los registros.
  • DELETE FROM ... WHERE ... elimina uno o más registros de una tabla.
5. Ejemplos




No hay comentarios:

Publicar un comentario