jueves, 19 de enero de 2012

Modelo de Base de Datos de Red

Estructura de una Base de Datos de Red

Una base de datos de red es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional, donde cada uno de los que contiene solamente un único valor almacenado, exclusivamente el enlace es la asociación entre dos registros, así que podemos verla como una relación estrictamente binaria.

Una estructura de base de datos de red, llamada algunas veces estructura de plex, abarca más que la estructura de árbol, porque un nodo hijo en la estructura red puede tener más de un nodo padre. En otras palabras, la restricción de que en un árbol jerárquico cada hijo puede tener sólo un padre, se hace menos severa. Así, la estructura de árbol se puede considerar como un caso especial de la estructura de red.

Restricciones:

El modelo de datos en red general representa las entidades en forma de nodo de un grafo, y las asociaciones o interrelaciones entre éstas mediante los arcos que unen dichos nodos. Esta representación no impone en principio ninguna restricción ni al tipo ni al número de los arcos permitiéndote el modelado de estructuras de datos tan complejas como se desee. Podemos definir el modelo en red general con una mayor formalización, como un conjunto finito de tipos de entidades con sus respectivas atributos y un conjunto finito de interrelaciones , donde el superíndice h permite diferenciar dos interrelaciones distintas entre los mismos elementos, ya que se refiere al nombre de la interrelación. El esquema representa los aspectos estáticos, la estructura de los datos, mientras que una ocurrencia de la base de datos son los "N" valores que toman los elementos del esquema en un determinado momento, los cuales irán variando a lo largo del tiempo por el efecto de aplicar los operadores de manipulación de datos a una ocurrencia del esquema. El modelo en red general es muy flexible debido a la inexistencia de restricciones inherentes, pero también por esta misma razón su instrumentación física resulta difícil y poco eficiente. esta es la causa de que se le suela introducir restricciones al llevarlo a la practica.

Transformación ER-Red para el diseño de bases de datos de red


  • Toda entidad del modelo entidad-relación se transforma en una tabla.
  • Cualquier atributo de una entidad se transforma en un campo dentro la tabla, manteniendo las claves primarias.
  • Las relaciones N:M se transforman en una nueva tabla que tendrá como clave primaria la concatenación de los atributos clave de las entidades que relaciona.
  • En las relaciones 1:N se pueden tener dos casos:
    • Si la entidad que participa con cardinalidad máxima uno lo hace también con cardinalidad mínima uno, entonces se propaga el atributo de la entidad que tiene cardinalidad máxima 1 a la que tiene cardinalidad máxima N, desapareciendo el nombre de la relación. Si existen atributos en la relación éstos también se propagarán.
    • Si la entidad que participa con cardinalidad máxima uno lo hace también cardinalidad mínima cero, entonces se crea una nueva tabla formada por las claves de cada entidad y los atributos de la relación. La clave primaria de la nueva tabla será el identificador de la entidad que participa con cardinalidad máxima N.
  • En el caso de las relaciones 1:1 también pueden darse dos casos:
    • Si las entidades poseen cardinalidades (0,1), la relación se convierte en una tabla.
    • Si una de las entidades posee cardinalidad (0,1) y la otra (1,1), conviene propagar la clave de la entidad con cardinalidad (1,1) a la tabla resultante de la entidad con cardinalidad (0,1). Si ambas entidades poseen cardinalidades (1,1) se puede propagar la clave de cualquiera de ellas a la tabla resultante de la otra.
  • En el caso de las relaciones N-arias se aplica la misma regla que para las relaciones N:M
  • En el caso de las relaciones reflexivas supondremos que se trata de una relación binaria con la particularidad que las dos entidades son iguales y aplicaremos las reglas vistas en los puntos anteriores.


Programación de Base de Datos de Red

Esto puede ser útil si el programa tiene que acceder a una base de datos en red o bien si accedes en el mismo equipo a una base de datos.
Lo que hay que hacer es usar EditMode y comprobar si se está editando.
Veamos un ejemplo:

With Data1.Recordset
    'Escribe el código para buscar el registro a editar, etc.
    '...
    Do While .EditMode = dbEditInProgress
 DoEvents
    Loop
    'Cuando llegue aquí, es que ya está libre...
    .Edit
    '...hacer los cambios al registro...
    .Update
End With
Los valores que devuelve EditMode, pueden ser:
dbEditNone          Si no se está editando.
dbEditInProgress    Se está editando actualmente.
dbEditAdd           Se ha añadido un registro con AddNew
                    y el registro actual todavía está en el buffer.


Diagrama de esquema de red para una base de datos














No hay comentarios:

Publicar un comentario