Lenguajes de Bases de Datos: CLCULO RELACIONAL - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Lenguajes de Bases de Datos: CLCULO RELACIONAL

Description:

Imprimir solo las c dulas de los estudiantes ... que a) pero solo imprimir las c dulas y los ... g) Imprimir las c dulas de todos los estudiantes y todos ... – PowerPoint PPT presentation

Number of Views:156
Avg rating:3.0/5.0
Slides: 19
Provided by: carlosmari
Category:

less

Transcript and Presenter's Notes

Title: Lenguajes de Bases de Datos: CLCULO RELACIONAL


1
Lenguajes de Bases de Datos CÁLCULO RELACIONAL
Clase 18
  • Gloria Lucía Giraldo Gómez
  • Universidad Nacional de Colombia
  • glgiraldog_at_unalmed.edu.co
  • Bloque anexo al M8
  • Oficina 313

2
Cálculo Relacional
  • Es otro Lenguaje de Consulta para BD relacionales
  • Sirve para la manipulación y extracción de datos
    a partir de las relaciones
  • Es un lenguaje puro (generalmente no implementado
    directamente) aunque existen prototipos (WinRDBI)
  • Se basa en el Cálculo de predicados de primer
    orden, donde una relación expresa una propiedad o
    predicado
  • Es cerrado relacionalmente

3
Cálculo Relacional
  • El Álgebra Relacional es secuencial,
    procedimental
  • El Cálculo Relacional no es procedimental.
  • Intenta capturar el lenguaje natural dice qué se
    quiere obtener pero no cómo
  • Existen 2 variantes de Tuplas y de Dominios
  • Nos concentraremos en el Cálculo Relacional de
    Tuplas.

4
Cálculo Relacional de Tuplas
  • Concepto básico Tupla
  • Una consulta se escribe así
  • t / P(t)
  • significa el conjunto de tuplas t, tal que el
    predicado P es verdadero (se cumple) para t

5
Cálculo Relacional de Tuplas
  • Elementos del predicado
  • t Î r la tupla t está contenida en la relación
    r
  • ta significa el valor del atributo a de la
    tupla t
  • Condiciones de comparación (gt,gt,lt,lt, , ?)
  • Comparaciones entre atributos o entre un
  • atributo y una constante
  • Ejemplos t1a ? t1b , t1c gt 8, t1a t2b

6
Cálculo Relacional de Tuplas
  • Cuantificadores Existencial () y Universal (").
    Evalúan a falso o verdadero
  • Cuantificador Existencial
  • t Î r (Q(t)) Evalúa a verdadero si existe
    al menos una tupla t de la relación r que cumple
    el predicado Q.

7
Cálculo Relacional de Tuplas
  • Ejemplos
  • t Î r (tb 11) Es verdadero si existe al
    menos una tupla en r cuyo atributo b valga 11
  • t Î r (tb lt 3 Ù ta8) Es verdadero si
    existe al menos una tupla en r, cuyo atributo b
    sea menor que 3 y cuyo atributo a sea igual a 8

8
Cálculo Relacional de Tuplas
  • Cuantificador Universal
  • " t Î r (Q(t)) Evalúa a verdadero si todas las
    tuplas t de r cumplen el predicado Q
  • Ejemplo
  • " t Î r (ta 8) Verdadero si todas
  • las tuplas t de r tienen un valor de 8 en el
  • atributo a

9
Cálculo Relacional de Tuplas
  • Condiciones Compuestas
  • Son combinaciones de los elementos anteriores,
    mediante los operadores
  • Ù (and), Ú (or), Ø (not)
  • Ejemplos
  • (t1 Î r Ù t1a 8)
  • (t1 Î r Ù " t2 Î s (t2b gt t1c)

10
Cálculo Relacional de Tuplas
  • El cuantificador universal " puede ser
  • expresado en términos del cuantificador
  • existencial así
  • " t Î r (Q(t)) Ø t Î r (ØQ(t))
  • Un ejemplo en lenguaje natural
  • Todos los clientes tienen nombre
  • No existe un cliente que No tenga nombre

11
Cálculo Relacional de Tuplas
  • La variable asociada a un cuantificador sólo
    tiene existencia (validez) dentro del predicado
    correspondiente, es decir
  • t Î r (Q(t))
  • La variable t sólo tiene validez dentro del
    predicado Q. Por lo tanto la condición
  • t1 Î r Ù " t2 Î s (t2b gt t1c) Ù
    t2z10
  • Es inválida ya que t2 no existe por fuera del
    cuantificador ".
  • Note que t1 si puede aparecer dentro del
    cuantificador.
  • Se dice t2 que es una variable ligada y t1 es
    libre.

12
Cálculo Relacional de Tuplas
  • Sean las relaciones

Est Ced Nom Edad 10 Pedro 14 20 Olga 29 50 Ana 3
0
Prof Ced Nom Edad 45 Gloria 14 26 Dario
29 50 Ana 30 34 Cristina 32
13
Ejemplos SencillosCálculo Relacional de Tuplas
  • a) Imprimir la información de todos los
    estudiantes
  • t/ t Î Est
  • Igual que a) pero solo aquellos estudiantes
    mayores de 25 años
  • t/ t Î Est Ù tedad gt 25
  • Igual que a) pero solo imprimir las cédulas
  • t/ s Î Est (tced sced)
  • Imprimir solo las cédulas de los estudiantes
    mayores de 25 años
  • t/ s Î Est (tced sced Ù sedad gt25)

Nótese que para proyectar sólo algunos atributos
de una relación se requiere utilizar el
cuantificador existencial
14
Ejemplos SencillosCálculo Relacional de Tuplas
  • Igual que a) pero solo imprimir las cédulas y los
    nombres
  • t/ s Î Est (tcedsced Ù tnom snom)
  • Imprimir las cédulas de los estudiantes que
    también son profesores
  • t/ s Î Est (tced sced) Ù
  • w Î Prof (tced wced)

15
Cálculo Relacional de Tuplas
  • g) Imprimir las cédulas de todos los estudiantes
    y todos los profesores
  • t/ s Î Est (tced sced) Ú
  • w Î Prof (tced wced)
  • h) Imprimir las cédulas de los estudiantes que no
    son profesores
  • t/ s Î Est (tced sced) Ù
  • Ø w Î Prof (tced wced)

16
Cálculo Relacional de Tuplas
  • Supóngase las relaciones A (a,b,c) y B (d,e,f) su
  • producto cartesiano en cálculo es
  • i) t/ r Î A ( s Î B ( ta ra Ù tb
    rb Ù tc rc Ù
  • td sd Ù te
    se Ù tf sf
  • )
  • )
  • Y el renombrado se puede lograr así
  • j) t/ e Î Est (tced AS cédula eced)

17
Cálculo Relacional de Tuplas
  • Ya con los elementos anteriores se pueden lograr
    los equivalentes a las operaciones del álgebra
    restricción, proyección (ver consulta c)), unión
    (ver g)), intersección (ver f)), diferencia (ver
    h)), producto (ver i)), renombrado (ver j))
  • La reunión (join) y la división se pueden derivar
    a partir de las otras operaciones
  • No se presentará para el cálculo un operador de
    agregación similar al G del álgebra

18
Cálculo Relacional de Tuplas
  • Por lo tanto cualquier consulta expresada
    mediante Álgebra Relacional se puede escribir
    también en Cálculo Relacional de Tuplas
  • Ambos lenguajes tienen la misma potencia
    expresiva
  • Excepto ciertas consultas realizadas con el
    operador de agregación G.
Write a Comment
User Comments (0)
About PowerShow.com