Lenguajes Formales de Consulta

Slides:



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

COLEGIO DE BACHILLERES PLANTEL #13 Xochimilco-TEPEPAN
IBD Clase 14.
Diseño de Bases de Datos
integridad referencial
Rocío Contreras Águila Primer Semestre 2010
Lenguajes Relacionales
Aprendizaje de Microsoft® Access® 2010
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
SQL Server Integration Services SSIS
INTELIGENCIA ARTIFICIAL
Consultas anidadas.
Estadística Computacional I
Teórico: Algebra Relacional
Ejercicios de Álgebra Relacional Bases de Datos I
ALGEBRA RELACIONAL.
Teoría de Bases de Datos
Unidad III (antes Unidad 4)
Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional
Procesamiento de Consultas Distribuidas (1era Parte)
INTROCUCCIÓN A LAS BASES DE DATOS
BASE DE DATOS I Clase # 1.

BASES DE DATOS I CAPÍTULO 2 EL MODELO RELACIONAL Guillermo Baquerizo
Métrica v2.1 Técnicas: Teoría de la Normalización.
SQL Structured Query Language
1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:
Departamento de Tecnología Curso: 4º E.S.O. I.E.S. Ana Mª Matute
 LOPEZ MENDOZA CORINA AMALINALLI  GRUPO 304.  Una base de datos o banco de datos (en ocasiones abreviada BB.DD.) es un conjunto de datos pertenecientes.
Algebra Relacional.
Álgebra Relacional. zUnión, intersección y diferencia: los operadores usuales de conjuntos zSelección: Escoger ciertas filas zProyección: Escoger ciertas.
BASE DE DATOS BY: Julián Villar Vázquez.
John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A.
HERRAMIENTAS DE EXCEL ORDENAR Y FILTAR.
Métrica v2.1 Técnicas: Modelado de datos (Parte 2)
MODELADO DE DATOS (PARTE 2) Viviana Poblete L. Modelo de Datos I.
BASE DE DATOS I Clase # 3.
Algebra Relacional Ing. Fabián Ruano.
Algebra Relacional.
ALGEBRA RELACIONAL OPERACIONES BASICAS.
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.
Diseño de base de datos Tema 4 : Algebra relacional.
Seminario de Informática Elementos Conceptuales
Bases de Datos Sql.
Restricciones de Integridad
Expresiones algebraicas equivalentes
PASO DEL ESQUEMA E-R AL MODELO RELACIONAL
Bases de Datos en Excel Microsoft Excel aporta al usuario la posibilidad de trabajar con tablas de información: nombres, direcciones, teléfonos, zonas,
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 3) Microsoft SQL Server 2008 R2 Suscribase a
UNIDAD III: MODELAJE DE BASE DE DATOS RELACIONAL..
Ingeniería de Sistemas y Modelamiento.
MARTÍNEZ VALLEJO ISAMAR SCANDA MONTOYA MENDOZA DIANA RUBI GRUPO: 304.
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.
MODELOS DE DATOS RELACIONAL
COLEGIO DE BACHILLERES PLANTEL #13 Xochimilco-TEPEPAN NOMBRE DEL PROFESORA: Gabriela Pichardo NOMBRE DEL ALUMNO: García monroy jazmín GRADO: 3er Semestre.
Lenguajes de consulta: son aquellos en que el usuario interroga o solicita información a la base de datos. Estos lenguajes se clasifican en procedimentales.
Tipos de Datos.
HERRAMIENTAS OFIMÁTICAS M.S.C. IVETTE HERNÁNDEZ DÁVILA
Bases de Datos Modelo Relacional.
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
Introducción a la Base de Datos Profesora: Nelwi Báez.
Maestría en ciencias de la computación
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
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente.
DML Transact SQL Sesión VI Trabajando con subconsultas.
Equipo de Profesores del Curso. Funciones de Texto.
Algebra relacional Integrantes: Víctor Sergio López Sainz. Francisco Javier centeno. Verdín Carlos Omar.
Transcripción de la presentación:

Lenguajes Formales de Consulta Base de Datos I

Lenguajes Formales de Consulta Lenguaje de consulta 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 de programación habituales.

Lenguajes Formales de Consulta Clasificación Procedimentales No procedimentales

Lenguajes Formales de Consulta Clasificación Procedimentales El usuario indica al sistema que lleve a cabo una serie de operaciones en la BD para calcular el resultado.

Lenguajes Formales de Consulta Clasificación No procedimentales El usuario describe la información deseada sin dar un procedimiento concreto para obtener la información.

Lenguajes Formales de Consulta Dentro de estos lenguajes podemos encontrar: Álgebra Relacional (Procedimental) Cálculo Relacional de Tuplas (No procedimental) Cálculo Relacional de Dominios (No procedimental)

Lenguajes Formales de Consulta Estos lenguajes son estrictos y formales, han servido como base para los lenguajes implementados en los SGBD comerciales.

