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

Slides:



Advertisements
Presentaciones similares
Lenguajes Relacionales
Advertisements

Estadística Computacional I
Teórico: Algebra Relacional
ALGEBRA RELACIONAL.
Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional
BASES DE DATOS I CAPÍTULO 2 EL MODELO RELACIONAL Guillermo Baquerizo
Lenguajes Formales de Consulta
Algebra Relacional.
Álgebra Relacional. zUnión, intersección y diferencia: los operadores usuales de conjuntos zSelección: Escoger ciertas filas zProyección: Escoger ciertas.
ALGEBRA RELACIÓNAL MILADY MUÑOZ HIDALGO JHON MARLON ZAPATA OROZCO 11º2.
ALGEBRA RELACIONAL. Elementos  Operandos -> Relaciones  Operadores  Asignaciones.
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Algebra Relacional Ing. Fabián Ruano.
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.
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.
Sample-Based Quality Estimation of Query Results in Relational Database Environments Donald P. Ballou InduShobha N. Chengalur-Smith Richard Y. Wang.
Tipos de Datos.
Ing. Sergio Valladares Castillo Base de Datos I Algebra Relacional.
Base de Datos I – Ing. Mary Carlota Bernal J.
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
Sistema de ecuaciones 2x2. Recordemos lo visto en las clases anteriores…
Curso Sistemas de Información Geográfica (SIG): Profesor: Luis Carvacho Bart Ayudante: Claudia Ebensperger León Profesor: Luis Carvacho Bart Ayudante:
Ing. Sergio Valladares Castillo Base de Datos I Algebra Relacional.
Curso : Métodos Numéricos Tema : Método de Gauss Jordan Docente : Ing. Heydi Amparo Quispe Castro Integrantes : Diana Huarcaya Quispe Pedro Ñavincopa Janampa.
ALGEBRA RELACIONAL. ¿QUÉ ES EL ALGEBRA RELACIONAL? Conjunto de operaciones simples sobre tablas relacionales, definen un pequeño lenguaje de manipulación.
¿Qué es Excel? Taller Básico de Excel (3/5)
Conferencia 7. Lenguaje SQL Estándar. Ejemplos.
Internet Protocols (IPs)
Internet Protocols (IPs)
Paul Leger Algebra Relacional Paul Leger
Paul Leger Algebra Relacional Paul Leger
CC Bases de Datos Otoño 2017 Clase 3: ER II y Álgebra Relacional
Modelo Entidad-Relación
Paul Leger Formas Normales: Lineamientos formales para un buen diseño y la necesidad de por qué son necesarias las dependencia funcionales.
SQL: Structured Query Language
Modelo Entidad-Relación (continuación)
Lenguaje de manipulación de datos
Lineamientos informales para un buen diseño
Lineamientos para un buen diseño de base de datos
SQL: Structured Query Language
Paul Leger Formas Normales Paul Leger
Etapa Final del Proyecto
Paul Leger Algebra Relacional 2 Paul Leger
Unidad 6 Inecuaciones
Ejemplos del Algebra Relacional
Diagrama de Flujo de Datos (DFD)
Por Irma, Mario, Briana, Juan Profr. Gerardo 6 grado
Paul Leger CICLOS: For Paul Leger
Formulas y Funciones Básicas de Excel.
Paul Leger Modelo ER extendido Paul Leger
SQL 2: Structured Query Language
La operación inversa de la potenciación
SQL: structured Query Language
Álgebra relacional.
Paul Leger Algebra Relacional Paul Leger
Restricciones de integridad en el modelo relacional
SQL Lenguaje de Consulta Estructurado
INSTITUTO TECNOLOGICO DE ACAPULCO FUNDAMENTOS DE BASE DE DATOS
Uso de fórmulas básicas
Desigualdades e Inecuaciones
FRACCIONES: Interpretación
LENGUAJES DE BASES DE DATOS: CÁLCULO RELACIONAL
CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)
LENGUAJES DE BASES DE DATOS: SQL
Estructuras de control
CIRCUITOS DIGITALES Profesor: Elmer Hugo Arellanos Tafur Unidad : 2 Semana : 7 Sesión : 12 Semestre: I.
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.
EXCEL INTERMEDIO FILTROS AVANZADOS – TABLA DINAMICA – AUDITORIA DE FORMULAS JORGE LUIS AGUILAR ALCALDE.
Transcripción de la presentación:

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

Repaso (1/4) Proyección (π) Renombrar (ρ) Selección (σ) Producto Cartesiano (x) Unión (U) Intersección (∩) Diferencia (-)

Repasando (2/4): Persona y Ciudad Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Peor es nada 12354345-2 Mariana Fucking 13123111-2 NombreC Comentario Coquimbo Buen puerto Chanaral Mucho sol Fucking No muy agradable Peor es nada El nombre basta Chigualoco Para Surf Nueva Columna

