LENGUAJES DE BASES DE DATOS: CÁLCULO RELACIONAL

Slides:



Advertisements
Presentaciones similares
IBD Clase 14.
Advertisements

Lenguajes Relacionales
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
Teórico: Algebra Relacional
ALGEBRA RELACIONAL.
Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional
Programación.
BASE DE DATOS I Clase # 1.
Lenguajes Formales de Consulta
John Freddy Duitama M. Universidad de Antioquia. El Cálculo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama.
Algebra Relacional.
Álgebra Relacional. zUnión, intersección y diferencia: los operadores usuales de conjuntos zSelección: Escoger ciertas filas zProyección: Escoger ciertas.
El Modelo Relacional Francisco Moreno 12/04/2017 Curso Bases de Datos.
John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A.
BASE DE DATOS I Clase # 3.
Algebra Relacional Ing. Fabián Ruano.
ALGEBRA RELACIONAL OPERACIONES BASICAS.
Base de Datos I. Es un lenguaje con el que los usuarios solicitan información de la BD. Estos lenguajes suelen ser de nivel superior que el de los lenguajes.
DISEÑO DE BASES DE DATOS
Expresiones algebraicas equivalentes
Más ejemplos en SQL Francisco Moreno. S sn snombre situacion ciudad S1 Salazar 20 Londres S2 Jaramillo 10 París S3 Bernal30 París S4 Caicedo 20 Londres.
Ingeniería de Sistemas y Modelamiento.
Para pasar a tablas todos los datos sin dejar nada y que las tablas tengan sentido por si solas se tiene que seguir unos pasos: 1.Toda entidad se transforma.
Tipos de Datos.
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
Maestría en ciencias de la computación
Ing. Sergio Valladares Castillo Base de Datos I Algebra Relacional.
Estructuras de control Por Diego Caro A. udec.cl}
ALGORITMOS Y TIPOS DE DATOS Un algoritmo es un método para resolver un problema. Para la creación de un programa (resolver un problema) en un lenguaje.
Ing. Sergio Valladares Castillo Base de Datos I Algebra Relacional.
Conferencia 7. Lenguaje SQL Estándar. Ejemplos.
Conferencia 5. Álgebra y Cálculo Relacional.
John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A.
Paul Leger Algebra Relacional Paul Leger
CC Bases de Datos Otoño 2017 Clase 3: ER II y Álgebra Relacional
Traductor de Lógica Multivariada a Lógica de Primer Orden
SQL: Structured Query Language
Paul Leger Algebra Relacional 2 Paul Leger
Tecnologías de la Información NI3C
Olimpiadas Chilenas de Informática - Formación
SQL: Structured Query Language
Paul Leger Algebra Relacional 2 Paul Leger
Unidad 6 Inecuaciones
Unidad 5. Capítulo VI. Sistemas lineales no homogéneos.
Formulas y Funciones Básicas de Excel.
SQL 2: Structured Query Language
SQL: structured Query Language
METODOLOGÍA DE LA PROGRAMACIÓN
Álgebra relacional.
Restricciones de integridad en el modelo relacional
SQL Lenguaje de Consulta Estructurado
Constantes y variables
El poder generalizador de los SIMBOLOS
EXPRESIONES Una expresión es una forma especial de asignación.
INSTITUTO TECNOLOGICO DE ACAPULCO FUNDAMENTOS DE BASE DE DATOS
Retroalimentación ejercicios de tarea. Ejercicios para resolver 1.¿Cuántos bytes hay exactamente en un sistema que contiene a.32 Kbytes b.64 Mbytes c.6.4.
Programación Lógica.
PRODUCTO CARTESIANO RELACIONES BINARIAS. Producto Cartesiano El producto cartesiano de dos conjuntos A y B, denotado A × B, es el conjunto de todos los.
ESPECIFICACIÓN FORMAL DE SISTEMAS. LAMBDA EXPRESIONES El lambda cálculo ( C) es un lenguaje simple que permite la descripción de las funciones matemáticas.
Lógica Matemática Universidad de Puerto Rico Prof. Juan L. Vélez
Unidad 3 Números Reales.  Clasificación de los Números Reales en el Siguiente Cuadro.
CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)
Expresiones algorítmicas
LENGUAJES DE BASES DE DATOS: SQL
Eduardo Cruz Pérez.
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
Raíces y Potencias II° Medio 2019.
ALGEBRA RELACIONAL UNIDAD 3 ALGEBRA RELACIONAL. INTRODUCCIÓN Se forma a partir de la matemática formal Creada por Edgar Frank Codd en 1972 Concede comportamineto.
Tema 8. Estructuras de decisión. Clases 1 y 2.
Conjuntos Subtítulo. Conjuntos OBJETIVOS ›Reconoce un conjunto ›Define diferentes conjuntos ›Expresar por comprensión y extensión ›Determina la cardinalidad.
Transcripción de la presentación:

LENGUAJES DE BASES DE DATOS: CÁLCULO RELACIONAL Francisco Moreno 23/02/2019 Curso Bases de Datos

