Saltar la navegación

2.2. 📖 Claves

Introducción

Ahora estudiaremos dos conceptos muy importantes en el diseño de una base de datos: las claves y las relaciones. Además, estudiaremos estos conceptos de manera práctica utilizando DBDiagram. 🌐🔑

Claves

Las claves son los campos que permiten identificar de manera única un registro dentro de una tabla. Piensa en ellas como si fueran el DNI para cada registro. Hay dos tipos principales:

  1. Clave Primaria: Es única para cada registro en una tabla. Por ejemplo, en una tabla de estudiantes, El DNI, o el número de identificación del estudiante podrían ser claves candidatas a ser primarias.
  2. Clave Foránea: Es una clave que se usa para enlazar dos tablas. Esta clave corresponde a una clave primaria en otra tabla.

Claves

A continuación vamos a mostrar unos datos ficticios para rellenar registros de las tablas con la estructura definida anteriormente. En las siguientes dos imágenes puedes ver los datos:

Tabla Estudiantes

Tabla Estudiantes

Tabla Cursos

Tabla Cursos

En este ejemplo:

  • Clave primaria de la tabla "estudiantes": Es el campo DNI, que identifica de manera única a cada estudiante. Por ejemplo, 12345678A corresponde únicamente a "Juan Pérez". Como puedes ver, los demás campos pueden estar repetidos en diferentes registros, pero el DNI es único en cada uno.

  • Clave primaria de la tabla "cursos": Es el campo id, que identifica cada curso. Por ejemplo, el id = 1 se refiere solo al curso "Matemáticas".

  • Clave foránea en la tabla "estudiantes": Es el campo id_curso, que conecta a cada estudiante con el curso en el que está inscrito, haciendo referencia al campo id de la tabla "cursos". Por ejemplo:

    • "Juan Pérez" tiene id_curso = 1, lo que significa que está inscrito en el curso "Matemáticas".
    • "Ana García" tiene id_curso = 2, lo que significa que está inscrita en el curso "Historia".

Esta estructura permite relacionar los estudiantes con los cursos de forma ordenada y consistente.

Elección de Clave Primaria

La elección de la clave primaria en una tabla es una tarea muy importante, a la que conviene dedicar una buena reflexión para evitar problemas de integridad en tu base de datos. Vamos a analizar algunos puntos importantes para elegir una clave primaria correctamente:

Requisitos para Elegir una Clave Primaria

  1. Debe ser única: Ningún registro puede compartir el mismo valor en este campo.
  2. No puede ser nula: Todos los registros deben tener un valor en el campo que sea clave primaria.
  3. Debe ser estática: El valor de la clave no debería cambiar para mantener la integridad de los datos.

Buenas Prácticas para Elegir Claves Primarias

  1. Evita campos que puedan cambiar: Por ejemplo, no uses nombres o correos electrónicos, ya que pueden modificarse.
  2. Preferible que sean claves numéricas o cortas: Las claves numéricas son más eficientes y ocupan menos espacio que cadenas largas.
  3. Considera un campo artificial cuando sea necesario: Si no hay un campo natural único, añade un identificador numérico o alfanumérico que sea único para cada registro.

Tipos Comunes de Claves Primarias

  1. Un solo campo existente:
    Si ya tienes un campo que cumple los requisitos anteriores, úsalo como clave primaria.

    • Ejemplo:
      Tabla de estudiantes:
      DNI Nombre Apellido
      12345678A Ana García
      23456789B Juan Pérez
      • Clave primaria: DNI (es único y no cambia).
  2. Clave artificial (ID generado):
    Si no hay un campo adecuado, crea un nuevo campo, como un número o código único.

    • Ejemplo:
      Tabla de libros:
      ID Libro Título Autor
      1 Cien años de soledad Gabriel García Márquez
      2 Don Quijote Miguel de Cervantes
      • Clave primaria: ID Libro.

Elige la clave primaria adecuada

Pregunta

Pregunta 1: Clave primaria en la tabla "Estudiantes"

En la tabla Estudiantes, ¿cuál sería la mejor opción para una clave primaria?

Respuestas

Nombre

Apellidos

DNI

Fecha de nacimiento

Retroalimentación

Pregunta

Pregunta 2: Clave primaria en la tabla "Productos"

En la tabla Productos, ¿cuál sería la mejor clave primaria?

Respuestas

Nombre

Código de producto

Precio

Categoría

Retroalimentación

Pregunta

Pregunta 3: Clave primaria en la tabla "Reservas de Hotel"

En la tabla Reservas, ¿qué campo usarías como clave primaria?

Respuestas

Nombre del Huésped

Fecha de Reserva

Habitación Reservada

ID Reserva

Retroalimentación

Pregunta

Pregunta 4: Clave primaria en la tabla "Ventas"

En la tabla Ventas, ¿qué campo sería más adecuado como clave primaria?

Respuestas

Nombre del Cliente

Producto Vendido

Fecha de la Venta

ID Venta

Retroalimentación

Pregunta

Pregunta 5: Clave primaria en la tabla "Coches"

En la tabla Coches, ¿cuál sería el mejor campo para la clave primaria?

Respuestas

Matrícula

Marca

Modelo

Año

Retroalimentación

Creado con eXeLearning (Ventana nueva)