Clave compuesta

Como puedo crear una clave compuesta...
En una tabla de access...
En que caso me podría servir..

1 respuesta

Respuesta
1
Primero debemos ponernos de acuerdo en qué es una clave compuesta (tal vez tú tienes otro concepto):
Una clave compuesta es aquella que se forma por dos o más claves. Por ejemplo, puedes tener las siguientes tablas con sus campos:
Servicios
-IdServicio
-Descripción
Personal
-IdPersona
-Nombre
-Puesto
-IdDepartamento
Solicitudes
-IdSolicitud
-IdPersona
-Fecha
Detalles
-IdSolicitud
-IdServicio
-DescripcionProblema
En este caso, SERVICIOS almacenará las categorías de los servicios que se le ofrece al personal de una pequeña empresa, para eso en SOLICITUDES se guardan las solicitudes de servicio que haya solicitado el PERSONAL, con los datos de la persona (IdPersona) y la fecha de solicitud (Fecha). Como una persona puede solicitar más de un servicio al mismo tiempo, tenemos que recurrir a otra tabla auxiliar llamada DETALLES, la cual utiliza una "Clave compuesta" para identificar los registros de forma única, mediante los campos IdSolicitud e IdServicio.
Si te fijas, el servicio:
IdServicio=1
Descripcion=Requisición de papelería
Puede ser un servicio que solicite TODO el personal, por tanto, si en DETALLES guardas sólo la clave del servicio así:
Detalles
-IdServicio
-DescripcionProblema
Lo que ocurriría es que habría infinidad de servicios IdServicio=1 duplicados los cuales no se podría identificar a qué solicitud pertenecen y, por tanto, tampoco se podría determinar quien los solicitó.
Por si no lo habías notado, al tener IdSolicitud e IdServicio juntos, NUNCA deberían aparecer registros en DETALLES donde estos campos se dupliquen, por ejemplo, la solicitud 1 puede tener 3 servicios:
IdSolicitud, IdServicio
1,3
1,7
1,8
Luego la solicitud 2 puede tener el mismo servicio 7:
IdSolicitud, IdServicio
2,7
2,19
Si te fijas, el número de solicitud puede repetirse (1), pero el número de servicio lo diferencia en cada registro (3,7,8). De forma similar, el número de servicio puede repetirse (7), pero el número de solicitud lo diferencia en cada registro (1,2).
Si se diseña bien la tabla de DETALLES, haciendo que IdSolicitud e IdServicio sean CLAVES, nunca existirán registros duplicados. Como ves, en la tabla DETALLES una clave simple NO NOS SIRVE DE NADA.
Para marcar 2 campos como claves, simplemente al estar en modo de diseño de tu tabla, selecciona los dos campos deseados y con el botón derecho del mouse sobre la selección eliges "Clave principal", o también puedes hacerlo desde el menú Edición.
Espero que con este pequeño ejemplo te quede un poco más clara la idea.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas