# 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.

<table cellpadding="4" cellspacing="0" id="bkmrk-nombre-apellidos-eda" style="height: 294px; width: 63.0864%;" width="758"><tbody><tr valign="top"><td style="border-color: #000000 currentcolor #000000 #000000; border-style: solid none solid solid; border-width: 1px medium 1px 1px; padding: 0.1cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">**NOMBRE**</span></span>

</td><td style="border-color: #000000 currentcolor #000000 #000000; border-style: solid none solid solid; border-width: 1px medium 1px 1px; padding: 0.1cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">**APELLIDOS**</span></span>

</td><td style="border-color: #000000 currentcolor #000000 #000000; border-style: solid none solid solid; border-width: 1px medium 1px 1px; padding: 0.1cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">**EDAD**</span></span>

</td><td style="border: 1px solid #000000; padding: 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">**TELÉFONO**</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Alfonso</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Gutiérrez Pérez</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">38</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">698 569 854</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Lucía </span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">López García</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">37</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">666 999 888</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Jorge</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Juan Bonilla</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">38</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">632 458 785</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Ana</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">García García</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">29</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">654 987 321</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Diego</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Rodríguez Gracia</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">36</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">632 985 632</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Marta</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Pérez Martínez</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">34</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">678 521 456</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Alberto</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Vega Domínguez</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">31</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">698 584 521</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Manuela</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Fernández Hernández</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">35</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">636 696 898</span></span>

</td></tr><tr valign="top"><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 20.1413%;" width="20%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Silvia</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 29.8587%;" width="30%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Gracia Barrós</span></span>

</td><td style="border-color: currentcolor currentcolor #000000 #000000; border-style: none none solid solid; border-width: medium medium 1px 1px; padding: 0cm 0cm 0.1cm 0.1cm; width: 24.0283%;" width="24%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">36</span></span>

</td><td style="border-color: currentcolor #000000 #000000; border-style: none solid solid; border-width: medium 1px 1px; padding: 0cm 0.1cm 0.1cm; width: 25.9717%;" width="26%"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">654 654 654</span></span>

</td></tr></tbody></table>

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).

Un ejemplo a continuación:

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-oficina-num_oficina-" style="border-collapse: collapse; width: 86.1728%; height: 272px;" width="658"><tbody><tr><td colspan="6" style="width: 99.7109%;" width="654">**Oficina**

</td></tr><tr><td style="width: 16.6185%;" width="125">**NUM\_OFICINA**

</td><td style="width: 16.6185%;" width="112">**CALLE**

</td><td style="width: 16.6185%;" width="84">**AREA**

</td><td style="width: 16.6185%;" width="126">**POBLACION**

</td><td style="width: 16.6185%;" width="109">**TELEFONO**

</td><td style="width: 16.6185%;" width="87">**FAX**

</td></tr><tr><td style="width: 16.6185%;" width="125">001

</td><td style="width: 16.6185%;" width="112">Rúa Seco, 19

</td><td style="width: 16.6185%;" width="84">Sur

</td><td style="width: 16.6185%;" width="126">Olite

</td><td style="width: 16.6185%;" width="109">948 222222

</td><td style="width: 16.6185%;" width="87">948 658745

</td></tr><tr><td style="width: 16.6185%;" width="125">002

</td><td style="width: 16.6185%;" width="112">Larraga, 21

</td><td style="width: 16.6185%;" width="84">Norte

</td><td style="width: 16.6185%;" width="126">Olite

</td><td style="width: 16.6185%;" width="109">948 121212

</td><td style="width: 16.6185%;" width="87">948 123465

</td></tr><tr><td style="width: 16.6185%;" width="125">003

</td><td style="width: 16.6185%;" width="112">Tudela, 15

</td><td style="width: 16.6185%;" width="84">Sur

</td><td style="width: 16.6185%;" width="126">Pamplona

</td><td style="width: 16.6185%;" width="109">948 323232

</td><td style="width: 16.6185%;" width="87">948 236589

</td></tr><tr><td style="width: 16.6185%;" width="125">004

</td><td style="width: 16.6185%;" width="112">Italia, 12

</td><td style="width: 16.6185%;" width="84">Centro

</td><td style="width: 16.6185%;" width="126">Zaragoza

</td><td style="width: 16.6185%;" width="109">976 658745

</td><td style="width: 16.6185%;" width="87">976 548721

</td></tr><tr><td style="width: 16.6185%;" width="125">005

</td><td style="width: 16.6185%;" width="112">de la Parra, 16

</td><td style="width: 16.6185%;" width="84">Centro

</td><td style="width: 16.6185%;" width="126">Teruel

</td><td style="width: 16.6185%;" width="109">978 225588

</td><td style="width: 16.6185%;" width="87">978 159732

</td></tr></tbody></table>

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.

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-empleado-num_emplead" style="border-collapse: collapse; width: 101.975%; height: 261px;" width="623"><tbody><tr><td colspan="6" style="width: 100.124%;" width="619">**Empleado**

