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

Slides:



Advertisements
Presentaciones similares
Dpto. Informática IES Juan de la Cierva
Advertisements

IBD Clase 14.
integridad referencial
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
Estadística Computacional I
Teórico: Algebra Relacional
ALGEBRA RELACIONAL.
Tema: Las Consultas (I) Aspectos generales. Tipos de consultas
BASES DE DATOS I CAPÍTULO 2 EL MODELO RELACIONAL Guillermo Baquerizo
INGENIERO ESP. RICARDO CÚJAR SQL 3. EXPRESIONES ALGEBRAICAS CON CON PROYECCIÓN Y RESTRICCIÓN (б) Teniendo como referencia la ley de cierre, es posible.
Lenguajes Formales de Consulta
SQL Structured Query Language
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
SQL: Lenguaje de Interrogación Estructurado
Algebra Relacional.
ALGEBRA RELACIÓNAL MILADY MUÑOZ HIDALGO JHON MARLON ZAPATA OROZCO 11º2.
BASE DE DATOS I Clase # 3.
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
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.
Sindy Carolina Asprilla Mosquera Angie Tatiana Guali Restrepo 11º2 ALGEBRA RELACIONAL.
DDL Unidad 2. Lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales. El SQL estándar.
Diseño de base de datos Tema 4 : Algebra relacional.
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.
BASE DE DATOS DISTRIBUIDAS Objetivo
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
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
Principios, teoría y práctica sobre los conceptos de HTML básicos.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
Modelo Entidad Relación E-R Modelado y Diseño de Bases de Datos Gabriel Alberto Vásquez Muñoz Dpto. Electrónica, Instrumentación y Control.
ALGEBRA RELACIONAL. ¿QUÉ ES EL ALGEBRA RELACIONAL? Conjunto de operaciones simples sobre tablas relacionales, definen un pequeño lenguaje de manipulación.
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
Practicando con SQL Server
Repaso Programacion en C
Lineamientos informales para un buen diseño
Modelo Entidad-Relación
ALGEBRA DE MATRICES Uso de MatLab.
Lineamientos para un buen diseño de base de datos
Arquitectura de una Base de Datos
SQL: Structured Query Language
Paul Leger Formas Normales Paul Leger
Etapa Final del Proyecto
Paul Leger Algebra Relacional 2 Paul Leger
Modelo de Datos Conceptual
Lenguaje C en pocas palabras
Paul Leger Modelo ER extendido Paul Leger
SQL 2: Structured Query Language
SQL: structured Query Language
Modelo Entidad-Relación
Álgebra relacional.
Paul Leger Algebra Relacional Paul Leger
Arquitectura de una Base de Datos
Restricciones de integridad en el modelo relacional
Lenguaje de Programación C en pocas palabras
EXPRESIONES Una expresión es una forma especial de asignación.
INSTITUTO TECNOLOGICO DE ACAPULCO FUNDAMENTOS DE BASE DE DATOS
Procesamiento de Consultas Distribuidas (2da. Parte) Lic. Bárbara da Silva Sistemas de Bases de Datos Distribuidas - UCV.
LENGUAJES DE BASES DE DATOS: CÁLCULO RELACIONAL
CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)
Unidad 2: Programación 2. Programación.
Programa de estudio Unidad 1
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
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.
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

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

NOTA: Python, Java, C, Ruby son Turing complete Consultando a una BD Aparte de escribir, una base de datos es usada para hacer consultas (es decir, lecturas) Los motores de base de datos usan diferentes lenguajes de programación para comunicarse y recibir consultas Dato cultural: La mayoría de los lenguajes para base de datos no son Turing complete, y son específicos este dominio. En otras palabras, se dicen que son Domain-Specific Languages (DSLs) y no Turing complete NOTA: Python, Java, C, Ruby son Turing complete

Algebra Relacional Es un lenguaje teórico para realizar consultas a una base de datos SQL, el cual es un implementación concreta de un lenguaje de consultas de base de datos, el cual tiene sus bases en algebra relacional Para realizar investigación y optimizaciones sobre consultas a una base de datos, se sigue usando algebra relacional

Algebra Relacional Algebra Relacional SQL Descripción formal de un lenguaje de consultas Implementación concreta

Elementos de Algebra Relacional (AR) Las entidades son conocidas como relaciones Los registros son conocidos como tuplas Ejemplos de dos relaciones R(r1,r2,r3,…, rn) y T(s1,s2, r1) ¿Qué atributo en común tienen R y T? ¿En el modelo relacional que sería este atributo en común?

