Skip to main content

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:

    Cabecera. Formada por un conjunto fijo de atributos. Es la parte fija de la relación. Está constituida por:
      El nombre del conjunto: la tabla. El nombre de los atributos: las columnas de la tabla. Los dominios de los que toman valores los atributos. Cuerpo. El cuerpo está formado por un conjunto de filas.

      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:

        No existen filas repetidas: el cuerpo de la relación es un conjunto matemático y en matemáticas, por definición, los conjuntos no incluyen elementos repetidos. Esto se traduce en que dos registros de una misma relación deben diferir, al menos, en el valor de un campo. Las filas no están ordenadas: esta propiedad muestra la diferencia entre una relación y una tabla, porque las filas de una tabla tienen un orden obvio de arriba hacia abajo, mientras que las filas de una relación no tienen orden. Los atributos no están ordenados: esto proviene del hecho de que la cabecera de una relación se define también como conjunto. Las columnas de una tabla tienen un orden evidente de izquierda a derecha, pero los atributos de una relación no tienen orden. Todos los valores de los atributos son atómicos: esto quiere decir que un atributo sólo puede tomar un valor en cada fila.

        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:

          Clave candidata: es un conjunto mínimo y no vacío de atributos que identifica unívocamente cada registro de una relación. Clave primaria: es la clave candidata que elige el usuario para identificar los registros de una relación. Una clave primaria es compuesta cuando está formada por más de un atributo. Clave alternativa: es cualquiera de las claves candidatas que no han sido elegidas como clave primaria. Clave ajena: Es un conjunto no vacío de atributos de una relación cuyos valores han de coincidir con los valores de la clave primaria de otra relación. Las dos relaciones no tienen que ser necesariamente distintas, podrían ser la misma relación (es el caso de las relaciones reflexivas).

          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:

            Una clave ajena y la clave primaria de la tabla referenciada asociada han de estar definidas sobre los mismos dominios. Una tabla puede poseer más de una clave ajena. Tendrá una clave ajena por cada tabla referenciada de la cual dependa. Una tabla puede no tener ninguna clave ajena. Una clave ajena puede relacionar una tabla consigo misma (relaciones reflexivas).