Tuple Relational Calculus es un lenguaje de consulta no procedimental a diferencia del álgebra relacional. Tuple Calculus proporciona solo la descripción de la consulta, pero no proporciona los métodos para resolverla. Por lo tanto, explica qué hacer pero no cómo hacerlo.
En Tuple Calculus, una consulta se expresa como
{t| P(t)}
donde t = tuplas resultantes,
P(t) = conocido como Predicado y estas son las condiciones que se utilizan para obtener t
Por lo tanto, genera un conjunto de todas las tuplas t, tal que el Predicado P(t) es verdadero para t.
P(t) puede tener varias condiciones combinadas lógicamente con OR (∨), AND (∧), NOT(¬).
También utiliza cuantificadores:
∃ t ∈ r (Q(t)) = ”existe” una tupla en t en relación r tal que el predicado Q(t) es verdadero.
∀ t ∈ r (Q(t)) = Q(t) es verdadera “para todas” las tuplas en relación r.
Ejemplo:
Tabla-1: Cliente
Nombre del cliente | Calle | Ciudad |
---|---|---|
Saurabh | A7 | Patialá |
Mehak | B6 | Jalandhar |
Sumiti | D9 | Ludhiana |
Ría | A5 | Patialá |
Tabla-2: Sucursal
Nombre de la sucursal | Ciudad sucursal |
---|---|
A B C | Patialá |
DEF | Ludhiana |
GHI | Jalandhar |
Tabla-3: Cuenta
Número de cuenta | Nombre de la sucursal | Balance | |
---|---|---|---|
1111 | A B C | 50000 | |
1112 | DEF | 10000 | |
1113 | GHI | 9000 | |
1114 | A B C | 7000 |
Tabla-4: Préstamo
número de préstamo | Nombre de la sucursal | Monto |
---|---|---|
L33 | A B C | 10000 |
L35 | DEF | 15000 |
L49 | GHI | 9000 |
L98 | DEF | 65000 |
Tabla-5: Prestatario
Nombre del cliente | número de préstamo |
---|---|
Saurabh | L33 |
Mehak | L49 |
Ría | L98 |
Tabla-6: Depositante
Nombre del cliente | Número de cuenta |
---|---|
Saurabh | 1111 |
Mehak | 1113 |
Sumiti | 1114 |
Consultas-1: Encuentra el número de préstamo, sucursal, monto de préstamos de monto mayor o igual a 10000.
{t| t ∈ loan ∧ t[amount]>=10000}
Relación resultante:
número de préstamo | Nombre de la sucursal | Monto |
---|---|---|
L33 | A B C | 10000 |
L35 | DEF | 15000 |
L98 | DEF | 65000 |
En la consulta anterior, t[cantidad] se conoce como variable de tupla.
Consultas-2: Encuentra el número de préstamo para cada préstamo de una cantidad mayor o igual a 10000.
{t| ∃ s ∈ loan(t[loan number] = s[loan number] ∧ s[amount]>=10000)}
Relación resultante:
número de préstamo |
---|
L33 |
L35 |
L98 |
Consultas-3: Encuentra los nombres de todos los clientes que tienen un préstamo y una cuenta en el banco.
{t | ∃ s ∈ borrower( t[customer-name] = s[customer-name]) ∧ ∃ u ∈ depositor( t[customer-name] = u[customer-name])}
Relación resultante:
Nombre del cliente |
---|
Saurabh |
Mehak |
Consultas-4: Encuentre los nombres de todos los clientes que tienen un préstamo en la sucursal «ABC».
{t | ∃ s ∈ borrower(t[customer-name] = s[customer-name] ∧ ∃ u ∈ loan(u[branch-name] = “ABC” ∧ u[loan-number] = s[loan-number]))}
Relación resultante:
Nombre del cliente |
---|
Saurabh |
Publicación traducida automáticamente
Artículo escrito por India_1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA