La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Paul Leger http://pleger.cl Algebra Relacional Paul Leger http://pleger.cl.

Presentaciones similares


Presentación del tema: "Paul Leger http://pleger.cl Algebra Relacional Paul Leger http://pleger.cl."— Transcripción de la presentación:

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


Descargar ppt "Paul Leger http://pleger.cl Algebra Relacional Paul Leger http://pleger.cl."

Presentaciones similares


Anuncios Google