Clave principal y bases de datos en Access: conceptos y relaciones
Clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 7,65 KB
Actualizado el
Resumen
El documento introduce las bases de datos y sus conceptos básicos: entidades, relaciones, tablas, claves principales y claves externas. Explica cómo implementar relaciones 1 a 1, 1 a muchos y muchos a muchos, y cómo funcionan los tipos de datos y las relaciones en Microsoft Access, incluyendo la integridad referencial.
Puntos clave
- Una base de datos es un conjunto de datos relacionados que se gestionan de forma conjunta.
- La clave principal es un campo o conjunto de campos que identifica de forma única cada registro de una tabla.
- Una clave externa es un campo que es clave principal en otra tabla.
- Las relaciones 1 a 1 y 1 a muchos se implementan copiando la clave principal de una entidad como clave externa en la otra.
- Las relaciones muchos a muchos requieren una tabla nueva que incluya las claves principales de las tablas relacionadas.
- La integridad referencial impide insertar un registro en la tabla externa si no existe el valor correspondiente en la tabla principal.
Resumen generado con IA a partir del documento. Ponte a prueba
INTRODUCCIÓN a las bases de datos
TABLA DE CONTENIDOS
DEFINICIONES.
Base de datos
Conjunto de datos relacionados entre sí que se pueden gestionar de forma conjunta.
Modelo Entidad-Relación
En una forma teórica de modelar los datos de una base de datos mediante diagramas.
Entidad
Elemento de la realidad que tiene asociados unos datos y que existe por sí mismo.
Las entidades se suelen identificar con nombres, por ejemplo:
Clientes, artículos, habitaciones, alumnos, etc.
Relación
Una relación como su nombre indica relaciona al menos dos entidades entre sí. Para que exista una relación deben existir antes las entidades relacionadas.
Las relaciones se suelen identificar por verbos: reservas (de habitaciones por clientes), compra (de artículos por clientes), un alumno cursa asignaturas (la relación sería “cursa”), etc.
Tabla
Las relaciones y entidades se modelan en un ordenador mediante tablas, cada atributo de las entidades y relaciones se modela en los ordenadores mediante los llamados “campos” o “columnas”. Los datos de cada entidad o relación se almacenan en una fila o registro de la tabla. La tabla puede tener multitud de registros o filas, siendo el límite normalmente la capacidad del disco duro del ordenador. Para diferenciar cada registro de los demás se defienen las llamadas claves principales.
CLAVE PRINCIPAL
La clave principal de una tabla es un campo o campos que permiten identificar a cada registro o fila de la tabla de forma únivoca, es decir, cada registro de la tabla tiene un valor distinto en el campo o campos que forman la clave.
Por ejemplo, cada español tenemos un número de DNI distinto y que no debe repetirse nunca. Otro ejemplo de clave principal sería el número de alumno en el carnet de estudiante del centro. Puede haber varios alumnos que se llamen igual, que tengan mismo nombre y apellidos, pero no van a tener el mismo número de alumno o el mismo DNI. Ejemplos de claves incorrectas serían: nombre + apellidos (se puede repetir en distintas personas, hay apellidos muy comunes), CódigoArtículo en una tabla de ventas pues vamos a vender varias veces el mismo artículo a distintas personas, fecha de una venta, pues aunque incluya la hora, minutos y segundos, como hay varias cajas funcionando a la vez puede coincidir (durante años de funcionamiento) que se produzca un pago en la misma hora, minutos y segundos.
Lo normal es que todas las tablas tengan su clave principal, que nos permite identificar a los registros de forma individual para recuperar sus datos, mofidicarlos o eliminarlos.
CLAVE EXTERNA o AJENA
Es un campo o campos definidos en una tabla y que son la clave principal de otra tabla distinta, por este motivo se usa la palabra “externa”.
COMENTARIOS SOBRE LA NORMALIZACIÓN.
Lo normal es no pasar de la segunda forma normal, pues las siguientes implican mayor división de los datos en tablas que puede llegar a ser excesivo.
IMPLEMENTACIÓN DE LAS RELACIONES DEL MODELO ENTIDAD-RELACIÓN EN UNA BASE DE DATOS
Las relaciones según el número de entidades que relacionan pueden ser 1 a 1, 1 a muchos (1 a ‘n’), o muchos a muchos (‘n’ a ‘m’).
Las relaciones 1 a 1 y las 1 a muchos se modelan agregando la clave principal de una entidad como clave externa en la segunda entidad.
Ejemplo: Un cliente de un hotel (clave principal DNI) puede tener hechas varias reservas en distintas fechas, entonces si agregamos el campo DNI en la tabla Reservas como clave externa estamos implementando esa relación 1 a muchos entre el cliente y sus reservas.
Para implementar las relaciones muchos a muchos (‘n’ a ‘m’) es necesario crear una tabla nueva que incluya como clave principal las claves principales de las tablas relacionadas.
Por ejemplo: los artículos de un supermercado y los clientes que los compran. Un artículo puede ser comprado por muchos clientes, pero a su vez, un cliente puede comprar muchos artículos. En estos casos hay que crear una tabla que sería la tabla “Pedidos” que incluye la clave de Clientes (DNI) más la clave de artículos (CódigoArtículo). Estas tablas de pedidos para normalizarlas hay que dividirlas en CabeceraPedidos que incluiría la clave NúmeroPedido, más la fecha, importe total del pedido, DNI del cliente y otra tabla LineasPedido que incluiría la clave de CabeceraPedidos -> NumeroPedido más la clave de Artículos: CódigoArtículo más la cantidad, el precio unitario, precio total, número de línea en el ticket o fáctura.
COMENTARIOS SOBRE ACCESS.
Los tipos de datos de los campos o columnas en Access son los siguientes:
Texto, Número entero, Autonumérico (toma valores desde el 1, 2, etc.), Número con decimales, Moneda, Fecha, Hora, MEMO (se usa para guardar objetos binarios como: fotos, música, video, campos de texto grandes, etc).
CAMPOS DE TIPO AUTONUMÉRICO
El campo Autonumérico toma valores enteros desde el 1 en adelante de forma automática. Se usa por este motivo muchas veces en las claves principales de las tablas. Al insertar un registro en una tabla NO se le puede asignar un valor a un campo autonumérico, pues la propia base de datos Access tiene guardado en alguna parte el siguiente valor de todos los campos autonuméricos que existan en la base de datos.
Si un campo de tipo autonumérico es clave externa (clave principal en otra tabla)
entonces se tiene que definir de tipo número, pues en esta tabla –donde no es clave principal- los valores que debe tomar ya están definidos en la tabla donde el autonumérico sí es clave principal. Por ejemplo: si se usa un autonúmerico como clave principal para las reservas hecha por los clientes de un hotel en el campo “NúmeroReserva” entonces el campo “NúmeroReserva” de la tabla “Facturas”, que es clave externa, ha de definirse de tipo número entero en vez de autonumérico.
RELACIONES DE ACCESS
Estás relaciones no modelan las relaciones entre entidades, si no las relaciones entre los campos que son claves principales de unas tablas con las claves externas o ajenas de otras. Siempre se relaciona el mismo campo en distintas tablas.
No tiene sentido relacionar campos distintos, como por ejemplo un CódigoArtículo con NúmeroVenta, siempre hay que relacionar el mismo dato en distintas tablas: DNI con DNI, CódigoArtículo con CódigoArtículo, etc.
Si marcamos exigir integridad referencial quiere decir que no podemos insertar un registro en la tabla “externa” si no existe un registro asociado en la tabla “principal” con ese valor de clave principal. Por ejemplo: para poder insertar una reserva de hotel antes debe existir un cliente en la tabla Clientes con el DNI indicado.
Si hemos marcado “eliminar en cascada” quiere decir que cuando se elimine un cliente del hotel en “Clientes” automáticamente la propia base de datos Access va a eliminar todas las reservas de ese cliente por ser el DNI clave externa en “Reservas”. Lo mismo pasa si marcamos “Actualizar en cascada”, solo que en ese caso se propagan los cambios hechos en los valores de la clave principal modificada a las tablas donde es clave externa.
Preguntas frecuentes
¿Qué es una clave principal en una base de datos?
Es un campo o conjunto de campos que permite identificar de forma única cada registro de una tabla, de modo que ningún registro comparte el mismo valor en esa clave. Por ejemplo, el DNI identifica a cada persona.
¿Cómo se implementa una relación muchos a muchos?
Se crea una tabla nueva que incluye como clave las claves principales de las tablas relacionadas. En el ejemplo de clientes y artículos, se usa una tabla de pedidos que combina el DNI del cliente y el código del artículo.
¿Qué significa eliminar en cascada en Access?
Significa que, al borrar un registro de la tabla principal, Access elimina automáticamente los registros relacionados de la tabla externa. Por ejemplo, al borrar un cliente se borran sus reservas.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.