Cálculo Relacional Es otro lenguaje de consulta para BD relacionales Sirve para consultar información a partir de las relaciones Es un lenguaje que generalmente no se implementa directamente aunque existen prototipos (WinRDBI)* Se basa en el cálculo de predicados de primer orden, donde una relación se expresa mediante un predicado Es cerrado relacionalmente *Ver http://winrdbi.asu.edu Nota: tiene una sintaxis diferente a la vista en el curso. 23/02/2019 Curso Bases de Datos

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 dos variantes: de tuplas y de dominios Se presentará el cálculo relacional de tuplas. 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas Concepto esencial: Tupla La forma general de una consulta* es: {t | P(t)} significa: “el conjunto de tuplas t, tal que el predicado P es verdadero (se cumple) para t”. t se denomina variable de tuplas *Los libros suelen usar diferentes notaciones 23/02/2019 Curso Bases de Datos

Elementos del predicado t Î R: la tupla t pertenece a la relación R t[a]: representa el valor del atributo a en la tupla t Condiciones de comparación entre atributos o entre un atributo y una constante Ejemplos: t1[a] ≠ t1[b] , t1[c]  8, t1[a] = t2[b] 23/02/2019 Curso Bases de Datos

Elementos del predicado Cuantificadores: Existencial ($) y Universal ("). El resultado de su evaluación es falso o verdadero Cuantificador Existencial $ t Î R (Q(t)): Su resultado es verdadero si existe al menos una tupla t en la relación R que satisface el predicado Q. 23/02/2019 Curso Bases de Datos

Elementos del predicado Ejemplos: $ t Î R (t[b] = 11): Es verdadero si existe al menos una tupla en R cuyo atributo b valga 11 $ t Î R (t[a] < 3 Ù t[b] = 8): Es verdadero si existe al menos una tupla en R, cuyo atributo a sea menor que 3 y cuyo atributo b valga 8 23/02/2019 Curso Bases de Datos

Elementos del predicado Cuantificador Universal: " t Î R (Q(t)): Su resultado es verdadero si todas las tuplas t de R satisfacen el predicado Q Ejemplo: " t Î R (t[a] = 8): Es verdadero si todas las tuplas t de R valen 8 en el atributo a 23/02/2019 Curso Bases de Datos

Elementos del predicado Condiciones compuestas: Son combinaciones de los elementos anteriores, mediante los operadores: Ù (and), Ú (or), Ø (not) Ejemplos: (t1 Î R Ù t1[a] = 8) (t1 Î R Ù " t2 Î S (t2[b] > t1[c]) 23/02/2019 Curso Bases de Datos

Elementos del predicado El cuantificador universal " se puede expresar en términos del cuantificador existencial $ así: " t Î R (Q(t)) ≡ Ø $ t Î R (ØQ(t)) Un ejemplo en lenguaje natural: Todos los clientes tienen código ≡ No existe un cliente que no tenga código 23/02/2019 Curso Bases de Datos

Elementos del predicado La variable asociada con un cuantificador solo tiene existencia (validez) dentro del predicado correspondiente, es decir: $ t Î R (Q(t)) La variable t solo tiene validez dentro del predicado Q. Por lo tanto, el predicado: t1 Î R Ù " t2 Î S (t2[b] > t1[c]) Ù t2[b]=10 Es inválido ya que t2 no existe por fuera del cuantificador ". Note que t1 sí puede aparecer dentro del cuantificador. Se dice que t1 es una variable libre y t2 es una variable ligada. 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas Sean las relaciones: EST ced nom edad 10 Pedra 14 20 Olgo 29 50 Ana 30 PROF ced nom edad 45 Adam 14 26 Lisa 29 50 Ana 30 34 Cristina 32 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas Ejemplos: Imprimir la información de todos los estudiantes Igual que a) pero solo aquellos estudiantes mayores de 25 años Igual que a) pero solo imprimir las cédulas Imprimir solo las cédulas de los estudiantes mayores de 25 años Igual que a) pero solo imprimir las cédulas y los nombres 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas a) {t | t Î EST} b) {t | t Î EST Ù t[edad] > 25} c) {t | $ s Î EST (t[ced] = s[ced])} En esta notación es un error: {t[ced] | t Î EST} d) {t | $ s Î EST (t[ced] = s[ced] Ù s[edad] > 25)} e) {t | $ s Î EST (t[ced] = s[ced] Ù t[nom] = s[nom])} Nótese que para proyectar solo algunos atributos de una relación se debe usar el cuantificador existencial: Consultas c), d) y e). 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas f) Imprimir las cédulas de los estudiantes que también son profesores g) Imprimir las cédulas de todos los estudiantes y todos los profesores h) Imprimir las cédulas de los estudiantes que no son profesores 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas f) {t | $ s Î EST (t[ced] = s[ced]) Ù $ w Î PROF (t[ced] = w[ced])} g) {t | $ s Î EST (t[ced] = s[ced]) Ú h) {t | $ s Î EST (t[ced] = s[ced]) Ù Ø $ w Î PROF (t[ced] = w[ced])} 23/02/2019 Curso Bases de Datos

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 ( t[a] = r[a] Ù t[b] = r[b] Ù t[c] = r[c] Ù t[d] = s[d] Ù t[e] = s[e] Ù t[f] = s[f] ) } Y el renombrado se puede lograr así: j) {t | $ e Î EST (t[ced AS cédula] = e[ced]} 23/02/2019 Curso Bases de Datos

Cálculo Relacional de Tuplas Con los elementos presentados se pueden lograr los equivalentes a las operaciones del álgebra: restricción, proyeccion (ver 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 análogo al Ģ del álgebra 23/02/2019 Curso Bases de Datos

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 Ģ, ya que no se presentó la extensión de agregados para el cálculo. 23/02/2019 Curso Bases de Datos