SlideShare una empresa de Scribd logo
Bagde
del curso
Curso
Práctico de SQL
Israel Vázquez
Breve historia de SQL
Espacio para imagen
Bases
Modelo y álgebra
relacional de Codd
Espacio para imagen
IBM
Fue creada en los años 70.
Originalmente llamada
SEQUEL.
● System/38 (1979)
● SQL/DS (1981)
● DB2 (1983)
Espacio para imagen
Relational
company
Creó el software
Oracle V2 en 1979
ANSI / ISO
1989, 1992, 1996,
1999, 2003, 2006,
2008, 2011 and 2016
Álgebra relacional
Select
Proyección
SELECT *;
SELECT field AS alias;
SELECT COUNT(id), SUM(quantity),
AVG(age);
SELECT MIN(date), MAX(quantity);
SELECT IF(500<1000, "YES", "NO");
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN "Over 30"
WHEN Quantity = 30 THEN "Equal 30"
ELSE "Under 30"
END AS QuantityText
From
Origen
SELECT *
FROM tabla_diaria;
SELECT *
FROM tabla_diaria AS td
JOIN tabla_mensual AS tm
ON td.pk = tm.fk;
SELECT *
FROM dblink('
dbname=somedb
port=5432 host=someserver
user=someuser
password=somepwd',
'SELECT gid, area, perimeter,
state, county,
tract, blockgroup,
block, the_geom
FROM massgis.cens2000blocks')
AS blockgroups
Join
Productos cartesianos
SELECT *
FROM tabla_diaria AS td
JOIN tabla_mensual AS tm
ON td.pk = tm.fk;
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
Left Join
A B
Right Join
A B
Exclusive Left Join
A B
Exclusive Right Join
A B
Full Outer Join
A B
Exclusive Full Outer Join
A B
Inner Join
A B
Where
Selección
SELECT *
FROM tabla_diaria
WHERE id = 1;
SELECT *
FROM tabla_diaria
WHERE cantidad > 10;
SELECT *
FROM tabla_diaria
WHERE cantidad < 100;
SELECT *
FROM tabla_diaria
WHERE cantidad > 10
AND cantidad < 100;
SELECT *
FROM tabla_diaria
WHERE cantidad BETWEEN 10
AND 100;
SELECT *
FROM users
WHERE name = "Israel"
AND (
lastname = "Vázquez"
OR
lastname = "López"
);
SELECT *
FROM users
WHERE name = "Israel"
AND lastname = "Vázquez"
OR lastname = "López";
SELECT *
FROM users
WHERE name LIKE "Is%";
SELECT *
FROM users
WHERE name LIKE "Is_ael";
SELECT *
FROM users
WHERE name NOT LIKE "Is_ael";
SELECT *
FROM users
WHERE name IS NULL;
SELECT *
FROM users
WHERE name IS NOT NULL;
SELECT *
FROM users
WHERE name IN ('Israel','Laura',
'Luis');
Order By
Ordenamiento
SELECT *
FROM tabla_diaria
ORDER BY fecha;
SELECT *
FROM tabla_diaria
ORDER BY fecha ASC;
SELECT *
FROM tabla_diaria
ORDER BY fecha DESC;
Espacio para imagen
Índices
Excelentes para
búsquedas y
ordenamientos.
Cuidar para alta
transaccionalidad.
Group By
Agregación
SELECT *
FROM tabla_diaria
GROUP BY marca;
SELECT *
FROM tabla_diaria
GROUP BY marca, modelo;
Limit
Limitantes
SELECT *
FROM tabla_diaria
LIMIT 1500;
SELECT *
FROM tabla_diaria
OFFSET 1500
LIMIT 1500;
El primero
El segundo más alto
Seleccionar de un set
de opciones
En mis tiempos
Seleccionar por año
Double trouble
Selectores de rango
Eres lo máximo
Egoísta (Selfish)
Resolviendo
diferencias
Todas las uniones
Triangulando
Generando rangos
Regularizando
expresiones
Bases de datos
distribuidas
Espacio para imagen
Es una colección
de múltiples bases
de datos separadas
físicamente que se
comunican mediante
una red informática.
¿Qué es?
Espacio para imagen
Ventajas
● Desarrollo modular.
● Incrementa la
confiabilidad.
● Mejora el
rendimiento.
● Mayor disponibilidad.
● Rapidez de respuesta.
Espacio para imagen
Desventajas
● Manejo de seguridad.
● Complejidad de
procesamiento.
● Integridad de datos
más compleja.
● Costo.
Espacio para imagen
Homogéneas
y heterogéneas
● OS
● Sistema de base
de datos
● Modelos de datos
Espacio para imagen
Arquitecturas
● Cliente - servidor.
● Par a par
(Peer 2 Peer).
● Multi manejador
de base de datos.
Espacio para imagen
Estrategias
de diseño
● Top down
● Bottom up
Espacio para imagen
Almacenamiento
distribuido
● Fragmentación
● Replicación
● Distribución
Espacio para imagen
Fragmentación
● Horizontal
● Vertical
● Mixta
Espacio para imagen
Replicación
● Completa
● Parcial
● Sin replicación
Espacio para imagen
Distribución de
los datos
● Centralizada
● Particionada
● Replicada
Queries distribuidos
● Cada tupla tiene 25B (200b).
● El query será: obtener los números de proveedor
de Bogotá que tienen repuestos de color rojo.
● P >< PR >< R.
Tabla Columnas Tuplas Localización
Proveedores(P) P# Ciudad 10,000 Región A
Repuestos (R) R# Color 100,000 Región B
Prov-Rep(PR) P# R# 1,000,000 Región A
Tabla Columnas Tuplas Localización
Proveedores(P) P# Ciudad 10,000 Región A
Repuestos (R) R# Color 100,000 Región B
Prov-Rep(PR) P# R# 1,000,000 Región A
● Suposiciones
de cardinalidad:
- Repuestos rojos: 10.
- Número de pedidos
hechos por proveedores
de Bogotá: 100,000.
● Suposiciones
de comunicación:
- Tasa de transferencia:
50,000 bits por segundo.
- Latencia de acceso: 0.1s.
Tabla Columnas Tuplas Localización
Proveedores(P) P# Ciudad 10,000 Región A
Repuestos (R) R# Color 100,000 Región B
Prov-Rep(PR) P# R# 1,000,000 Región A
● Retraso total en la comunicación = (retraso total de
acceso) + (volumen total de datos/tasa de transferencia).
● Retraso total en la comunicación = (número
de mensajes/10) + (número de bits/50,000).
Retraso total en la comunicación =
(número de mensajes/10) + (número de bits/50,000)
# Técnica Estimación Tiempo total
1 Mover R a Región A (0.1) +
(100,000*200)/50,000=400s=6.67min
6.67 min
2 Mover P y PR a
Región B
(0.2) +
((10,000+1,000,000)*200)/50,000 =
4,040s = 1.12h
1.12 h
3 Revisar repuestos
rojos para cada
proveedor de Bogotá
Join de P y PR en A filtrar los
proveedores de Bogotá y hacer un join
con R en B
5.56 h
4 Por cada repuesto
rojo revisar si hay un
proveedor en Bogotá
Filtrar R en B y por los 10 resultados
hacer un join remoto con PR en A
2 s
5 Mover los pedidos
de Bogotá a B
0.1 + (100,000*200)/50,000 = 400s =
6.67min
6.67 min
6 Mover los repuestos
rojos a A
0.1 + (10*200)/50,000 = 0.10s 0.10 s
Sharding
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
Espacio para imagen
Problemas
● Joins entre shards.
● Baja elasticidad
● Reemplaza PK
Window Functions
Espacio para imagen
¿Qué son?
Realizan cálculos en
algunas tuplas que se
encuentran relacionadas
con la tupla actual.
Espacio para imagen
¿Para qué sirven?
Evitan el uso de self
joins y reduce la
complejidad alrededor
de la analítica,
agregaciones y uso de
cursores.
Window Functions:
Particiones y
agregación
El futuro de SQL

Más contenido relacionado

PDF
Curso curso-practico-de-sql-slides_PLATZI.pdf
PPT
Base De Datos I
PPTX
Tipos de bases de datos por Juan del Ángel Oláez González
PPT
Introduccion a SQL Server 2000
PPT
D:\Introduccion A Sql 2000 Server
PDF
Bases de-datos
PPT
Intro sql
PPTX
Sistemas gestores de bases de datos
Curso curso-practico-de-sql-slides_PLATZI.pdf
Base De Datos I
Tipos de bases de datos por Juan del Ángel Oláez González
Introduccion a SQL Server 2000
D:\Introduccion A Sql 2000 Server
Bases de-datos
Intro sql
Sistemas gestores de bases de datos

Similar a slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx (20)

PPT
Oracle3
PPTX
Trabajo bd
PPTX
Trabajo bd
PPTX
base-de-datos-distribuidas ARREGLADO.pptx
DOCX
Base de datos objeto
PPT
Middleware_SQL_BD.ppt server base de datos
PPTX
Fundamentos de bases de datos
PPTX
Bases de datos
PPTX
Base de datos
PPTX
Informatica bd
PPTX
Diapositivas de base de datos
PPTX
Oracle database
PPTX
Bases De Datos Paralelas
PPTX
Bd cjcm
PPTX
Base de datos
PPTX
Bases de datos
PPTX
Base de datos
PDF
D2 gestión de bases de datos
PPTX
Base de Datos
Oracle3
Trabajo bd
Trabajo bd
base-de-datos-distribuidas ARREGLADO.pptx
Base de datos objeto
Middleware_SQL_BD.ppt server base de datos
Fundamentos de bases de datos
Bases de datos
Base de datos
Informatica bd
Diapositivas de base de datos
Oracle database
Bases De Datos Paralelas
Bd cjcm
Base de datos
Bases de datos
Base de datos
D2 gestión de bases de datos
Base de Datos
Publicidad

Último (20)

PPTX
Mantenimiento dp COMPUTADORES 89ER PARA UE
PDF
5-2 Presentacion SDH clase 1.pdf.................
PDF
Comité de Seguridad y Salud en el Trabajo.pdf
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPTX
Curso USO Y MANTENCIÓN DE ELEMENTOS DE PROTECCIÓN PERSONAL.pptx
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PDF
Armado de estructura Media tensión de 22.9
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PDF
Electricidad-Estatica-Peligros-Prevencion.pdf
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PPTX
Semana 3 - Capacidad Juridica detallada.pptx
PPTX
PROGRAMACIÓN DE SISTEMA DE INFORMACION DE MERCADOS
PDF
Marco Legal de la Gestión Tecnológica en Venezuela - Enderson Mendez
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
Primera formulación de cargos de la SEC en contra del CEN
PDF
CI digitales -1. Introduccion 2024-25.pdf
PPTX
CAPACITACIÓN RUIDO PREXOR CAPACITACIÓN RUIDO PREXOR
Mantenimiento dp COMPUTADORES 89ER PARA UE
5-2 Presentacion SDH clase 1.pdf.................
Comité de Seguridad y Salud en el Trabajo.pdf
Gestion de seguridad y salud ocupacional.pptx
Curso USO Y MANTENCIÓN DE ELEMENTOS DE PROTECCIÓN PERSONAL.pptx
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
Armado de estructura Media tensión de 22.9
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
Electricidad-Estatica-Peligros-Prevencion.pdf
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
NILS actividad 4 PRESENTACION.pptx pppppp
Semana 3 - Capacidad Juridica detallada.pptx
PROGRAMACIÓN DE SISTEMA DE INFORMACION DE MERCADOS
Marco Legal de la Gestión Tecnológica en Venezuela - Enderson Mendez
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
Primera formulación de cargos de la SEC en contra del CEN
CI digitales -1. Introduccion 2024-25.pdf
CAPACITACIÓN RUIDO PREXOR CAPACITACIÓN RUIDO PREXOR
Publicidad

slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx

Notas del editor

  • #60: Top down: Planeada y generalmente homogenea Bottom up: Estrategia tardía de unificación de BD existentes.
  • #61: Top down: Planeada y generalmente homogenea Bottom up: Estrategia tardía de unificación de BD existentes.
  • #63: Completa: Excelente para consultas rápidas Parcial: Partes de la base de datos replicadas basado en el acceso a ellas
  • #64: Centralizada: Cuando los datos se almacenan en un solo lugar, sin distribución. Particionada: La base de datos se divide en fragmentos y almacenados en múltiples lugares. Replicada: Copias de uno o más fragmentos de la base de datos se almacenan en diversos sitios.
  • #75: Similar a las agregaciones (Group by) pero no reduce los datos sino se mantiene el número de rows
  • #76: Similar a las agregaciones (Group by) pero no reduce los datos sino se mantiene el número de rows