Calculo Relacional de Tuplas. Lic. Andrea Manna

Documentos relacionados
A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica. Orientación INFORMÁTICA ASIGNATURA SISTEMAS DE BASES DE DATOS I

Bases de datos. Guía de Aprendizaje Información al estudiante. 1. Datos Descriptivos

FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA U.N.R.

BASES DE DATOS DSIC. Curso

INSTITUTO POLITECNICO NACIONAL

TEMARIO. - Programa de teoría

BASES DE DATOS DSIC. Curso

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Cálculo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

BASES DE DATOS. DSIC. Curso Bases de Datos. Título de Ingeniero Técnico en Informática. Programación. Bases de Datos TR 3 3

Tema 4 : Lenguajes formales del modelo relacional

(Bases de Datos) Guía de Aprendizaje Información al estudiante

Cálculo Relacional. 12/03/07 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 1/31. Porqué necesitamos un Lenguaje de Consulta?

BASES DE DATOS. TEMA 6. El Álgebra Relacional

Ingeniería Informática Descriptores Creditos ECTS Carácter Curso Cuatrimestre. 6 OB 2 2c Castellano

ESCUELA: UNIVERSIDAD DEL ISTMO

Ser capaces de realizar una consulta dentro de otra

ÁLGEGRA RELACIONAL AUTORÍA ÁNGEL LUIS COBO YERA TEMÁTICA BASES DE DATOS ETAPA CICLOS FORMATIVOS.

Base de Datos PLANIFICACIONES Actualización: 1ºC/2013. Planificaciones Base de Datos. Docente responsable: ALE JUAN MARIA.

DISEÑO BASE DE DATOS I. Propósito del Curso : Al final del curso el estudiante: Ingeniería Ingeniería en Sistemas. Hardware. Clave de la materia: 643

Semestre de cursado: primero Cantidad de horas semanales: 8. Hoja 1 de 10 Profesor Asociado: María Eugenia Stefanoni. J:T:P: Higinio Facchini

Arquitectura del Data Warehouse

Ingeniería de Programa(s) Educativo(s): Software. Clave de la materia: IS201. UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H

BASES DE DATOS TEMA 3. MODELO RELACIONAL

PLAN DE ESTUDIOS 2008 LICENCIADO EN INFORMÁTICA

CÁLCULO RELACIONAL. Cálculo y Algebra Relacional? Cálculo y Algebra Relacional?

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Álgebra Relacional. Unidad 5

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ciencias de la Ingeniería

Bases de Datos I. Programa de la Asignatura:

INSTITUTO POLITÉCNICO NACIONAL

Guía Docente Curso

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

TEORIA DE BASES DE DATOS. M. Sc. Cristina Bender Lic. Diana Gázquez

Guía Docente Modalidad Presencial. Bases de datos I. Curso 2015/16. Grado en Ingeniería de. Sistemas de Información

Optimización de consultas Resumen del capítulo 14

Recupero de Información a través de operaciones con conjuntos

Material diseñado para los estudiantes del NUTULA, alumnos del profesor Álvaro Moreno.01/10/2010 Lógica Proposicional

A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica. Orientación: INFORMÁTICA ASIGNATURA SISTEMAS DE BASES DE DATOS I

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

BASES DE DATOS, MODELOS DE DATOS Y DBMS

Introducción al álgebra relacional. Con ejemplos en SQL

Carlos Castillo UPF 2008

MER MR Bases de Datos

Asignatura básica Tiempo de dedicación del estudiante a las actividades de: DOC TIS TPS Horas totales Créditos

Nombre de la asignatura : Bases de Datos I. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-9333

Bases de Datos I. Carrera: SCB Bases de Datos II

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

INDICE. Introducción Definición de base de datos Conceptos básicos Sistema de Gestión de Base de Datos (SGBD) Conclusiones

Programa de Asignatura Base de datos

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN

En una recta numérica el punto que representa el cero recibe el nombre de origen.

A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica. Orientación: Informática ASIGNATURA SISTEMAS DE BASES DE DATOS II

Programa Analítico Vicerrectoría Académica

Sistemas de Gestión de Bases de Datos

ASIGNATURA: BASE DE DATOS I FUNDAMENTOS:

MATEMÁTICAS DISCRETAS. UNIDAD 2 Algebras Booleanas y Circuitos Combinatorios

Álgebra Relacional. Carlos A. Olarte BDI

MODELO RELACIONAL Y PASAJE MER A RELACIONAL

Elementos de Bases de Datos

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN

ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I. TEMA 4 Algebra booleana y puertas lógicas

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Fundamentos de los Sistemas de Bases de Datos Distribuidas

SQL. Álgebra Relacional Selección y proyección Operaciones sobre conjuntos: unión, intersección, diferencia, producto Reunión natural

