Diseño de bases de datos relacionales

Plano de Claves

1
2
3
4
5
6

Antes de empezar

Repaso de conceptos

Trabajemos con la misma tabla de referencia:

ID_EmpleadosNombresApellidosSSNCargoEmail
1CristianoRonaldo4212Delanterosiuu@fakemail.com
2EarlingHaaland4213Delanterouuuu@fakemail.com
3NeymarJunior4214Delantero++reyNey@fakemail.com

Superclave

Cualquier combinación de columnas que te permita distinguir una fila de todas las demás. Puede tener columnas "de más": {ID_Empleados}, {SSN}, {Email}, {ID_Empleados + SSN}, {Email + ID_Empleados} son todas superclaves de esta tabla.

Clave candidata

Una superclave que ya no se puede achicar más sin perder la unicidad. Aquí serían {ID_Empleados}, {SSN} y {Email} — no {ID_Empleados + SSN}, porque le sobra una columna.

En cada ejercicio vas a marcar tus respuestas. Truco: al seleccionar una opción, la tabla de arriba resalta las columnas involucradas — úsalo para comparar fila por fila antes de decidir.

Identificación de superclaves

Dificultad: ○○○ — reconocer superclaves directas
Contexto: Tabla Mascotas de una clínica veterinaria.
Numero_ChipID_Historial_Medico Nombre_MascotaEspecieRaza
CH-9938HM-001BobbyPerroBeagle
CH-1022HM-002LunaGatoSiamés
CH-8473HM-003BobbyPerroCaniche
CH-4451HM-004MiloGatoMestizo
CH-1190HM-005LunaPerroLabrador

Marca una opción .

Selecciona todas las combinaciones que garantizan ser superclaves válidas:

De superclaves a claves candidatas

Dificultad: ●○○ — filtrar lo mínimo necesario
Contexto: Tabla Vehiculos_Registrados en una entidad de tránsito.
PatenteNumero_ChasisMarcaColorAño_Fabricacion
AB123CDVIN000000001ToyotaRojo2020
XY987ZZVIN000000002ToyotaAzul2018
MN456OPVIN000000003FordRojo2020
KL333JJVIN000000004ChevroletNegro2021

Fíjate en qué valores de la columna Marca se repiten.

Estas son superclaves válidas de la tabla. Marca únicamente las que además son claves candidatas:

El desafío de las claves compuestas

Dificultad: ●●○ — pensar en pares de columnas
Contexto: Tabla Inscripciones_Examenes. Un estudiante rinde varias materias y una materia es rendida por varios estudiantes.
DNI_EstudianteCodigo_MateriaFecha_ExamenNota_Obtenida
11.111.111BD-1012023-12-018
11.111.111PR-2012023-12-019
22.222.222BD-1012023-12-016
33.333.333BD-1012023-12-0510
33.333.333PR-2012023-12-087

A) ¿Es el conjunto {DNI_Estudiante, Fecha_Examen} una superclave?

B) ¿Es el conjunto {DNI_Estudiante, Codigo_Materia, Nota_Obtenida} una superclave?

C) El conjunto anterior {DNI_Estudiante, Codigo_Materia, Nota_Obtenida}, ¿es una clave candidata?

La trampa del código "casi único"

Dificultad: ●●● — cuidado con lo que parece único pero no lo es
Contexto: Tabla Empleados_Sucursal de una empresa con varias sucursales, cada una con su propia numeración interna de legajos.
DNILegajo_InternoSucursalEmail_CorporativoTelefono_Interno
30.111.222L-001Centroana.rios@empresa.com4021
30.222.333L-002Centroluis.paz@empresa.com4022
30.333.444L-001Nortecarla.diaz@empresa.com4021
30.444.555L-003Nortemario.leon@empresa.com4023

Compara con cuidado la fila 1 y la fila 3.

A) Selecciona todas las combinaciones que sí funcionan como superclaves:

B) De esas superclaves válidas, ¿cuáles son además claves candidatas?

Encuentra las tres claves candidatas

Dificultad: ●●●●★ y una combinación que parece
Contexto: Tabla Reservas_Hotel. Esta tabla esconde exactamente tres claves candidatas entre varias superclaves funcionar pero no lo hace.
Codigo_ReservaDNI_HuespedNumero_HabitacionFecha_Checkin
R-500140.111.2221012024-03-01
R-500240.111.2222052024-03-05
R-500340.111.2221012024-03-10
R-500440.444.5553102024-03-01
R-500540.333.4442052024-03-01

Compara con lupa las filas R-5001 y R-5003.

Selecciona todas las claves candidatas (son tres):

Reto final: arma tu propio mapa de claves

Contexto: Tabla Pedidos_Compra de un sistema de ventas. Aquí no hay opciones para marcar: el trabajo es tuyo.
Numero_PedidoRUC_ClienteCodigo_ProductoFecha_PedidoCantidad
P-9001RUC-100SKU-A12024-05-015
P-9002RUC-100SKU-B22024-05-012
P-9003RUC-200SKU-A12024-05-031
P-9004RUC-100SKU-A12024-05-105

Escribe, con tus propias palabras, apoyándote en filas concretas de la tabla:

Antes de dar tu respuesta por definitiva, pregúntate:
  • ¿Hay alguna fila donde RUC_Cliente y Codigo_Producto coincidan? ¿Qué otra columna hace falta para separarlas?
  • ¿Numero_Pedido por sí solo ya te alcanza? Si es así, ¿qué sentido tiene seguir buscando combinaciones más largas?
  • ¿Cantidad aporta algo a la unicidad de alguna combinación, o solo describe el pedido?
  • Si dos pedidos futuros tuvieran el mismo RUC, mismo producto y misma fecha, ¿tu clave elegida seguiría funcionando?