Anda di halaman 1dari 16

EL MODELO DE DATOS RELACIONAL

TEMARIO:

1. El panorama general del modelo de datos


relacional
2. Conceptos básicos
3. Las restricciones del modelo relacional
4. Las operaciones del álgebra relacional
5. Cálculo relacional
6. Resumen
Elaborado por: Ing. Heber Abanto Cabrera / Abril 2011

ICSI, INSO e INTE 2011-10


5. El cálculo relacional

El cálculo relacional representa una alternativa al álgebra


relacional como candidato para la parte de manipulación del
modelo de datos relacional. La diferencia entre los dos es la
siguiente:

• El álgebra proporciona un conjunto de operaciones explícitas


como la unión, intersección, diferencia, selección proyección,
combinación, etc., que pueden ser efectivamente utilizadas
para construir alguna relación deseada de las relaciones que
figuran en la base de datos.
• El cálculo proporciona una notación para la formulación de la
definición de esa relación deseada en términos de las
relaciones dadas.

ICSI, INSO e INTE 2011-10


El cálculo relacional
...
Por ejemplo, considere la consulta "obtener los nombres
completos y las ciudades de los propietarios que poseen un
automóvil de color rojo”.

Una versión algebraica de esta consulta podría ser:

• Combinación de la relación PROPIETARIOS con la relación


AUTOMOVILES en el atributo NumeroDeIdentificacion
• Selección de la relación resultante sólo en las tuplas con el
automóvil de color = “ROJO“
• Proyección del resultado de esa restricción al Nombre,
Apellido y Ciudad de los PROPIETARIOS

ICSI, INSO e INTE 2011-10


El cálculo relacional
...

Una formulación del cálculo, por el contrario, podría ser:

• Obtener Nombre, Apellido y Ciudad para los propietarios que


tengan un automóvil con el mismo NumeroDeIdentificacion y
con el color ROJO.

Aquí el usuario ha limitado a afirmar las características que


definen el conjunto deseado de tuplas, y se deja al sistema para
decidir exactamente cómo se va a hacer. Podríamos decir que la
formulación de cálculo es descriptivo, mientras que el álgebra es
prescriptivo. El cálculo se limita a establecer cuál es el problema,
mientras que el álgebra da un procedimiento para resolver ese
problema.

ICSI, INSO e INTE 2011-10


El cálculo relacional
...
Lo cierto es que el álgebra y el cálculo son, precisamente,
equivalentes entre sí. Para cada expresión del álgebra, hay una
expresión equivalente en el cálculo; del mismo modo, para cada
expresión del cálculo, hay una expresión equivalente en el álgebra.
Existe una correspondencia uno-a-uno entre los dos. Los
formalismos diferentes simplemente representan estilos diferentes
de expresión. El cálculo es más como el lenguaje natural, mientras
que el álgebra es más cercano a un lenguaje de programación.
El cálculo relacional se basa en una rama de la lógica matemática
denominada cálculo de predicados. Kuhns parece ser el padre de
esta idea de usar el cálculo de predicados como la base para un
lenguaje de base de datos, pero Codd fue el primero que propuso
el concepto de cálculo relacional, un cálculo de predicados aplicado
específicamente a las bases de datos relacionales

ICSI, INSO e INTE 2011-10


El cálculo relacional
...
Un lenguaje explícitamente basado en el cálculo relacional también
fue presentado por Codd. Se llamaba sublenguaje de datos ALPHA y
nunca fue implementado en la forma original. El lenguaje QUEL de
INGRES es en realidad muy similar al sublenguaje de datos ALPHA.
Codd también dio un algoritmo, el algoritmo de reducción de Codd,
por el cual una expresión arbitraria del cálculo puede ser reducida a
una expresión semánticamente equivalente del álgebra.
Hay dos tipos de cálculo relacional:

• Cálculo relacional orientado a tupla - basado en el concepto de


variable de tupla
• Cálculo Relacional orientado a dominio - basado en el concepto
de variable de dominio

ICSI, INSO e INTE 2011-10


5.1. Cálculo relacional orientado a tupla

Una variable tupla es una variable que se extiende sobre alguna


relación. Es una variable para la cuál los valores permitidos son
tuplas de esa relación. En otras palabras, si una variable tupla T se
extiende sobre la relación R, entonces, en un momento dado, T
representa una tupla t de R.
Una variable tupla se define como:

RANGE OF T IS X1; X2; …; Xn

donde T es una variable tupla y X1, X2, …, Xn son expresiones de


cálculo de tupla, que representan relaciones R1, R2, …, Rn. Estas
relaciones R1, R2, …, Rn todas deben ser unión-compatibles, y los
atributos correspondientes deben tener el mismo nombre en cada
relación. La variable tupla T se extiende en la unión de esas
relaciones.

ICSI, INSO e INTE 2011-10


Cálculo relacional orientado a tupla

Si la lista de expresiones de cálculo de tupla identifica sólo una


relación denominada R (el caso normal), entonces la variable tupla
t sólo se extiende sobre las tuplas de esa única relación.

Cada ocurrencia de una variable tupla puede ser libre o ligada.