ABD - Administración de Bases de Datos

Acceso a bases de datos MySQL con PHP

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.

GUÍA DOCENTE DE LA ASIGNATURA

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA EN INFORMÁTICA

Bases de Datos II. Programa de la Asignatura:

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

DBD - Diseño de Bases de Datos

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

OPTIMIZACION DE CONSULTAS A BASES DE DATOS RELACIONALES

LÓGICA MATEMÁTICA O FORMAL O SIMBÓLICA

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad

Temario. Índices simples Árboles B Hashing

Modelos y Bases de Datos

Álgebra Booleana y Simplificación Lógica

ELEMENTOS DE BASES. DE DATOS Segundo Cuatrimestre Clase 4: Decisiones de diseño Pasaje a Tablas: modelo relacional

Bases de Datos. Tema 4 Lenguajes Relacionales. Francisco Ruiz dic UCLM-ESI (F.Ruiz)

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

DI SEÑO DE BASES DE DATOS Y SEGURIDAD DE LA INFORMACIÓN (31 de mayo de 2005) 3DUFLDO. APELLIDOS: NOMBRE: TITULACIÓN (Sistemas/Gestión):

BASES DE DATOS I. Algebra Relacional

Matemáticas Básicas para Computación

ASIGNATURA: BASE DE DATOS II

Sistemas de Información II Tema 6. Álgebra relacional

PRONTUARIO I. INFORMACIÓN GENERAL

Sistemas informáticos industriales. Algebra de Boole

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6]

S.Q.L. (Lenguaje de Consulta Estructurada) Consultas Avanzadas. Sistemas de Bases de Datos II - ITS EMT CETP

2. Programa de Estudio: (Técnico, Licenciatura(s)): Licenciado en Informática 3. Vigencia del plan:

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Base de datos relacional

Bases de datos 1. Teórico: Modelo Relacional

Atributos Los atributos son las columnas de un relación y describen características particulares de ella.

Transcripción:

2016

Que es el Calculo Relaciónal de Tuplas? Al igual que el Álgebra Relacional, el Cálculo Relacional de Tuplas (CRT) es un lenguaje de consulta asociado al Modelo Relacional (MR).

Que es el Calculo Relaciónal de Tuplas? Al igual que el Álgebra Relacional, el Cálculo Relacional de Tuplas (CRT) es un lenguaje de consulta asociado al Modelo Relacional (MR). CRT es un lenguaje declarativo: describe cuáles tuplas se deben devolver pero no cómo se calculan

Que es el Calculo Relaciónal de Tuplas? Al igual que el Álgebra Relacional, el Cálculo Relacional de Tuplas (CRT) es un lenguaje de consulta asociado al Modelo Relacional (MR). CRT es un lenguaje declarativo: describe cuáles tuplas se deben devolver pero no cómo se calculan Cualquier consulta escrita en AR puede también expresarse en CRT y viceversa, o sea, ambos tienen idéntico poder expresivo

Que es el Calculo Relaciónal de Tuplas? Al igual que el Álgebra Relacional, el Cálculo Relacional de Tuplas (CRT) es un lenguaje de consulta asociado al Modelo Relacional (MR). CRT es un lenguaje declarativo: describe cuáles tuplas se deben devolver pero no cómo se calculan Cualquier consulta escrita en AR puede también expresarse en CRT y viceversa, o sea, ambos tienen idéntico poder expresivo El cálculo relacional es importante por dos razones:

Que es el Calculo Relaciónal de Tuplas? Al igual que el Álgebra Relacional, el Cálculo Relacional de Tuplas (CRT) es un lenguaje de consulta asociado al Modelo Relacional (MR). CRT es un lenguaje declarativo: describe cuáles tuplas se deben devolver pero no cómo se calculan Cualquier consulta escrita en AR puede también expresarse en CRT y viceversa, o sea, ambos tienen idéntico poder expresivo El cálculo relacional es importante por dos razones: Posee una base muy firme en la lógica matemática

Que es el Calculo Relaciónal de Tuplas? Al igual que el Álgebra Relacional, el Cálculo Relacional de Tuplas (CRT) es un lenguaje de consulta asociado al Modelo Relacional (MR). CRT es un lenguaje declarativo: describe cuáles tuplas se deben devolver pero no cómo se calculan Cualquier consulta escrita en AR puede también expresarse en CRT y viceversa, o sea, ambos tienen idéntico poder expresivo El cálculo relacional es importante por dos razones: Posee una base muy firme en la lógica matemática El lenguaje de consultas estándar (SQL) para los RDBMSs tiene muchos de sus fundamentos en el CRT

Que es el Calculo Relaciónal de Tuplas? El CRT se basa sobre la especificación de variables tupla.

