La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)

Presentaciones similares


Presentación del tema: "CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)"— Transcripción de la presentación:

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í?

46

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?


Descargar ppt "CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)"

Presentaciones similares


Anuncios Google