Relación (modelo relacional)

La versión estable se desprotegió el 4 de mayo de 2021 . Hay cambios no verificados en plantillas o .

La relación  es un concepto fundamental del modelo de datos relacional . Por esta razón, el modelo se llama relacional (del inglés  relación  - "relación").

Definición y propiedades de una relación

Sea un conjunto de tipos de datos T 1 , T 2 , …, T n , también llamados dominios , no necesariamente diferentes. Entonces una relación n -aria R , o una relación R de grado n es un subconjunto del producto cartesiano de conjuntos T 1 , T 2 , …, T n [1] [2] .

La relación R consta de un encabezado ( esquema ) y un cuerpo . El encabezado es un conjunto de atributos (ocurrencias nombradas del dominio en el encabezado de la relación), y el cuerpo es un conjunto de tuplas correspondientes al encabezado [2] . Más estrictamente:

El número de tuplas se llama el número cardinal de la relación ( cardinalidad ), o la potencia de la relación.

El número de atributos se denomina grado o " aridad " de la relación; una relación con un atributo se llama unaria, con dos - binaria, y así sucesivamente, con n atributos - n -aria. Desde el punto de vista de la teoría, también es bastante correcta una relación con un número cero de atributos, que o no contiene tuplas, o contiene una sola tupla sin componentes (una tupla vacía) [2] .

Propiedades básicas de la relación [1] [2] :

Un subconjunto de atributos de relación que satisface los requisitos de unicidad y minimalidad (irreductibilidad) se denomina clave potencial . Dado que todas las tuplas de una relación son únicas por definición, debe haber al menos una clave candidata en cualquier relación.

Relaciones y tablas

La relación generalmente tiene una interpretación gráfica simple en forma de tabla, cuyas columnas corresponden a atributos, y las filas corresponden a tuplas, y en las "celdas" hay valores de atributos en tuplas. Sin embargo, en un modelo relacional fuerte , una relación no es una tabla , una tupla  no es una fila y un atributo  no es una columna [2] [3] . Los términos "tabla", "fila", "columna" solo se pueden usar en un contexto informal, siempre que se entienda completamente que estos términos más "amigables" son solo una aproximación y no dan una idea precisa de la esencia de los conceptos que se denotan [2] [4] .

Tal como lo define C.J. Date , una tabla es una representación directa y verdadera de alguna relación si cumple las siguientes cinco condiciones:

  1. No hay un orden de líneas de arriba a abajo (en otras palabras, el orden de las líneas no lleva ninguna información).
  2. No hay un orden de izquierda a derecha de las columnas (en otras palabras, el orden de las columnas no contiene información).
  3. Sin líneas duplicadas.
  4. Cada intersección de una fila y una columna contiene exactamente un valor del dominio correspondiente (y nada más).
  5. Todas las columnas son normales. La "regularidad" de todas las columnas de una tabla significa que no hay componentes "ocultos" en la tabla a los que solo se pueda acceder mediante la invocación de algún operador especial en lugar de hacer referencia a nombres de columnas normales, o que produzcan efectos secundarios para las filas. o tablas al invocar operadores estándar. Así, por ejemplo, las cadenas no tienen más identificadores que los valores de clave candidata normales (sin "identificadores de fila" o "identificadores de objeto" ocultos). Tampoco tienen marcas de tiempo ocultas [5] .

Ejemplo

Deje que se den los siguientes tipos (dominios):

Entonces el producto cartesiano consta de 18 tuplas, donde cada tupla contiene tres valores: el primero es uno de los apellidos, el segundo es la disciplina académica y el tercero es el grado.

Sea la relación R el título H : { (Apellido, T 1 ), (Sujeto, T 2 ), (Puntuación, T 3 )}.

Luego, el cuerpo de la relación R puede simular la situación real y contener cinco tuplas que corresponden a los resultados de la sesión (siempre que Petrov no haya aprobado el examen de física). Vamos a mostrar la relación en forma de tabla:

R
Apellido Disciplina Calificación
Ivánov Física cuatro
Ivánov Química 3
Petrov Química 5
Sidorov Física 5
Sidorov Química cuatro

Operaciones sobre relaciones

Ver también: álgebra relacional , cálculo relacional .

Cualquier operación que dé como resultado una relación cae bajo el concepto de operación relacional y puede usarse en teoría y práctica relacional. La siguiente es una lista de ocho operaciones propuestas originalmente por el creador del modelo relacional, Edgar Codd . Todas las operaciones de la lista, excepto la división, todavía se usan mucho, pero la lista no es exhaustiva, es decir, de hecho, se usa un número mucho mayor de operaciones relacionales.

Notas

  1. 1 2 Fecha KJ, 2005 .
  2. 1 2 3 4 5 6 Base de datos en profundidad, 2005 .
  3. En particular, nada impide que la relación se represente visualmente mediante una tabla, en la que las columnas no corresponderán a atributos, sino a tuplas, y las filas no a tuplas, sino a atributos. Es decir, la correlación de las tuplas de relación con las filas de la tabla y los atributos de la relación con las columnas de la tabla es solo un tributo a la tradición, pero no tiene condicionalidad teórica.
  4. Debe recordarse que "mesa" generalmente no significa "relación" como un concepto abstracto , sino una representación visual de la relación en papel o pantalla. El uso incorrecto y laxo del término "tabla" en lugar del término "relación" a menudo conduce a malentendidos. El error más común es pensar que el modelo de datos relacionales trata con tablas "planas" o "bidimensionales", cuando solo pueden ser representaciones visuales de tablas. Las relaciones, por otro lado, son abstracciones y no pueden ser ni “planas” ni “no planas”.
  5. Fecha de CJ. Qué significa realmente la primera forma normal //С. J. fecha. Fecha en la base de datos: Escritos 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0

Literatura