Que es el Calculo Relaciónal de Tuplas? El CRT se basa sobre la especificación de variables tupla. Cada variable tupla se extiende a lo largo de una relación y puede tomar como valor cualquier tupla de esa relación

Que es el Calculo Relaciónal de Tuplas? El CRT se basa sobre la especificación de variables tupla. Cada variable tupla se extiende a lo largo de una relación y puede tomar como valor cualquier tupla de esa relación Una tupla se expresa del siguiente modo: {t/cond(t)} donde t es la tupla y COND es una expresión booleana que involucra a t. Ejemplo: {t/t EMPLEADO t.sueldo > 50000}

Que es el Calculo Relaciónal de Tuplas? El CRT se basa sobre la especificación de variables tupla. Cada variable tupla se extiende a lo largo de una relación y puede tomar como valor cualquier tupla de esa relación Una tupla se expresa del siguiente modo: {t/cond(t)} donde t es la tupla y COND es una expresión booleana que involucra a t. Ejemplo: {t/t EMPLEADO t.sueldo > 50000} Una consulta CRT tiene la forma: {t/f (t)} donde t es una tupla (variable libre) y F es la fórmula que describe a la tupla t. La única variable libre en F debe ser t.

Que es el Calculo Relaciónal de Tuplas? El CRT se basa sobre la especificación de variables tupla. Cada variable tupla se extiende a lo largo de una relación y puede tomar como valor cualquier tupla de esa relación Una tupla se expresa del siguiente modo: {t/cond(t)} donde t es la tupla y COND es una expresión booleana que involucra a t. Ejemplo: {t/t EMPLEADO t.sueldo > 50000} Una consulta CRT tiene la forma: {t/f (t)} donde t es una tupla (variable libre) y F es la fórmula que describe a la tupla t. La única variable libre en F debe ser t. El lenguaje para escribir fórmulas es un subconjunto de la Lógica de Primer Orden

Atómicas Una fórmula se compone de fórmulas atómicas del cálculo de predicados. Si R es una relación, r y s variables de tuplas, a y b atributos definidos en r y s respectivamente, y op es un operador del conjunto: { =,,,, >, < }. Las siguientes son fórmulas atómicas: r R

Atómicas Una fórmula se compone de fórmulas atómicas del cálculo de predicados. Si R es una relación, r y s variables de tuplas, a y b atributos definidos en r y s respectivamente, y op es un operador del conjunto: { =,,,, >, < }. Las siguientes son fórmulas atómicas: r R r.a op s.b

Atómicas Una fórmula se compone de fórmulas atómicas del cálculo de predicados. Si R es una relación, r y s variables de tuplas, a y b atributos definidos en r y s respectivamente, y op es un operador del conjunto: { =,,,, >, < }. Las siguientes son fórmulas atómicas: r R r.a op s.b r.a op constante o constante op r.a

Atómicas Una fórmula se compone de fórmulas atómicas del cálculo de predicados. Si R es una relación, r y s variables de tuplas, a y b atributos definidos en r y s respectivamente, y op es un operador del conjunto: { =,,,, >, < }. Las siguientes son fórmulas atómicas: r R r.a op s.b r.a op constante o constante op r.a Cada una de las fórmulas atómicas anteriores se evalúa como Verdadero o Falso (Valor de Verdad para la fórmula atómica)

Las fórmulas se definen recursivamente mediante las siguientes reglas: cualquier fórmula atómica es una fórmula

Las fórmulas se definen recursivamente mediante las siguientes reglas: cualquier fórmula atómica es una fórmula p, p q, p q, p = q

Las fórmulas se definen recursivamente mediante las siguientes reglas: cualquier fórmula atómica es una fórmula p, p q, p q, p = q r(p(r)) Donde r es variable de tupla

Las fórmulas se definen recursivamente mediante las siguientes reglas: cualquier fórmula atómica es una fórmula p, p q, p q, p = q r(p(r)) Donde r es variable de tupla r(p(r)) Donde r es variable de tupla

Las fórmulas se definen recursivamente mediante las siguientes reglas: cualquier fórmula atómica es una fórmula p, p q, p q, p = q r(p(r)) Donde r es variable de tupla r(p(r)) Donde r es variable de tupla En donde p y q son formulas y p(r) denota una formula en la cual aparece la variable r. F 1 : d.nombre= José Perez F 2 : ( e)(d.dni=e.documento) F 3 : ( d)(d.nrolicencia= 333445555 ) d es variable libre en F 1 y F 2 y cuantificada en F 3

