El documento habla sobre el cálculo relacional, un lenguaje de consulta declarativo para bases de datos relacionales. Explica que el cálculo relacional describe la respuesta deseada sobre una base de datos sin especificar cómo obtenerla, a diferencia del álgebra relacional que es procedural. También define conceptos como variables de tupla, sintaxis de consulta basada en lógica de primer orden, y cálculo relacional basado en dominios.
2. DEFINICION:
El Cálculo relacional es un lenguaje de
consulta que describe la respuesta deseada
sobre una Base de datos sin especificar como
obtenerla, a diferencia del Álgebra relacional
que es de tipo procedural, el cálculo relacional
es de tipo declarativo; pero siempre ambos
métodos logran los mismos resultados.
3. Variable de tipo tupla Una variable tipo tupla T es
una variable capaz de tomar cualquier valor tupla
que pertenece a una relación (o tabla).
Sintaxis de consulta en TRC La sintaxis es definida
a partir de la lógica de primer orden. Donde la
variable a utilizar es de tipo tupla. Una variable es
libre en una fórmula (o subfórmula) si la (sub)
fórmula no contiene ninguna ocurrencia de
cuantificadores que la limiten. En una consulta en
TRC de la forma: {T | φ (T)}, T es la única variable
libre.
4. Cálculo relacional basado en dominios (DRC)
Está constituido con los mismos operadores que el calculo relacional de tuplas pero no hay tuplas
sino variables dominio. Las expresiones del cálculo relacional de dominios son de la forma { (x, y,
z, ...) / P(x, y, z, ...) }, donde x, y, z representan las variables de dominio, P representa una fórmula
compuesta de átomos (igual que en el CRT). Los átomos del cálculo relacional de dominios tienen
una de las siguientes formas:
(x, y, z ) Î r, donde r es una relación con n atributos y x , y, z .son variables de dominio o
constantes.
x q y, donde x e y son variables de dominio y q es un operador de comparación aritmética (>, <, =,
¹). Es necesario que los atributos x e y, tengan dominios cuyos miembros puedan compararse
mediante q.
x q c, donde x es una variable de dominio, q es un operador de comparación y c es una constante
en el dominio del atributo x.
Podemos definir una formula con base a combinaciones de fórmulas atómicas.
Una formula atómica es una combinación de variables (tipo tupla o tipo dominio, según
corresponda) y atributos o constantes, gracias al uso de operadores como <, >, =, !=, <=, >=.
También es una formula atómica variable ∈ Relación.
Las combinaciones de fórmulas atómicas se generan a partir del uso de operadores
como NOT (¬), AND (∧), OR (∨), →.
Los cuantificadores ∃, ∀ limitan una variable.
5. Cálculo Relacional Orientado a Tuplas
En este lenguaje, expresamos variables que representan tuplas. Si por ejemplo
existe una tupla t contenida en una relación r escribiremos t ∈ r. Si queremos
expresar el valor que toma el atributo A para la tupla t, lo haremos de la
siguiente forma: t[A].
Como dijimos, el cálculo relacional es aprocedimental (no tiene
procedimientos), por tanto cuando deseamos obtener un conjunto de tuplas
(una relación) a partir de otras tenemos que expresarlo usando los medios que
el cálculo relacional nos ofrece, si por ejemplo, queremos obtener una relación
con el conjunto de tuplas que cumplen el predicado P, tendremos que
expresarlo de esta manera: {t / P(t)}. Veamos un ejemplo práctico: "Queremos
tener una lista completa de todos aquellos clientes que tienen un préstamo
cuyo importe sea más de un millón" (selección).
6. Los datos se guardan en variables correspondientes a atributos. Las
variables se refieren a atributos, lo que en cálculo relacional orientado a
tuplas era t[A1] es ahora A1, por tanto si queremos hablar de una tupla
tenemos que nombrar todas las variables correspondientes a los atributos
de esa tupla. (< x1, x2, ....., xn >). Por ejemplo, una tupla de prestamo se
expresaría de la siguiente forma: < p, s, c, i > con:
p = num_prestamo; s = nombre_sucursal; c = nombre_cliente; i =
importe;
En el cálculo relacional orientado a dominios, la expresión general tendrá
la forma: { < x1, x2, ....., xn > / P(< x1, x2, ....., xn >) }
n beneficiarse del acceso hash
7. Dadas las relaciones r y s:
• La unión se expresa
{ t / r(t) ∨ s(t)}
– es decir, el conjunto de tuplas t tales que t
Está en r o en s
Dadas las relaciones r y s:
• La diferencia se expresa
r - s = {t / r (t) ∧ ¬ s (t)}
– es decir, el conj. De tuplas t tales que t está
En r y no en s
Dadas las relaciones r y s:
• La proyección π i1,...ik ( r ) se expresa
{T (k) / ∃ u (r(u)∧ t[1]=u[i1] ∧...∧ t[k]=u[ik]) }
– donde t (k) significa tuplas de grado k
8. Lenguaje de Consulta para bases de datos
relacionales
Se utiliza para manipulación de datos a partir de
las relaciones
Basado en el Cálculo de Predicados de Primer
Orden (refleja las relaciones que existen entre los
elementos de un dominio)
Variantes: de tuplas y de dominio
9. El siguiente artículo enumera las recomendaciones para las mejores
prácticas durante el uso (o el uso planeado) de la funciones de Virtualización
y Replicación de Datos .
Se recomienda tener en cuenta todas las limitaciones, las posibilidades de
integración y el diseño adecuado para el modelado de datos (en análisis y en
las fases de diseño de la implementación del proyecto).
De este modo, teniendo en cuenta que las entidades serán virtuales, es una
buena práctica crear, antes de empezar, todas las entidades y el Modelo de
Datos .
10. Un calculo relacional nos ayuda mucho La
finalidad de este trabajo, es dar una inducción en
el tema de Diseño de Bases de Datos, a personas
ajenas al tema. De manera que por ello los temas
se presentan de una manera sencilla y sin tanta
terminología.
11. Para terminar no olvidemos que ésta sólo es una metáfora
visual, no sólo es cuestión de tirar caños entre cualquier par de
entidades. Aquí se acaba la metáfora, como dijimos desde un
principio es un modelo semántico y para que el caño sea viable
debe haber un verbo o acción que lo justifique y le dé sentido.
Por ejemplo, el empleado tiene un cónyuge, el vendedor realiza
varias ventas, etc. En el DER 5 por ejemplo me resultaría difícil
encontrar un verbo que justifique una relación entre las
entidades Provincia y Profesión.
12. Si no tuve éxito, espero que la metáfora
del agua les ayude a visualizar
rápidamente las posibilidades de
ejecutar una consulta en un modelo
existente o deficiencias de información.
Es sólo un recurso didáctico, pero creo
que aquí si hay un poco más de
originalidad.