Algebra Relacional Lenguaje de consulta procedimental basado en álgebra de conjuntos. Serie de operaciones que toman una o dos relaciones como entrada y generan una relación como salida, pero siempre sin modificar los de la base de datos (es un lenguaje de consulta).

Algebra Relacional Las operaciones son: Selección Proyección Reunión (JOIN o producto cartesiano con condición) División Operaciones habituales de conjuntos: unión, intersección, resta y producto cartesiano.

Selección σ La operación de selección da como resultado un conjunto de tuplas que cumplen la condición de selección aplicada sobre la entrada.

σc(R)= conjunto de tuplas de la relación R que cumplen la condición c. Selección σ σc(R)= conjunto de tuplas de la relación R que cumplen la condición c. Donde: R será un esquema de relación o una expresión que lo represente. c será un conjunto de cláusulas conectadas entre sí mediante operadores booleanos (∧, ∨, ¬).

<nombre atributo> OPCOMP <nombre atributo> Selección σ Cada cláusula será de la forma: <nombre atributo> OPCOMP <nombre atributo> Donde: OPCOMP será un operador de comparación (=, ≠, <, ≤, >, ≥) El resultado de la consulta es una selección con los mismos atributos que la original.

EMP (DNI, NOM, AP1, AP2, SUELDO) Selección σ Ejemplo: base de datos de empleados. EMP (DNI, NOM, AP1, AP2, SUELDO) Empleados con sueldo superior a $1200 σSUELDO> 1200 (EMP) Empleados cuyos apellidos sean iguales: σAP1= AP2 (EMP) Empleados con sueldo superior a $1200 cuyos apellidos sean iguales: σ (SUELDO > 1200) ∧ (AP1 = AP2)(EMP)

Selección σ Ejercicios: Tabla sucursal

Selección σ Ejercicios: Sucursales que estén en la ciudad de Aluche. Sucursales cuyos activos sean menores o iguales que 8.000. Sucursales que están en ciudades que no sean Aluche con activos mayores que 8.000 y menores a 9.000.000.

Proyección Π La operación de proyección devuelve las tuplas de la relación que se le pasa como argumento, omitiendo ciertas columnas.

Proyección Π Los atributos que se requieran obtener se colocan como subíndice de la operación, separados por comas. ΠLISTA_ATRIBUTOS (R) = conjunto de tuplas de R con los atributos de la lista.

EMP (DNI, NOM, AP1, AP2, SUELDO) ΠDNI ( σ SUELDO > 1200 ( EMP ) ) Proyección Π Ejemplo: base de datos de empleados. EMP (DNI, NOM, AP1, AP2, SUELDO) DNI y sueldo de todos los empleados: ΠDNI, SUELDO ( EMP ) DNI de los empleados con más de 1200 de sueldo: ΠDNI ( σ SUELDO > 1200 ( EMP ) )

Proyección Π DNI de los empleados con más de 1.200 de sueldo, “dos pasos”: R1 ← σ SUELDO > 1200 ( EMP ) /* Tuplas de EMP con sueldo > 1200 */ R2 ← Π DNI ( R1 )/* DNI empleados con sueldo > 1200 */

Proyección Π Ejercicios: Tabla Cursos

Proyección Π Ejercicios: Nombre de curso cuyo precio sea menor a 120. Código curso cuya fecha de inicio sea 20-09-2002 y fecha fin 15-01-2003. Clave de profesor cuyo horario es de 9:00 a 13:00.

Renombramiento ρ La operación de renombramiento permite cambiar el nombre del esquema y de las columnas de otro esquema. La relación resultante contiene las mismas tuplas que el Esquema original.

ρEMP (D,NOM,AP1,AP2,SUELDO)(EMP) Renombramiento ρ Ejemplo: Los atributos de una relación se pueden renombrar para facilitar el manejo de atributos: /* Renombramiento de DNI a D */ ρEMP (D,NOM,AP1,AP2,SUELDO)(EMP) /* Renombramiento de todos los atributos */ ρEMP(D,N,A1,A2,S)(EMP)

ρEMP1(DNI, NOM, AP1, AP2, SUELDO)(EMP) Renombramiento ρ Ejemplo: Es también posible realizar copias de relaciones renombrando o no sus atributos: /* Copia de EMP a EMP1 sin renombrar atributos */ ρEMP1(DNI, NOM, AP1, AP2, SUELDO)(EMP)

Unión ∪, Intersección ∩ y Resta - Operaciones típicas de conjuntos. Las relaciones deben ser compatibles: Mismo número de atributos y mismo dominio dos a dos: R1 (A1, A2, ... An) R2 (B1, B2, …Bn) Para todo i, 1 ≤ i ≤ n, Dom (Ai) = Dom (Bi) El resultado de estas operaciones será otra relación (no repite tuplas).

Unión ∪, Intersección ∩ y Resta - En la relación resultante, los atributos serán los de la relación que pongamos como primer operando. Lo habitual es realizar uniones, intersecciones y restas con esquemas exactamente iguales.

