0% encontró este documento útil (0 votos)
1 vistas18 páginas

Grup RithaLovers

El Cálculo Relacional de Tuplas (CRT) es un lenguaje declarativo para consultas en bases de datos relacionales, que se centra en qué datos obtener en lugar de cómo obtenerlos. Utiliza variables de tupla y cuantificadores para expresar condiciones, siendo fundamental para la teoría detrás de SQL. El documento también incluye ejemplos prácticos y comparativas con otros lenguajes de consulta, resaltando su poder expresivo y completitud relacional.

Cargado por

202401238
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas18 páginas

Grup RithaLovers

El Cálculo Relacional de Tuplas (CRT) es un lenguaje declarativo para consultas en bases de datos relacionales, que se centra en qué datos obtener en lugar de cómo obtenerlos. Utiliza variables de tupla y cuantificadores para expresar condiciones, siendo fundamental para la teoría detrás de SQL. El documento también incluye ejemplos prácticos y comparativas con otros lenguajes de consulta, resaltando su poder expresivo y completitud relacional.

Cargado por

202401238
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

RITHA LOVERS

CALCULO
RELACIONAL
INTEGRANTES:
Fuentes Peredo Nataly (202401641)
Ramirez Rodriguez Fabiana Carola (202401645)
Patiño Lazarte Calep Giovanni (202401238)
Torrico Nina Gabriel (202400310)

Base de Datos 1
RITHA LOVERS
CÁLCULO RELACIONAL
DE TUPLAS
El Cálculo Relacional de Tuplas (CRT) es un Características principales:
lenguaje de consulta declarativo y no Basado en el cálculo de predicados de primer orden
procedural para bases de datos relacionales. A Se enfoca en describir las propiedades de los datos
diferencia del álgebra relacional que indica deseados
cómo obtener los datos, el CRT especifica qué Utiliza variables de tupla
datos se desean obtener. Es la base teórica de SQL

Sintaxis Básica Condiciones (Simbolos)


La forma general de una consulta en CRT es: Comparaciones: =, ≠, <, >, ≤, ≥
∧ ∨
Conectores lógicos: (AND), (OR), ¬ (NOT)
∃ ∀
Cuantificadores: (existe), (para todo)

{t | P(t)}
Donde:
t = variable de tupla

P(t) = predicado o condición que debe


satisfacer t

Se lee: "El conjunto de tuplas t tal que P(t)


es verdadero"
EJEMPLOS
RITHA LOVERS

ESTUDIANTE (id_estudiante, nombre, edad, carrera)


CURSO (id_curso, nombre_curso, creditos)

PRACTICOS
INSCRIPCION (id_estudiante, id_curso, nota)

*)Encontrar todos los estudiantes de la carrera


"Ingeniería"

{t | ESTUDIANTE(t) ∧ [Link] = "Ingeniería"} Consulta Simple

*)Obtener solo los nombres de estudiantes


mayores de 20 años
{[Link] | ESTUDIANTE(t) ∧ [Link] > 20} Proyección de Atributos

*)Estudiantes que están inscritos en al menos un


curso

{t | ESTUDIANTE(t) ∧ ∃s(INSCRIPCION(s) ∧ s.id_estudiante = t.id_estudiante)} Uso del Cuantificador Existencial (∃)


*)Nombres de estudiantes inscritos en el curso
"Base de Datos"

{[Link] | ESTUDIANTE(t) ∧∃ ∃ i c(INSCRIPCION(i) ∧


CURSO(c)∧
i.id_estudiante = t.id_estudiante ∧ Join Implícito
i.id_curso = c.id_curso∧
c.nombre_curso = "Base de Datos")}
RITHA LOVERS

¿COMO PUEDO APRENDER DE


MEJOR MANERA?
✅ Enfoque correcto: Domina los Cuantificadores (∃ y ∀)
Primero traduce expresiones CRT a lenguaje
natural Los cuantificadores son el "corazón" del CRT
Practica leyendo: y donde más se complica la gente:

{t | ESTUDIANTE(t) ∧ [Link] > 20} ∃


Para el Existencial ( ) - "Existe al menos
uno"
"Dame los estudiantes cuya edad sea mayor a
20"