- Ejemplo Suponga que se tiene las relaciones Empleado y Departamento. Listar nombre, apellido y dirección de todos los empleados que trabajan para el Departamento Contable : {t / e, d (e Empleado d Departamento e.iddpto = d.iddepto d.nombredepto= Contable t.nombreemp= e.nombreemp t.apeemp=e.apeemp t.diremp=e.diremp) }

Consultas Seguras/Inseguras Consultas Inseguras Es posible definir consultas que devuelvan infinitos resultados las llamamos: consultas inseguras. Ejemplo: {t/ (t Actor)}

Consultas Seguras/Inseguras Consultas Inseguras Es posible definir consultas que devuelvan infinitos resultados las llamamos: consultas inseguras. Ejemplo: {t/ (t Actor)} Es insegura porque produce todas las tuplas del universo que nos son tuplas de actores, que obviamente resultan infinitas

Consultas Seguras/Inseguras Dominio de una Fórmula Es posible definir el dominio de una formula F que denotamos como dom(f ) y es el conjunto de todos los valores a los que hace F referencia. Los valores que aparecen expĺıcitamente en F Los valores que aparecen en todas las relaciones cuyos nombres aparecen en F dom(t Actor t.edad > 18)??? dom( (t Actor))???

Consultas Seguras/Inseguras Consulta Segura Se dice que una consulta {t/f (t)} es segura si todos los valores que aparecen en el resultado pertenecen al dom(f ) El cálculo relacional de tuplas restringido a expresiones seguras es equivalente en potencia expresiva al álgebra relacional básica

{t/ a(a Actor t.nombreactor = a.nombreactor)}

{t/ a(a Actor t.nombreactor = a.nombreactor)} Devuelve los nombres de todos los actores.

{t/ a(a Actor t.nombreactor = a.nombreactor)} Devuelve los nombres de todos los actores. Las consultas CRT se aplican sobre instancias de relación y también devuelven una instancia de relación (el conjunto de tuplas para las cuales la fórmula devuelve verdadero). {t/ a(a Actor t.nombreactor = a.nombreactor t.edad = a.edad)}

{t/ a(a Actor t.nombreactor = a.nombreactor)} Devuelve los nombres de todos los actores. Las consultas CRT se aplican sobre instancias de relación y también devuelven una instancia de relación (el conjunto de tuplas para las cuales la fórmula devuelve verdadero). {t/ a(a Actor t.nombreactor = a.nombreactor t.edad = a.edad)} devuelve los nombres y edades de todos los actores Los atributos que tendrán las tuplas devueltas son solamente los que aparecen alguna vez en la consulta.

Dada las siguientes relaciones: Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Encontrar los nombres de los proveedores que proveen algún producto rojo Buscar los idprov para los proveedores que proveen todos los productos.

Dada las siguientes relaciones: Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Encontrar los nombres de los proveedores que proveen algún producto rojo:

Dada las siguientes relaciones: Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Encontrar los nombres de los proveedores que proveen algún producto rojo: {t/ p, pr, c(p Proveedores pr Productos c Catalogo pr.color = rojo c.idprod = pr.idprod c.idprov = p.idprov t.nombre = p.nombre)}

Dada las siguientes relaciones: Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Encontrar los nombres de los proveedores que proveen algún producto rojo: {t/ p, pr, c(p Proveedores pr Productos c Catalogo pr.color = rojo c.idprod = pr.idprod c.idprov = p.idprov t.nombre = p.nombre)}

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos.

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos. {t/( pr c(pr Productos c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov)))} Es correcta la respuesta??

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos. {t/( pr c(pr Productos c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov)))} Es correcta la respuesta??

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos. {t/( pr c(pr Productos c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov)))}

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos. {t/( pr c(pr Productos c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov)))} {t/( pr(pr Productos = c(c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov))))}

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos rojos.

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos rojos. {t/( pr(pr Productos pr.color = rojo = c (c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov))))}

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos rojos. {t/( pr(pr Productos pr.color = rojo = c (c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov))))}

Proveedores(idProv, nombre, direccion) Productos( idprod, nombre, color) Catalogo(idProv, idprod, precio) Buscar los idprov para los proveedores que proveen todos los productos rojos. {t/( pr(pr Productos pr.color = rojo = c (c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov))))} {t/ pr1(pr1 Productos (pr1.color = rojo ) ( pr(pr Productos pr.color = rojo = c (c Catalogo (c.idprod = pr.idprod c.idprov = t.idprov))))}

principal Ramez Elmasri and Shamkant B. Navathe. 2015. Fundamentals of Database Systems (7th ed.). Pearson. Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom. 2008. Database Systems: The Complete Book (2nd ed.). Prentice Hall Press, Upper Saddle River, NJ, USA. Jeffrey D. Ullman Principles of Database and Knowledge-Base Systems Computer Science Press; 1st edition (January 1, 1990)