Repaso (3/4) Muestre todos los nombres de las personas (no mostrar nombres repetidos) πNombre (Persona) ¿Qué entrega πnombreC (Persona) ∩ Ciudad? ¿Qué entrega πnombreC (Persona) ∩ πnombreC(Ciudad)? Muestre la descripción de la ciudad donde vive cada persona

Repaso (4/4) CHOFER CHOFER Código_C Nombre Comentario 1 Juan Bueno 2 Carlos 3 Pedro 4 Patricio No sabe estacionar 5 Muy lento Código_C Nombre 1 Juan 2 Carlos 3 Pedro 4 Patricio 5 Comentario 1) ¿En ambos casos, muestre los comentarios de cada chofer que contiene? Codigo_c Comentario 1 Bueno 4 No sabe estacionar 5 Malo 2) Muestre los nombres de los choferes que no tienen comentarios

Un más ejemplo para reforzar

Ejemplo (1/3): Muestre por cada nombre de una persona, muestra el comentario de donde vive Ciudad Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Peor es nada NombreC Comentario Coquimbo Buen puerto Peor es nada El nombre basta Chigualoco Para Surf R = πNombre, comentario( σPersona.nombreC = Ciudad.nombreC (Persona x Ciudad) ) Temporal1 = Persona x Ciudad Rut Nombre Persona.NombreC Ciudad.NombreC Comentario 12312312-3 Paul Coquimbo Buen Puerto Peor es nada El nombre basta Chigualoco Para Surf 15123561-3 Renato

Ejemplo (2/3): Muestre por cada nombre de una persona, muestra el comentario de donde vive Consulta Original “R = πNombre, comentario( σPersona.nombreC = Ciudad.nombreC (Persona x Ciudad) )” Temporal1 = Persona x Ciudad Rut Nombre Persona.NombreC Ciudad.NombreC Ciomentario 12312312-3 Paul Coquimbo Buen Puerto Peor es nada El nombre basta Chigualoco Para Surf 15123561-3 Renato Temporal2 = σPersona.nombreC = Ciudad.nombreC (Temporal1) Rut Nombre Persona.NombreC Ciudad.NombreC Ciomentario 12312312-3 Paul Coquimbo Buen Puerto 15123561-3 Renato Peor es nada El nombre basta

Temporal2 = σPersona.nombreC = Ciudad.nombreC (Temporal1) Rut Nombre Ejemplo (3/3): Muestre por cada nombre de una persona, muestra el comentario de donde vive Consulta Original “R = πNombre, comentario( σPersona.nombreC = Ciudad.nombreC (Persona x Ciudad) )” Temporal2 = σPersona.nombreC = Ciudad.nombreC (Temporal1) Rut Nombre Persona.NombreC Ciudad.NombreC Comentario 12312312-3 Paul Coquimbo Buen Puerto 15123561-3 Renato Peor es nada El nombre basta R = πNombre, comentario(Temporal2) Nombre Comentario Paul Buen Puerto Renato El nombre basta

¿Cuál es la relación resultante? Ejercicio: Muestre por cada nombre de una persona, su(s) número(s) de teléfono(s) Persona Teléfono Rut Nombre 12312312-3 Paul 15123561-3 Renato Teléfono Rut 6783232 12312312-3 6983235 3785232 15123561-3 ¿Cuál es la consulta? ¿Cuál es la relación resultante?

Hoy veremos más operadores … a divertirse …

(Natural) Join (⋈) Este operador realiza un producto cartesiano entre dos relaciones, y solamente rescata las filas, cuyos atributos con el mismo nombre contienen el mismo valor. Nota: El resultado contendrá dos columnas con el mismo nombre y valores (es decir, dos columnas idénticas). Una de esas dos columna es eliminada Preguntas: ¿Qué es R = Persona ⋈ Ciudad ? ¿Cómo se podría escribir Persona ⋈ Ciudad sin usar join? ¿Para qué sirve ⋈ para una base de datos implementada con un modelo relacional?

Ejercicio 1: Natural Join con tres relaciones Persona Ciudad Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Peor es nada NombreC Comentario Coquimbo Buen puerto Peor es nada El nombre basta Chigualoco Para Surf Teléfono ¿Qué es R? R = πNombre, comentario, Telefono (Persona ⋈ Ciudad ⋈ Teléfono) Teléfono Rut 6783232 12312312-3 6983235 3785232 15123561-3

Ejercicio 2: Natural Join con tres relaciones Persona Ciudad Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Peor es nada NombreC Comentario Coquimbo Buen puerto Peor es nada El nombre basta Chigualoco Para Surf TipoAuto Modelo Descripción Sedan Grande Deportivo Pequeño ¿Qué es R1? R1 = πNombre, comentario, Descripcion (Persona ⋈ Ciudad ⋈ TipoAuto) ¿Qué es R2? R2 = πNombre, descripción (Persona ⋈ TipoAuto)