--> x P(x) → "Existe al menos un x donde
Una vez que leas fluidamente, escribir será P es verdadero"
natural

∀ ∀
Para el Universal ( ) - "Para todos"--------> x P(x) → "Para TODO x, P es verdadero"
∀ x P(x) ≡ ∃¬ x ¬P(x)
"Para todo" = "No existe ninguno donde NO se cumpla"
RITHA LOVERS
COMPARATIVA
Ritha Lovers
CUANTIFICADORES
EN CRT
Son operadores de la lóhica de predicados que permiten
expresar si una condicion se cumple.
Para al menos un elemento.
O para todos los elemtos.
Son fundamentales porque permiten describir consultas
complejas sobre relaciones sin usar operaciones del AR.

Existencial ( ) ∃ Universal ( )∀
Se lee: Se lee:
"exite " o "hay al "para todo" o "para
menos uno". cada uno".

La condicion P(t) es La condicion P(t) es


verdadera si existe verdadera para
[Link] page 006
al menos una tupla todas las tuplas del
que la cumpla. conjuto.
Ritha Lovers

EJEMPLOS DE USO DE
CUANTIPFICADORES
1.- Alumnos con nota aprobatoria
∃∈ ∧
{ t | i Inscripción ( t[idAlumno] = i[idAlumno] i[nota] ≥ 51 ) }
Devuelve los alumnos que tienen al menos una nota aprobatoria.

2.- Empleados con venta alta


∃ ∈ ∧
{ t | v Venta ( t[idEmpleado] = v[idEmpleado] v[monto] > 100 ) }
Incluye empleados que hicieron alguna venta mayor a 100.

3.- Empleados que trabajan en todas las sucursales


∀ ∈ ∃ ∈
{ t | s Sucursal a Asignación

( a[idEmpleado] = t[idEmpleado] a[idSucursal] = s[idSucursal] ) }
Devuelve los empleados asignados a cada sucursal.

4.- Cursos de todos lod alumnos aprovados


∃ ∈ ∧
{ t | ¬ a Inscripción ( t[idCurso] = a[idCurso] a[nota] < 51 ) }
Devuelve los empleados asignados a cada sucursal. page 007
DEFINICIÓN FORMAL DE CRT
El CRT expresa consultas, definiendo el resultado donde todas las tuplas cumplen una
condición lógica.
FORMA: { t | P(t) }
Ejemplo: { [Link] | Estudiante(t) ∧ [Link] > 20 }
ÁTOMOS

s R → “ s” representa una tupla de la OPERADORES LÓGICOS
relación R. ∧ (y) → ambas deben cumplirse.
s[x] α u[y] → comparación entre valores de ∨ (o) → basta con que una sea verdadera.
dos tuplas. ¬ (no) → niega la condición.
s[x] α c → comparación entre atributo y
constante. Ejemplo:
Ejemplo: ∧
Estudiante(t) [Link] > 20
u[edad] ≥ 18 → t es estudiante y mayor de 20.
p[nota] > q[nota]
CUANTIFICADORES
∃∈
Existencial: s R (P(s)) →
EQUIVALENCIAS LÓGICAS
∧ ⇔ ∨
P1 P2 ¬(¬P1 ¬P2)
existe al menos una tupla
∀∈ ⇔ ∃∈
t R P(t) ¬ t R ¬P(t)
que cumple.
∀∈
Universal: s R (P(s)) →
⇒ ⇔ ∨
P1 P2 ¬P1 P2
Ejemplo:
todas las tuplas cumplen.
∀∈
Cambiar t R P(t) →

∃∈
Ejemplo:
∃∈
¬ t R ¬P(t) para evitar
s Estudiante
([Link] < 18) SEGURIDAD
∀ usar .
Seguras: Usan PODER EXPRESIVO
cuantificadores limitados a Ejemplo CRT → SQL:
relaciones. CRT: { [Link] |
No seguras: Generan ∧
Estudiante(t) [Link] > 20 }
infinitos resultados o usan SQL: SELECT Nombre FROM
negación sin restricción. Estudiante WHERE Edad >
Ejemplo no seguro: 20;
{ t | ¬R(t) }
Definición formal de Cálculo
Relacional de Dominios
Una expresión en el Cálculo relacional de dominios es de la forma:

{<x1 , x2 , . . . , xn> | P (x1 , x2 , . . . , xn)}

x1 , x2 , . . . , xn representan variables de dominio.

P es una fórmula compuesta por átomos


Un átomo en el CRD tiene una de las formas siguientes:


< x1, x2, . . . , xn > r, donde r es una relación con n atributos y x1, x2, . . . , xn son variables de
dominio o constantes de dominio.

x α y donde:
x e y son variables de dominio
α es un operador de comparación ( < , <=, = , <>, >, >=).
x e y tienen dominios que puedan compararse por medio de α.

x α c donde:
x es una variable de dominio.
α es un operador de comparación.
c es una constante en el dominio del atributo correspondiente.
[Link]

Las fórmulas se construyen a partir de átomos usando las reglas siguientes:

Un átomo es una fórmula.


Si P1 es una fórmula, también lo son ¬P1 y (P1).
Si P1 y P2 son fórmulas, también lo son P1 ∨ P2, P1 ∧ P2 y P1 ⇒ P2.
Si P1(x) es una fórmula en x, donde x es una variable libre de dominio,
∃ ∀
también son fórmulas: x (P1(x)) y x (P1(x)).

[Link]
RITHA LOVERS

CONSULTAS DE
EJEMPLO
Encontrar nombre de sucursal, número de préstamo, nombre de cliente y cantidad de préstamos
mayores de 1200 dólares.

{ < b, l, c, a > / < b, l, c, a > ∈ préstamo ∧ a > 1200 }


Encontrar los clientes que tienen un préstamo por una cantidad mayor de 1200 dólares.

{ <c> / ∃ b, l, a (< b, l, c, a > ∈ préstamo ∧ a > 1200) }


Encontrar clientes que tienen una cuenta en todas las sucursales situadas en Brooklyn:

{<c>/ ∀ x, y, z (( < x, y, z > ∈ sucursal) ∧ z = “Brooklyn” => (∃ a, n ( < x, a, c, n > ∈ depósito )))}
RITHA LOVERS

PODER EXPRESIVO DE LOS LENGUAJES

El álgebra relacional. 01.

El cálculo relacional de tuplas. 02.

El cálculo relacional de dominios. 03.


COMPLETITUD
RELACIONAL
Definición: Se dice que un lenguaje de consultas tiene completitud
relacional si puede expresar todas las consultas que son posibles en el
modelo relacional.
operaciones primitivas necesarias:
- Selección
- Proyección
- Producto Cartesiano
- Unión
- Diferencia(Resta)
Ejemplos de lenguajes completos: SQL, QUEL, QBE.
Idea clave: asegura que cualquier consulta posible en el modelo relacional
puede expresarse en el lenguaje.
Comparación de lenguajes
algebraicos y de calculo
Lenguajes algebraicos:
Especifican el orden exacto de las operaciones.
Son más procedimentales.
Lenguajes de cálculo:
Son de más alto nivel.
Describen qué información se quiere, dejando al compilador decidir el orden
más eficiente.
👉 Ventaja: los lenguajes de cálculo permiten optimización automática
EJEMPLO
PRÁCTICO
Alumno(AID, Nombre, CID)
Curso(CID, Materia)
Obtener las Materias de los cursos en los que está inscrito el alumno con AID = 10.

Expresión en Algebra Relacional Forma equivalente(optimizada) Expresion equivalente en calculo

Pasos:
Interpretación: Se lee:
[Link] en Alumno solo AID = 10
[Link] hace un join natural por CID “Todos los valores m (materias) tales
[Link] solo el CID asignado a ese
[Link] filtra solo al alumno cuyo AID que existe un CID c, donde Alumno
alumno
= 10 tiene AID=10 y ese mismo CID
[Link] con Curso para encontrar solo
[Link] muestra únicamente Materia aparece en Curso.”
las materias de ese CID
[Link] Materia
page 011
[Link]

MUCHAS
GRACIAS
[Link]

También podría gustarte