Si una variable tupla ocurre en el contexto de un atributo
referenciado de la forma T.A, donde A es un atributo de la relación
sobre la cuál se extiende T, es llamada una variable tupla libre.
Si una variable tupla ocurre como la variable que inmediatamente
sigue a uno de los cuantificadores: el cuantificador existencial ∃ o
el cuantificador universal ∀, es llamada una variable tupla ligada.

ICSI, INSO e INTE 2011-10


Cálculo relacional orientado a tupla

Una expresión de cálculo de tupla se define como:


T.A, U.B, …, V.C WHERE f
donde T, U, …, V son variables tupla, A, B, …, C son atributos de las
relaciones asociadas, y f es una fórmula de cálculo relacional que
contienen exactamente T, U, …, V como variables libres. El valor de
esta expresión se define como una proyección del subconjunto del
producto cartesiano ampliado T×U×…×V (donde T, U, …, V
extienden todos sus posibles valores) para el cuál f se evalúa como
verdadera o si “WHERE f” se omite una proyección de todo el
producto cartesiano. La proyección es tomada sobre los atributos
indicados por T.A, U.B, …, V.C. Ningún elemento objetivo puede
aparecer más de una vez en esa lista.

ICSI, INSO e INTE 2011-10


Cálculo relacional orientado a tupla

Por ejemplo, la consulta "Obtener el Nombre, Apellido y Ciudad para


los propietarios de automóviles que tengan un automóvil con el
mismo NumeroDeIdentificacion y con el color ROJO" se puede
expresar de la siguiente manera:
RANGE OF OWNERS IS
OWNERS.FirstName, OWNERS.LastName, OWNERS.City WHERE
∃ CARS(CARS.IdentificationNumber=OWNERS.IdentificationNumber
AND CARS.Color=’RED’)

El cálculo de tupla es formalmente equivalente al álgebra relacional.


El lenguaje QUEL de INGRES se basa en el cálculo relacional orientado
de tuplas.

ICSI, INSO e INTE 2011-10


5.2. Cálculo relacional orientado a dominio

Lacroix y Pirotte propusieron una alternativa de cálculo


relacional denominada cálculo de dominio, en el cuál las
variables de tupla se sustituyen por las variables de dominio.
Una variable de dominio es una variable que se extiende sobre
un dominio en lugar de sobre una relación.
Cada ocurrencia de una variable de dominio también puede ser
libre o ligada. Una variable de dominio ligada se presenta como
la variable que sigue inmediatamente a uno de los
cuantificadores: al cuantificador existencial ∃ o al cuantificador
universal ∀. En los demás casos, la variable es llamada una
variable libre.

ICSI, INSO e INTE 2011-10


Cálculo relacional orientado a dominio

El cálculo relacional orientado a dominio utiliza condiciones de
pertenencia. Una condición de pertenencia toma la forma de:
R (término, término, …)
donde R es el nombre de la relación, y cada término es un par
de la forma A:v, donde A es un atributo de R y v es o bien una
variable de dominio o una constante. La condición se evalúa
como verdadera si y sólo si existe una tupla en la relación R con
los valores especificados para los atributos especificados.
Por ejemplo la expresión
OWNERS(IdentificationNumber:’SB24MEA’,City:’SIBIU’) es una
condición de pertenencia, la cuál evalúa como verdadera si y
sólo si existe una tupla en la relación PROPIETARIOS con el
valor de NumeroDeIdentificacion SB24MEA y el valor de
Ciudad SIBIU.

ICSI, INSO e INTE 2011-10


Cálculo relacional orientado a dominio

Del mismo modo, la condición de pertenencia


R (A:AX, B:BX, …)
evalúa a verdadero si y sólo si existe una tupla R con un valor
de atributo igual al valor actual de la variable de dominio AX
(no importa lo que sea), el valor del atributo B igual al valor
actual de la variable de dominio BX (de nuevo, no importa lo
que sea) y así sucesivamente.
Por ejemplo, la consulta "Obtener el Nombre, Apellido y
Ciudad para los propietarios de automóviles que tengan un
automóvil con el mismo NumeroDeIdentificacion y con el color
ROJO" se puede expresar de la siguiente manera:

ICSI, INSO e INTE 2011-10


Cálculo relacional orientado a dominio

FirstNameX, LastNameX, CityX WHERE ∃ IdentificationNumberX
(OWNERS (IdentificationNumber:IdentificationNumberX,
FirstName:FirstNameX, LastName:LastNameX,
City:CityX)
AND CARS(IdentificationNumber:IdentificationNumberX,
Color:’RED’)

El cálculo de dominio es formalmente equivalente al álgebra


relacional.
Un lenguaje, llamado ILL, basado en éste cálculo fue
presentado por Lacroix y Pirotte. Otro lenguaje relacional
basado en el cálculo relacional de dominio es QBE (Query-By-
Example).

ICSI, INSO e INTE 2011-10


Resumen

El cálculo relacional se presenta como una alternativa al


álgebra relacional para la parte de manipulación del
modelo de datos relacional. Las diferencias entre ellos
fueron explicadas. El cálculo relacional orientado a tupla,
basada en el concepto de variable de tupla y el cálculo
relacional orientado a dominio, basado en el concepto de
variable de dominio, también fueron descritos en esta
presentación.

ICSI, INSO e INTE 2011-10

Anda mungkin juga menyukai