</td></tr><tr><td style="width: 16.6873%;" width="144">**NUM\_EMPLEADO**

</td><td style="width: 16.6873%;" width="81">**DNI**

</td><td style="width: 16.6873%;" width="74">**OFICINA**

</td><td style="width: 16.6873%;" width="103">**TELEF\_FIJO**

</td><td style="width: 16.6873%;" width="131">**TELEF\_MOVIL**

</td><td style="width: 16.6873%;" width="76">**FAX**

</td></tr><tr><td style="width: 16.6873%;" width="144">12340

</td><td style="width: 16.6873%;" width="81">25369874

</td><td style="width: 16.6873%;" width="74">005

</td><td style="width: 16.6873%;" width="103">978 225588

</td><td style="width: 16.6873%;" width="131">655 191919

</td><td style="width: 16.6873%;" width="76">978 159732

</td></tr><tr><td style="width: 16.6873%;" width="144">12350

</td><td style="width: 16.6873%;" width="81">72658412

</td><td style="width: 16.6873%;" width="74">002

</td><td style="width: 16.6873%;" width="103">948 121212

</td><td style="width: 16.6873%;" width="131">655 212019

</td><td style="width: 16.6873%;" width="76">948 123465

</td></tr><tr><td style="width: 16.6873%;" width="144">12360

</td><td style="width: 16.6873%;" width="81">72658965

</td><td style="width: 16.6873%;" width="74">003

</td><td style="width: 16.6873%;" width="103">948 323232

</td><td style="width: 16.6873%;" width="131">655 242563

</td><td style="width: 16.6873%;" width="76">948 236589

</td></tr><tr><td style="width: 16.6873%;" width="144">12370

</td><td style="width: 16.6873%;" width="81">25814796

</td><td style="width: 16.6873%;" width="74">001

</td><td style="width: 16.6873%;" width="103">976 456985

</td><td style="width: 16.6873%;" width="131">655 256985

</td><td style="width: 16.6873%;" width="76">948 658745

</td></tr><tr><td style="width: 16.6873%;" width="144">12380

</td><td style="width: 16.6873%;" width="81">25369854

</td><td style="width: 16.6873%;" width="74">004

</td><td style="width: 16.6873%;" width="103">976 658745

</td><td style="width: 16.6873%;" width="131">655 658965

</td><td style="width: 16.6873%;" width="76">976 548721

</td></tr></tbody></table>

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:

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-oficina-num_oficina--0" style="border-collapse: collapse; width: 85.3086%;" width="623"><tbody><tr><td colspan="6" style="width: 100%;" width="619">**Oficina**

</td></tr><tr><td style="width: 16.6667%;" width="121">**NUM\_OFICINA**

</td><td style="width: 16.6667%;" width="123">**CALLE**

</td><td style="width: 16.6667%;" width="62">**AREA**

</td><td style="width: 16.6667%;" width="115">**POBLACION**

</td><td style="width: 16.6667%;" width="97">**TELEFONO**

</td><td style="width: 16.6667%;" width="91">**DIRECTOR**

</td></tr><tr><td style="width: 16.6667%;" width="125">001

</td><td style="width: 16.6667%;" width="112">Rúa Seco, 19

</td><td style="width: 16.6667%;" width="84">Sur

</td><td style="width: 16.6667%;" width="126">Olite

</td><td style="width: 16.6667%;" width="109">948 222222

</td><td style="width: 16.6667%;" width="81">25369874

</td></tr><tr><td style="width: 16.6667%;" width="125">002

</td><td style="width: 16.6667%;" width="112">Larraga, 21

</td><td style="width: 16.6667%;" width="84">Norte

</td><td style="width: 16.6667%;" width="126">Olite

</td><td style="width: 16.6667%;" width="109">948 121212

</td><td style="width: 16.6667%;" width="81">72658412

</td></tr><tr><td style="width: 16.6667%;" width="125">003

</td><td style="width: 16.6667%;" width="112">Tudela, 15

</td><td style="width: 16.6667%;" width="84">Sur

</td><td style="width: 16.6667%;" width="126">Pamplona

</td><td style="width: 16.6667%;" width="109">948 323232

</td><td style="width: 16.6667%;" width="81">72658965

</td></tr><tr><td style="width: 16.6667%;" width="125">004

</td><td style="width: 16.6667%;" width="112">Italia, 12

</td><td style="width: 16.6667%;" width="84">Centro

</td><td style="width: 16.6667%;" width="126">Zaragoza

</td><td style="width: 16.6667%;" width="109">976 658745

</td><td style="width: 16.6667%;" width="81">72658412

</td></tr><tr><td style="width: 16.6667%;" width="125">005

</td><td style="width: 16.6667%;" width="112">de la Parra, 16

</td><td style="width: 16.6667%;" width="84">Centro

</td><td style="width: 16.6667%;" width="126">Teruel

</td><td style="width: 16.6667%;" width="109">978 225588

</td><td style="width: 16.6667%;" width="81">72658965

</td></tr></tbody></table>

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).

{{@5685}}