Unión ∪, Intersección ∩ y Resta - Ejemplo: EST (DNI_EST, NOMB_EST) PROF (DNI_PROF, NOMB_PROF) Personas que son alumnos o son profesores: ρPER(DNI, NOMBRE)(ρEST(DNI,NOMBRE)(EST)∪ρPROF(DNI, NOMBRE)(PROF))

Producto Cartesiano X Esta es una operación binaria. No exige que las relaciones sean compatibles. R1 (A1, ..., An) × R2 (B1, ..., Bm) → R (A1, ..., An, B1, ..., Bm) La relación resultante, R, contiene tuplas con los atributos de ambas relaciones. Pero esas tuplas son el resultado de combinar cada una de las tuplas de la primera relación con todas las de la segunda.

Producto Cartesiano X x1, ..., x1 x2, ..., x2 x3, ..., x3 y1, ..., y1 R1 (A1, ..., An) R2 (B1, ..., Bm) R1 (A1, ..., An) × R2 (B1, ..., Bm) x1, ..., x1 x2, ..., x2 x3, ..., x3 y1, ..., y1 y2, ..., y2 x1, ..., x1,y1, ..., y1 x1, ..., x1, y2, ..., y2 x2, ..., x2, y1, ..., y1 x2, ..., x2, y2, ..., y2 x3, ..., x3, y1, ..., y1 x3, ..., x3, y2, ..., y2

Producto Cartesiano X Ejemplo: Para el siguiente esquema se pide obtener el DNI de los empleados que trabajan en el departamento “Contabilidad”.

Producto Cartesiano X Ejemplo: Pasos a seguir: Combinar los datos de ambas tablas. Quedarse con las filas donde cada empleado aparezca junto a su Departamento y además el nombre del departamento sea “Contabilidad” Filtrar campos para obtener DNI.

Producto Cartesiano X Ejemplo: Solución 1: Solución 2: RES ←ΠDNI( σNUMDE = ND ∧ NOMD = “Contabilidad” ( EMP × DPTO ) ) Solución 2: R1 ← σNOMD = “Contabilidad” (DPTO) R2 ← ΠND (R1) R3 ← EMP × R2 R4 ← σNUMDEP = ND (R3) RES ←ΠDNI(R4)

Producto Cartesiano X En un producto cartesiano puede aparecer el mismo nombre de atributo en R1 y R2. Es necesario crear un convenio de denominación para distinguir unos atributos de otros. En este caso se realiza adjuntando el nombre de la relación de la que procede originalmente. Conviene evitarlo utilizando renombramiento.

Producto Cartesiano X Ejemplo: RES←ΠDNI(σEMP.NUM= DPTO.NUM ∧ NOM = “Contabilidad” (EMP×DPTO))

Producto Cartesiano X Ejercicio: Para el siguiente esquema se pide obtener el DNI de los empleados que trabajan en el departamento “Contabilidad”.

Producto Cartesiano X Ejercicio: Para el siguiente esquema se pide obtener el nombre de los empleados que trabajan en proyectos dirigidos por “López”.

Producto Cartesiano X Ejercicio: Para el siguiente esquema se pide obtener el nombre de los empleados que trabajan en proyectos dirigidos por “López”.

Producto Cartesiano X Ejercicio: Para el siguiente esquema se pide obtener el DNI de los empleados cuyo supervisor gana más de 2.000.

Producto Cartesiano X Ejercicio: Para el siguiente esquema se pide obtener el DNI de los empleados supervisados por DNI = 123

Reunión/Join c Ejercicio: Operación binaria que implementa el producto cartesiano con condición. R1 c R2 = conjunto de tuplas resultantes del producto cartesiano R1 × R2 que cumplen la condición c.

Reunión/Join c Ejercicio: Operación binaria que implementa el producto cartesiano con condición. R1 c R2 = conjunto de tuplas resultantes del producto cartesiano R1 × R2 que cumplen la condición c. Es decir: R1 c R2 ≡ σc (R1 × R2)

Reunión/Join c Ejemplo

Reunión/Join c Ejemplo La figura siguiente representa la reunión de la relación PROV1 con la relación REC cuando el NIF de PROVl coincide con el atributo NIF-PRO de PREC.

Reunión/Join Natural Ejemplo Producto cartesiano con condición implícita: se seleccionan aquellas tuplas cuyos valores coincidan en los atributos con igual nombre. Se eliminan los atributos duplicados Dados R1(r) y R2(s) donde Ai, 1<=i<=k son atributos comunes a R1 y R2 R1 R2 ≡Πr∩s(σR1.A1=R2.A1…R1.Ak=R2.Ak(R1 × R2) Si no hay atributos comunes, es decir, r ∩s=∅ R1 R2 ≡ R1 × R2

Reunión/Join Natural Ejemplo: La figura siguiente representa la reunión natural de la relación PROV1 con la relación PREC cuando el NIF de PROVl coincide con el atributo NIF-PRO de PREC. Observemos que no aparece duplicado el atributo NIF.

Reunión/Join Natural Ejemplo:

Reunión/Join Natural

Reunión/Join Natural Ejercicios:

GRACIAS