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

Slides:



Advertisements
Presentaciones similares
Lenguajes Relacionales
Advertisements

Teórico: Algebra Relacional
ALGEBRA RELACIONAL.
Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional
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.
Pregunta: Solución: Pregunta: Solución: Pregunta: Solución:
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.
Tipos de Datos.
Maestría en ciencias de la computación
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
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
Clase 3: primeros programas (1ª parte) iic1102 – introducción a la programación.
Sistema de ecuaciones 2x2. Recordemos lo visto en las clases anteriores…
PARTES DE LAS OPERACIONES Muchas veces nos encontramos con textos en los cuales deseamos complementar lo aprendido. Pero nos damos cuenta con que éstos.
Ing. Sergio Valladares Castillo Base de Datos I Algebra Relacional.
CURSO BÁSICO Microsoft Excel MPE: Saraí A. Lara Palacios.
¿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
Paul Leger Algebra Relacional 2 Paul Leger
Modelo Entidad-Relación (continuación)
Lenguaje de manipulación de datos
Lineamientos informales para un buen diseño
Olimpiadas Chilenas de Informática - Formación
Lineamientos para un buen diseño de base de datos
SQL: Structured Query Language
Etapa Final del Proyecto
Unidad 6 Inecuaciones
Diagrama de Flujo de Datos (DFD)
Paul Leger CICLOS: For Paul Leger
Formulas y Funciones Básicas de Excel.
Paul Leger Formularios Paul Leger
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.
MATRICES.
Paul Leger Algebra Relacional Paul Leger
Restricciones de integridad en el modelo relacional
SQL Lenguaje de Consulta Estructurado
Bases De Datos : Consultas
INSTITUTO TECNOLOGICO DE ACAPULCO FUNDAMENTOS DE BASE DE DATOS
FRACCIONES: Interpretación
Excel Fundamentos Funciones Anidadas.
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
CC Bases de Datos Otoño Clase 3: Modelo Entidad-Relación (II)
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/2) Proyección (π) Renombrar (ρ) Selección (σ) Producto Cartesiano (x) Unión (U) Intersección (∩) Diferencia (-)

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

Algunos comentarios En la clase anterior, definimos la sintaxis del operador renombre(ρ) de la siguiente manera: ρrut,nombre,hogar (Alumno)(Persona) => Alumno(rut,nombre,hogar) Cambiaremos un poquitito la sintaxis, usando la siguiente la sintaxis a: Por ejemplo, en el caso anterior, se escribiría de la siguiente manera: Alumno = ρciudad/hogar(Persona)

Hoy veremos más operadores … A divertirse …

Recordando las dos relaciones: Persona y Ciudad Rut Nombre Ciudad 12312312-3 Paul Coquimbo 15123561-3 Renato Peor es nada 12354345-2 Mariana Fucking 13123111-2 Ciudad Comentario Coquimbo Buen puerto Chanaral Mucho sol Fucking No muy agradable Peor es nada El nombre basta Chigualoco Para Surf Nueva Columna

(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 que sirve ⋈ para una base de datos implementada con un modelo relacional?

Θ-join: El super caso del Natural join Es un join, donde podemos cambiar las condiciones (= Θ) de comparación (ejemplos >, >= , !=) R= ⋈Θ 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 Persona ⋉ Ciudad, Persona ⋊ Ciudad? ¿Cómo podemos expresar T ⋉ S, usando solamente ⋊?

Ejercicio Rut Nombre Ciudad 12312312-3 Paul Coquimbo 15123561-3 Renato Fucking 12354345-2 Mariana 13123111-2 Ciudad Comentario Coquimbo Buen puerto Fucking Mucho sol Muestre los nombres de las personas que viven en todas las ciudades (de la relación Ciudad)

Solución C= πciudad(Ciudad) P= π Rut, nombre(Persona) x C PersonasViveUnaCiudad = P – Persona Respuesta = π Rut, nombre(Persona – PersonasViveUnaCiudad)

División (/) Dada dos relaciones S y T, la división entre S y T (= S/T) retorna … Todas las tuplas de una proyección de S (= πatributos (S)) que … (ejemplo => πnombre (Persona)) Tienen un link externo con cada tupla de T ejemplo => πciudad (Ciudad))

Definición formal de la división R1:= πa1,...,an(T) × S R2 := R1 − T R3 := πa1,...,an(R2) R := πa1,...,an(T) − R3 Ejercicio: En el ejercicio anterior, encuentre la relación con estos cuatro pasos

Agregación (G) Permite ejecutar operaciones a grupos de datos Similar al grupo de funciones de Excel (Suma, promedio, etc) 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)

Consultas