Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porSergio Ortega Modificado hace 5 años
1
Aidan Hogan aidhog@gmail.com
CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I) Aidan Hogan
2
La última vez ...
3
El Álgebra Relacional
4
Formalizando demasiadas preguntas
Y ¿marcas de vino que tengan un vino de cada región de vinos? ¿Se necesita un operador nuevo aquí? Una tarea.
5
La solución completa …
6
División (una abreviatura)
¿Qué marcas de vino tienen un vino de cada región de vinos?
7
(En breve) El Cálculo Relacional Capítulo 4.3 | Ramakrishnan / Gehrke
8
¿hay otra forma de formalizar consultas?
9
El Cálculo Relacional: Tuplas
¿Qué cervezas hay?
10
El Cálculo Relacional: Selección
¿Qué cervezas de la marca “Austral” hay?
11
El Cálculo Relacional: Selección (>, ∧, etc.)
¿Qué ales son más fuertes que 4,8?
12
El Cálculo Relacional: Proyección
Un paso atrás … ¿Qué tipos de cerveza hay?
13
El Cálculo Relacional: Selección + Proyección
Y ¿qué tipos tienen una cerveza más fuerte que 4,8?
14
El Cálculo Relacional: Selección + Proyección + Intersección
Estoy curioso ¿qué marcas de cerveza tienen un ale y un lager?
15
El Cálculo Relacional: Selección + Proyección + Diferencia
Y ¿qué marcas de cerveza tienen un ale pero no un lager?
16
El Cálculo Relacional: Selección + Proyección + Unión
Y ¿qué marcas de cerveza tienen un ale o un lager? ¿En el cálculo?
17
El Cálculo Relacional: Selección + Proyección + Unión
Y ¿qué marcas de cerveza tienen un ale o un lager?
18
El Cálculo Relacional: Join
¿Qué son los pares de nombres de cervezas donde la primera cerveza es más fuerte que la segunda?
19
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos? ¿En el cálculo?
20
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos?
21
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos que tenga al menos un vino con precio mayor de 4000?
22
El Cálculo Relacional (de tuplas)
Fórmulas atómicas: Una fórmula puede ser Una fórmula atómica o Sean (recursivamente) p y q formulas: ¿Se necesitan todos estos operadores?
23
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos que tenga al menos un vino con precio mayor de 4000? ¿Sin ? …
24
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos que tenga al menos un vino con precio mayor de 4000? equivalente a
25
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos que tenga al menos un vino con precio mayor de 4000? ¿Sin ? …
26
El Cálculo Relacional: División
¿Qué marcas de vino tienen un vino de cada región de vinos que tenga al menos un vino con precio mayor de 4000? equivalente a
27
Consultas (no) seguras
Sintácticamente correcta pero … Pide todas las tuplas que no estén en Cerveza (pero que satisfagan el esquema de Cerveza) ¡Puede ser infinito! (“No segura”) Una definición aproximada Una consulta es segura si puede generar todas las soluciones considerando solo las constantes en los datos y la consulta.
28
El álgebra versus el cálculo (seguro)
… tienen la misma expresividad.
29
El álgebra versus el cálculo (seguro)
¿Qué piensan ustedes? ¿Cuál es mejor … el álgebra o el cálculo? … tienen la misma expresividad.
30
Structured Query Language (SQL)
El lenguaje estructurado de consulta Structured Query Language (SQL) Capítulo 5 Database Management Systems, Ramakrishnan / Gehrke (Third Edition)
31
El álgebra y el cálculo … ¿cómo se pueden expresar estos lenguajes matemáticos en un lenguaje computacional?
32
Los inicios de SQL … en 1974 Conceptualizado por
Donald Chamberlin (IBM) y Raymond F. Boyce (IBM) en 1974
33
1974 …
34
La evolución de SQL
35
Sistemas de bases de datos (con SQL)
¡Varios sistemas pueden tener varias interpretaciones del estándar de SQL! Pero el “core” de SQL es compatible entre los sistemas más populares.
36
SQL en alto nivel Lenguaje de Manipulación de Datos (LMD)
o DML: Data Manipulation Language en inglés Actualizar filas, consultar tablas, etc. Lenguaje de Definición de Datos (LDD) o DDL: Data Definition Language en inglés Crear y definir tablas Disparadores (triggers), transacciones, seguridad, SQL dinámico, etcétera
37
Los planetas
38
Mientras tanto en Plutón …
39
Forma básica de una consulta de SQL
40
Proyectar todo: SELECT *
41
¡Cuidado!
42
Proyectar algo: SELECT [v1, …, vn]
43
Seleccionar filas: WHERE (=|<>|<|<=|etc.)
44
Seleccionar filas: WHERE … AND … (OR|NOT)
45
Duplicados: SELECT ¿Algún problema aquí?
47
Distinto: SELECT DISTINCT
SQL puede cambiar las reglas del álgebra relacional; por ejemplo, permite duplicados, considera orden entre las filas, etcétera. ¿Qué piensan ustedes? ¿Duplicados en tablas/resultados son útiles?
48
Ordenar resultados: ORDER BY [DESC|ASC]
49
Reunir tablas: JOIN
50
Alias: AS
51
Alias: tablas
52
Unión (distinta): UNION
53
Unión (con alias): UNION + AS
54
Unión (bruta): UNION ALL
55
Diferencia: EXCEPT
56
Intersección: INTERSECT
57
Patrones simples: LIKE
58
Patrones simples: NOT LIKE
59
LIKE ¡Distinción de mayúsculas depende de
la configuración de un sistema en particular!
60
Abreviatura: IN
61
Abreviatura: BETWEEN
62
Una tarea Pensar en la forma de representar estas consultas usando el álgebra y el cálculo
63
La Próxima Vez, Continuaremos con más del: Structured Query Language (SQL)
Capítulo 4 & 5 | Ramakrishnan / Gehrke
64
Preguntas?
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.