jueves, 20 de mayo de 2010

Relaciones


Para diseñar una base de datos lo primero que se requiere es identificar cual es la información que necesitan conocer los usuarios de la misma. Esto se obtiene de la especificación de los requerimientos de parte del usuario.


El siguiente paso es traducir estos requerimientos en un esquema conceptual de la base de datos. Se emplea el diagrama entidad-relación para representarlo gráficamente.

El diagrama entidad-relación se basa en "una percepción del mundo real que consiste en una colección de objetos básicos llamados entidades y relaciones entre estos objetos"
El diagrama entidad-relación es el modelo más ampliamente usado para el diseño conceptual de bases de datos y fue introducido por Peter Chen en 1976.


Conceptos básicos:


"Una ENTIDAD es un objeto que se distingue de otros objetos por medio de un conjunto específico de atributos". Por ejemplo algunas entidades pueden ser: Alumno, Empleado, Artículo, etc.


Un juego de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos. Ejemplo: La totalidad de los alumnos de una escuela.


ATRIBUTOS. Representan las propiedades básicas de las entidades. Cada entidad tiene un juego de atributos cuyos valores le identifican en forma única. La entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.


TIPOS DE ATRIBUTOS


SIMPLES: son aquellos que no se han dividido en subpartes. (Por ejemplo del numero de control de un alumno)


COMPUESTOS: son los que pueden dividirse en otros atributos, por ejemplo el atributo nombre, puede dividirse en nombre, apellido materno y apellido paterno.


MONOVALUADO (de un solo valor) Por ejemplo el atributo sexo es único.


MULTIVALOR: Por ejemplo un alumno puede tener cero o más números telefónicos.


DERIVADO: el valor de este tipo de atributo es obtenido a partir de los valores de otro. Por ejemplo la edad se deriva de la fecha de nacimiento (en relación con la fecha actual).


Una RELACIÓN es una asociación entre diferentes entidades. Por ejemplo un alumno con calificación (de una cierta materia).



La cardinalidad expresa el número de entidades a las que se puede asociar otra entidad a través de un conjunto de relaciones. (derivado de Cardinal : que expresa un número)


Tipos de relaciones (Cardinalidad )
  • Uno a uno



Una entidad en A esta asociada con una entidad en B y viceversa (por ejemplo el nombre del alumno con su número de control, o un aparato y su número de serie.)
  • Uno a muchos (ó muchos a uno )




Una entidad en C esta asociada con 0 ó más entidades en D. (por ejemplo "Un profesor puede impartir varias clases. Pero una clase solo la imparte un profesor". Otro ejemplo "Una madre puede tener cualquier número de hijos, pero cada hijo pertenece a una sola madre").
  • Muchos a muchos

Una entidad en E esta asociada con cualquier número de entidades en F (0 ó más) y viceversa. Por ejemplo "en un proyecto de investigación puede haber cualquier número de investigadores, un investigador puede participar en cero o varias investigaciones".
En el diseño de una base de datos no se permiten relaciones directas “muchos a muchos”. Se tiene que añadir una tabla entre las dos, que sirva de enlace y evite que las dos tablas queden relacionadas directamente.

Para mayor información lea los siguientes apuntes: Modelo Entidad Relación de Guillermo Storti et al.
Podemos accesar en Internet a más de 500 modelos entidad relación de bases de datos, aunque estan en inglés son facilmente entendibles por tratarse de diagramas.
El creador de todos estos modelos de base de datos es un especialista que ha creado las bases de datos de múltiples empresas en los EE.UU. y Europa, quien cita: "el diseño de estos modelos de datos me da la oportunidad de devolver algo a la comunidad de base de datos que me ha proporcionado una buena forma de vida durante más de 15 años"

Al establecer relaciones, es usual definir cuales campos son los más importantes.
CLAVE o LLAVE PRIMARIA Es el atributo que se usa para diferenciar una entidad de otra, por ejemplo un alumno de otro (en este caso la llave primaria es el numero de control).
  • Cada tabla (juego de entidades) debe tener una llave primaria.
  • La llave primaria debe ser única y no cambiar con el tiempo.

Una vez definida la clave principal, se puede utilizar en otras tablas para hacer referencia a la tabla que contiene la clave principal. Por ejemplo, un campo ID_alumno de la tabla Alumnos podría aparecer también en la tabla Matemáticas. En la tabla Alumnos es la clave principal y en la tabla Matemáticas es una clave externa o foránea. (Una clave externa, en otras palabras, es la clave principal de otra tabla).
La integridad referencial es un sistema de reglas que utiliza la base de datos para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminen ni modifiquen accidentalmente datos relacionados.
Usualmente se maneja con dos opciones:
Cuando la casilla de verificación Actualizar en cascada los campos relacionados está activada, el cambio de un valor de clave principal en la tabla principal actualiza automáticamente el valor coincidente en todos los registros relacionados.
Cuando la casilla de verificación Eliminar en cascada los registros relacionados está activada, la eliminación de un registro en la tabla principal elimina todos los registros relacionados en la tabla relacionada.


Como Crear una Base de Datos Sencilla:







No hay comentarios:

Publicar un comentario