Θ-join: El super caso del Natural join Es un join, donde podemos cambiar las condiciones (= Θ) de comparación (ejemplos >, >= , !=) R=T ⋈Θ S ¿Cómo se podría escribir R= T ⋈Θ S sin usar join?

Theta join y Equijoin son más teóricos que prácticos Es un (natural) join sin eliminar una columna con idéntica Theta join y Equijoin son más teóricos que prácticos

Semi Joins (⋉)(⋊) Son un natural joins, sin el contenido (o el resto de los valores de una relación) R1 = T ⋉ S, no incluye los atributos de S R2 = T ⋊ S, no incluye los atributos de T Preguntas: Realice «Persona ⋉ Ciudad”, “Persona ⋊ Ciudad” ¿Cuál es la diferencia de entre ambos? ¿Cómo podemos expresar T ⋉ S, usando solamente ⋊? ¿Cómo se puede expresar en términos de natural join y proyección?

Ejercicio Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Fucking 12354345-2 Mariana 13123111-2 NombreC Comentario Coquimbo Buen puerto Fucking Mucho sol Muestre los nombres de las personas que están viviendo en todas las ciudades

Solución C= πnombreC(Ciudad) P= π Rut, nombre(Persona) x C PersonasViveUnaCiudad = π nombre (P – Persona) (analícelo lentamente) Respuesta = π nombre(Persona) – PersonasViveUnaCiudad

División (/) Dada dos relaciones T y S, la división entre T y S (= T/S) retorna … Todas las tuplas de una proyección de S (= πatributos (S)) que … tienen un vinculo (o clave externa) con cada tupla de T

División … Muestre los nombres de las personas que tienen hogares en todas las ciudades T = πnombre,nombreC (Persona) S = πnombreC (Ciudad) Resultado = T/S Persona Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Fucking 12354345-2 Mariana 13123111-2 Ciudad NombreC Comentario Coquimbo Buen puerto Fucking Mucho sol Resultado = T/S Nombre Renato

Agregación (G) Permite ejecutar operaciones a grupos de datos Similar al grupo de funciones de Excel (Suma, promedio, etc) G Max(Sueldo) (Persona) Rut Nombre Sueldo 12312312-3 Paul 1000 15123561-3 Renato 2000 12354345-2 Mariana 3000 13123111-2 500 Max 3000

Agregación (G) Permite ejecutar varias operaciones al mismo tiempo G Max(Sueldo), Min(Sueldo), Avg(Sueldo) (Persona) Rut Nombre Sueldo 12312312-3 Paul 1000 15123561-3 Renato 2000 12354345-2 Mariana 3000 13123111-2 500 Max Min Avg 3000 500 1625

Agregación por Agrupación (G) Similar al anterior, pero ahora podemos agrupar por un atributo Rut Nombre Sueldo 12312312-3 Paul 1000 15123561-3 Renato 2000 12354345-2 Mariana 3000 13123111-2 500 Nombre G Max(Sueldo), Min(Sueldo), Avg(Sueldo) (Persona) Nombre Max Min Avg Paul 1000 Renato 2000 500 1250 Mariana 3000

Resumen Aparte de los operadores vistos anteriormente (ej. proyección), tenemos nuevos operadores Se pueden expresar en términos de otros: Natural Join (⋈) Theta (θ) join (θ-⋈) Equi-join (Equi- ⋈) Semi-joins (⋉)(⋊) División (/) No se pueden expresar en términos de otros: Agregación (G) Agrupación para Agregación (G)

Ejercicio: Persona, Ciudad y teléfono Rut Nombre NombreC 12312312-3 Paul Coquimbo 15123561-3 Renato Peor es nada 12354345-2 Mariana Fucking 13123111-2 Ciudad Teléfono Rut Telefono 12312312-3 60340135 60340139 12354345-2 43455678 13123111-2 90091239 NombreC Comentario Coquimbo Buen puerto Chanaral Mucho sol Fucking No muy agradable Peor es nada El nombre basta Chigualoco Para Surf ¿Cuántos teléfonos tiene cada rut?

Ejercicios Dadas las relaciones R(r1,r2,r3) y T(r1,r2,r3), responda V o F: σAσB(R) = σBσA(R) ? 1 2 π r1,r2 (R) – T = π r1,r2 (R - T) ? 3 σA v B(R) = σA(R) U σB(R) ? 4 πr2 (σr1=1 (R)) = σr1=1 (πr2 (R)) ? σR.r1 = 1(RxT) = σR.r1 = 1(R)xT ? 5 πR.r2 (R⋈T) = πR.r2 (R)⋈T ?????????? 6

Consultas