lunes, 4 de junio de 2012

TUT_ACCES_06_BASES DE DATOS RELACIONALES - 02

Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional"




  • Una base de datos relacional se compone de varias tablas o relaciones.
  • No pueden existir dos tablas con el mismo nombre ni registro.
  • Cada tabla es a su vez un conjunto de registros (filas y columnas).
  • La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas).
  • Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos.
  • Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las relaciones.
Uno de los objetivos del diseño de bases de datos es eliminar la redundancia de los datos (datos duplicados).

Para ello los datos se organizan en muchas tablas basadas en temas para que cada dato esté representado una sola vez.

En el tutorial anterior creamos una base de datos con 4 tablas: ALUMNOS, PROFESOR, CURSOS, ALUMNOS-CURSOS


Abriremos la base de datos que creamos durante el tutorial anterior.

Para poder crear una relación entre tablas, es necesario que tengan un campo en común, que es recomendable que tenga el mismo nombre y que ha de ser del mismo tipo (texto, número, etc.)


En la ficha Herramientas, en el grupo Mostrar u ocultar hacemos clic en Relaciones:


  • Nos aparece un esquema de las tablas en las que hemos establecido algún tipo de relación.
  • Los campos con una llave indican que se trata de un campo clave
  • La línea que une los campos de cada tabla indican que están relacionados.



Vamos a añadir una nueva relación entre la tabla CURSOS y la tabla PROFESOR.

Hacemos clic en Mostrar tablas, del grupo Relaciones de la ficha Diseño. Seleccionaremos la tabla PROFESOR y haremos clic en el botón Agregar.





Hacemos clic sobre el campo IdProfesor de la tabla PROFESOR y sin soltar lo arrastramos hasta el campo IdProfesor de la tabla CURSOS.

Nos aparece el cuadro Modificar relaciones indicando el nombre de las tablas relacionadas y el nombre del campo por el que van a relacionarse.

Haremos clic sobre el botón crear para establecer la relación.
La relación queda establecida y la vemos representada mediante una línea que une los campos en común.



Las relaciones pueden modificarse haciendo doble clic sobre la línea que une una relación y modificarla con la ventana Modificar relaciones. 

Para crear una nueva relación hacemos clic en el botón Modificar relaciones y en la misma ventana hacemos clic sobre el botón Crear nueva... 

Para eliminar una relación haremos clic sobre la línea de unión de las relaciones para seleccionarla y pulsaremos la tecla Supr. y confirmaremos la eliminación de la relación.


En TUT_ACCESS_03_BASES DE DATOS RELACIONALES - 01 tratamos la integridad referencial.

El propósito de la integridad referencial es evitar los registros huérfanos.

Un registro huérfano es el que hace referencia a otro registro que no existe. Por ejemplo, un curso que hace referencia al un registro de un profesor que no existe.

La aplicaremos la integridad referencial a una relación, de forma que las operaciones que infrinjan la integridad referencial de dicha relación sean rechazadas por Access.

Así serán rechazadas las actuaciones que cambian el destino de una referencia, o las eliminaciones que quitan el destino de una referencia.

Pero podemos tener la necesidad de cambiar una clave principal, por ejemplo de un profesor. Entonces lo que necesitamos es que se actualicen automáticamente todas las filas afectadas como parte de una única operación.

Así nos aseguramos que la actualización es completa.

La opción Eliminar en cascada los registros seleccionados. Si se eliminamos un registro en la parte de la clave principal de la relación, Access elimina automáticamente todos los campos que hacen referencia a la clave principal.

Por ejemplo, si eliminamos un profesor de la tabla PROFESOR, se eliminan automáticamente todos los registros de la tabla CURSOS cuyo IdProfesor coincida con el eliminado en la tabla PROFESOR.

Vamos a asegurar la integridad referencial en nuestra base de datos relacional.

Hacemos doble clic en la línea de unión entre las tablas ALUMNOS y ALUMNOS-CURSOS.
En el cuadro de diálogo Modificar relaciones activamos las casillas Exigir integridad referencialActualizar en cascada los campos relacionados y Eliminar en cascada los registros relacionados.

Veremos que en la línea de unión aparece el número (1) y el símbolo de infinito. Eso quiere decir que un alumno de la tabla alumnos puede aparecer varias veces en la tabla ALUMNOS-CURSOS, ya que puede estar matriculado en varios cursos.


Repetimos estos pasos con el resto de las relaciones.

No hay comentarios:

Publicar un comentario