Ejemplos de Cálculo Relacional

Anuncio
Ejemplos de Cálculo
Relacional
Fuentes http://www-db.stanford.edu/~ullman/fcdb.html
Fundamentals of Database Systems, Elmasri y Navathe
Database System Concepts,Silberschatz, Korth, Sudarshan
Cálculo Relacional
Lenguaje de consulta equivalente Algebra
Declarativo
Dos enfoques:
Orientado a Tuplas: variables toman valores sobre
tuplas (SQL)
Orientado a Dominios: variables toman valores
sobre Dominios (QBE)
Elementos del lenguaje: variables, constantes,
operadores de comparación, cuantificadores y
conectivos lógicos
Cálculo Relacional
Subconjuntos de la Lógica de Primer
Orden
Expresiones en cálculo son fórmulas
Respuestas son asignaciones a las
variables que hacen verdadera la
fórmula
Cálculo Orientado a Tuplas
Consulta {T | p(T)}
p(T) es una fórmula en la que aparece la
variable de tupla variable T
Respuesta conjunto de todas las tuplas
T que hacen verdadera la fórmula p(T)
Cálculo Orientado a Tuplas
Fórmula
atómicas : para recuperar tuplas de las
relaciones o comparar valores
Compuestas: combinación de fórmulas y
conectivos lógicos
Ejemplos:
• p∨
∨q
• ∃r (q(r))
• r.a ≠ s.a
Ejemplos
Profesores(cod-p, nomb, categoria, facultad)
Asignaturas(cod-a, nombre, creditos)
Matricula(cod-e, cod-a, grupo, calificación)
Programación (cod-a, cod-p, cod-s ,grupo, horario,
aula)
Estudiante(cod-e, nombre, sexo, programa,
promedio)
Selección y Proyección
Encuentre estudiantes con promedio mayor 4
{e |e ∈Estudiante ∧ e.promedio > 4}
Encontrar nombres de profesores de Ingeniería
que sean titulares o asociados
{p | p∈ Profesor ∧ p.facultad=“ingenieria” ∧
p.categoría = (“titular” ∨ “asociado”)}
Joins
Listar las asignaturas que ofrece el profesor
“Pedro Pérez”
{a | a∈
∈Asignatura ∧
∃c(c∈
∈Programación ∧ c.cod-a=a.cod-a
∧ ∃p (p ∈Profesor ∧
p.nombre = “Pedro Pérez” ∧
p.cod-p= c.cod-p)}
Descargar