Operadores en Algebra Relacional En algebra operacional, las consultas sobre una base de datos se logran a través la composición de un conjunto de operadores funcionales Funcional: NuevaR = Operador(R). El operador toma una relación y opera con ella y retorna el resultado de esa operación como otra nueva relación. Es decir, la relación original “R” no se modifica. Composición de operadores: NuevaR = Operador3(Operador2(R2, Operador1(R1))). Para exactamente realizar o encontrar el resultado que buscamos, deberemos componer el uso de operadores. Es decir, resultado de operador pasa como entrada a otro operador.

Suponga estas dos relaciones: Persona y Ciudad Rut Nombre NombreC 12312312 Paul Coquimbo 15123561 Renato Peor es nada 12354345 Mariana Fucking 1232 La Serena Sabías que … NombreC Coquimbo Chanaral La Serena Peor es nada Chigualoco Conociendo las matemáticas ¡¡Luego veremos casi solamente letras y no conceptos como “rut” y “nombre”!! En Kansas, hay una ciudad que se llama Google (Topeka)

Operadores de Algebra Relacional “Aquí se viene interesante”

¡Esta relación no es modificada! Proyección (π) Proyecta una base de datos. Por ejemplo R1 = π rut (Persona) R2= π nombre,nombreC (Persona) Rut 12312312 15123561 12354345 1232 R1 Nombre NombreC Paul Coquimbo Renato Peor es nada Mariana Fucking La Serena ¡Esta relación no es modificada! R2

Proyección (π) [2] R3 = π nombre (Persona) En este caso, la proyección disminuyó el largo de la tabla persona de 4 a 3 registros ¿Por qué? Nombre Paul Renato Mariana R3

Renombrar (ρ) Renombrar una relación. Usaremos la siguientes sintaxis para renombrar Donde a es el antiguo nombre del atributo y b es el nuevo nombre del atributo de la relación R Ejemplo: Alumno = ρnombreC/hogar (Persona) R = π hogar (Alumno) hogar Coquimbo Peor es nada Fucking La Serena R

σ nombre=«Paul»(Persona) Selección (σ) Selecciona un conjunto de tuplas dada una condición (o conjunto de condiciones). Por ejemplo: σ nombre=«Paul»(Persona) Rut Nombre NombreC 12312312-3 Paul Coquimbo 1232 La Serena ¿Qué contiene R2 en las siguientes expresiones? R1 = σ nombre=«Paul»(Persona) R2 = π nombre (R1)?

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. Por ejemplo: R = Persona x Ciudad Rut Nombre Persona.nombreC Ciudad.nombreC 12312312 Paul Coquimbo Chanaral La Serena Peor es nada Fucking 15123561 Renato … R = En otras palabras, R contiene todas las combinaciones posibles entre las tuplas de Persona y Ciudad

Unión (U) R = Cliente U Empleado |R| ≤ |Cliente| + |Empleado| Une dos relaciones, donde los atributos deberían tener los mismos nombres y dominios. Por ejemplo: R = Cliente U Empleado |R| ≤ |Cliente| + |Empleado| Nota: ¿Por qué la cardinalidad es ≤? ¿Le recuerda a algo la expresión |x + y| ≤ |x| + |y| ?

Unión (U) [2] = U Cliente Empleado Nombre Paul Renato Mariana Marco Juan Nombre Paul Renato Mariana Nombre Juan Marco Paul = U

Intersección (∩) R = Cliente ∩ Empleado Intersecta dos relaciones, donde los atributos deberían tener los mismos nombres y dominios. Por ejemplo: R = Cliente ∩ Empleado Acá, R contiene los clientes que son empleados también

? Intersección (∩)[2] = ∩ Cliente Empleado Nombre Paul Renato Mariana Juan Marco Paul ? = ∩

Diferencia (-) R = R1 - R2, donde R contiene todas las tuplas de R1 que no están en R2. Los atributos deberían tener los mismos nombres y dominios. Por ejemplo: Nuevos = ActualesEmpleados - AntiguosEmpleados Nombre Paul Renato Mariana Nombre Renato Ricardo Mariana Nombre Paul = -

Resumen Proyección (π) Renombrar (ρ) Selección (σ) Producto Cartesiano (x) Unión (U) Intersección (∩) Diferencia (-)

Ejercicios Dada las relaciones T1, T2 y T3, resuelva: T1 T2 T3 P Q R 1) π p(σ T1.q=“b” (T1)) 2) σ T1.P = T2.A (T1 x T2) 3) σ T1.Q = T2.B (T1 x T2) 4) T1 U T2 5) T1 U T1 6) σ T1.P = T1.P(T1 x T1) 7) σ T1.P = T2.A ^ T1.R= T2.C(T1 x T2) 8) T2 – T3 9) T3 – T2 10) π A,B (T2) – T3 T1 T2 T3 P Q R 10 a 5 15 b 8 25 6 A B C 10 b 6 25 c 3 5 A B C 10 b 6 5

Consultas