Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMariano Olivares Tebar Modificado hace 7 años
1
Paul Leger http://pleger.cl
Algebra Relacional Paul Leger
2
Consultando a una BD Aparte de re-escribir, una base de datos son para hacer consultas (es decir lecturas) Los motores de base de datos usan diferentes lenguajes de programación para comunicarse para permitir consultas La mayoría de estos lenguajes no son Turing complete, y son específicos al dominios de la base de datos. En otras palabras, se dicen que son Domain Specific Languages (DSLs) no Turing complete
3
Algebra Relacional Es un lenguaje teórico para realizar consultas a una base de datos SQL, el cual es un lenguaje concreto para base de datos, tienes sus bases en algebra relacional Para realizar investigación en consultas a una base de datos, se usa algebra relacional
4
Elementos de Algebra Relacional
Las tablas son conocidas como relaciones Los registros son conocidos como tuplas Ejemplos R(r1,r2,r3,…, rn) y T(r1,s2,s3)
5
Suponga estas dos relaciones: Persona y Ciudad
Rut Nombre Ciudad Paul Coquimbo Renato Peor es nada Mariana Fucking Ciudad Coquimbo Chanaral La Serena Peor es nada Chigualoco Luego veremos más letras!!
6
Operaciones en AR Proyección (π): Proyecta una base de datos. Por ejemplo π _rut_ (Persona) => R1 π _nombre,ciudad_ (Persona) => R2 Rut Nombre Ciudad Paul Coquimbo Renato Peor es nada Mariana Fucking
7
Renombrar Renombrar (ρ): Renombrar una relación
ρ_Alumno_(Persona) => Alumno ρ_rut,nombre,hogar (Alumno)_(Persona) => Alumno(rut,nombre,hogar)
8
Selección Selección (σ): Selecciona un conjunto de tuplas dada una condición (o conjunto de condiciones) σ_nombre=«Paul»_(Persona) => Rut Nombre Ciudad Paul Coquimbo
9
Producto Cartesiano: «x»
Al igual que en la matemáticas, el producto cartesiano cruza todas las tuplas de una relación R1 con todas las tuplas de una relación R2 Rut Nombre R1.Ciudad R2.Ciudad Paul Coquimbo Chanaral La Serena Peor es nada Fucking Renato …
10
Unión (U) Unión: Une dos relaciones, donde los campos deberían tener los mismos nombres y dominios RT = Persona U Empleado #(RT) <= #(Persona) + #(Empleado) ¿Por qué la cardinalidad es <=?
11
Intersección (∩) Intersección(∩) : Intersecta dos relaciones, donde los campos deberían tener los mismos nombres y dominios RT = Persona ∩ Empleado RT contiene las personas que son empleados también
12
Diferencia (-) Diferencia(-) : R=R1-R2, donde R contiene todas las tuplas de R1 que no están en R2 Nuevos = ActualesEmpleados - AntiguosEmpleados
13
Resumen Proyección (π) Renombrar (ρ) Selección (σ)
Producto Cartesiano (x) Unión (U) Intersección (∩) Diferencia (-)
14
Ejercicios Dada las relaciones, resuelva a) σ_T1.P = T2.A_(T1x T2)
b) σ_T1.Q = T2.B_(T1x T2) c) T1 U T2 d) T1 U T1 e) σ_T1.P = T1.P_(T1x T1) f) σ_T1.P = T2.A ^ T1.R= T2.C_(T1x T2) g) T2-T3 h) T3 – T2 i) π _A,B_(T2) – T3 T3 A B C 10 b 6 5
15
Consultas
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.