Conceptos fundamentales del modelo relacional
El modelo relacional se basa en el concepto matemático de relación, que se representa gráficamente mediante una tabla. Codd utilizó terminología matemática para definir el modelo relacional, en concreto la de la teoría de conjuntos y de la lógica de predicados.
El concepto de relación
La relación es el elemento básico del modelo relacional y está compuesta por dos partes:
El número de columnas que tiene una relación recibe el nombre de grado de la relación, y el número de filas recibe el nombre de cardinalidad de la relación.
Como ejemplo, la siguiente tabla representa la relación PERSONA.
NOMBRE
APELLIDOS
EDAD
TELÉFONO
Alfonso
Gutiérrez Pérez
38
698 569 854
Lucía
López García
37
666 999 888
Jorge
Juan Bonilla
38
632 458 785
Ana
García García
29
654 987 321
Diego
Rodríguez Gracia
36
632 985 632
Marta
Pérez Martínez
34
678 521 456
Alberto
Vega Domínguez
31
698 584 521
Manuela
Fernández Hernández
35
636 696 898
Silvia
Gracia Barrós
36
654 654 654
La cabecera de esta relación es: PERSONA (NOMBRE, APELLIDOS, EDAD, TELEFONO)
El cuerpo es el conjunto de 9 filas con los datos concretos de personas, el grado de la relación es 4 y la cardinalidad 9.
Las tablas del modelo relacional cumplen las siguientes propiedades:
Clave primaria y claves ajenas
Sea va a recordar lo que era una clave primaria y se va a añadir un concepto nuevo, el de clave ajena.
En el modelo relacional tenemos los siguientes tipos de claves:
Veamos un ejemplo a continuación:
Oficina
NUM_OFICINA
CALLE
AREA
POBLACION
TELEFONO
FAX
001
Rúa Seco, 19
Sur
Olite
948 222222
948 658745
002
Larraga, 21
Norte
Olite
948 121212
948 123465
003
Tudela, 15
Sur
Pamplona
948 323232
948 236589
004
Italia, 12
Centro
Zaragoza
976 658745
976 548721
005
de la Parra, 16
Centro
Teruel
978 225588
978 159732
El atributo NUM_OFICINA es una clave candidata ya que identifica de manera única cada registro de la tabla, y en este caso además es la clave primaria porque no existe en la tabla ninguna otra clave candidata.
Empleado
NUM_EMPLEADO
DNI
OFICINA
TELEF_FIJO
TELEF_MOVIL
FAX
12340
25369874
005
978 225588
655 191919
978 159732
12350
72658412
002
948 121212
655 212019
948 123465
12360
72658965
003
948 323232
655 242563
948 236589
12370
25814796
001
976 456985
655 256985
948 658745
12380
25369854
004
976 658745
655 658965
976 548721
En esta tabla hay dos claves candidatas, el atributo NUM_EMPLEADO y el atributo DNI, ya que ambos identifican de manera única a cada registro de la tabla. Si se considera el atributo DNI como clave primaria, el atributo NUM_EMPLEADO pasa a ser una clave alternativa de la tabla.
Si la relación OFICINA tuviera la siguiente estructura:
Oficina
NUM_OFICINA
CALLE
AREA
POBLACION
TELEFONO
DIRECTOR
001
Rúa Seco, 19
Sur
Olite
948 222222
25369874
002
Larraga, 21
Norte
Olite
948 121212
72658412
003
Tudela, 15
Sur
Pamplona
948 323232
72658965
004
Italia, 12
Centro
Zaragoza
976 658745
72658412
005
de la Parra, 16
Centro
Teruel
978 225588
72658965
Se puede ver que el atributo DIRECTOR hace referencia al atributo DNI de la tabla EMPLEADO, que además es la clave primaria de dicha tabla, por lo que DIRECTOR es la clave ajena de la tabla OFICINA y referencia la tabla EMPLEADO.
Las claves primarias y ajenas cumplen una serie de propiedades: