Sei sulla pagina 1di 53

MSc.

Luis Defilippi Shinzato


Sesin de Aprendizaje 1:
Indice
Presentacin del curso, temas y forma de
evaluacin.

Introduccin a las Bases de Datos, historia,


componentes, caractersticas, propiedades.

Lenguaje SQL, estructura, sentencias, grupos de


comandos, clausulas, operadores y funciones
Sesin de Aprendizaje 2:

Sentencias DML, consultas bsicas, avanzadas y sub


consultas

Elaboracin de grupos de trabajo y sorteo de temas de


exposicin
Sesin de Aprendizaje 3:

Sentencias DDL, creacin e importacin de bases de


datos

Insercin, Actualizacin y borrado de datos


Sesin de Aprendizaje 1
Sesin de Aprendizaje 1:
Presentacin del curso, temas y forma de evaluacin.
Introduccin a las Bases de Datos, historia,
componentes, caractersticas, propiedades.
Lenguaje SQL, estructura, sentencias, grupos de
comandos, clausulas, operadores y funciones
Mis primeras consultas con SQL
Dato: Es una agrupacin de caracteres que de por s no
tienen significado.

Base de Datos: Coleccin de datos relacionados,


organizados y ordenados.
Historia de las Bases de Datos
Componentes de las Bases de Datos
Campo: rea de almacenamiento de datos de un mismo
tipo.

Registro: Coleccin de datos relacionados del mismo o


diferente tipo.

Tabla / Archivo: Coleccin de registros relacionados.


Cuando se trabaja en ella se denomina Tabla, cuando se
guarda y almacena se denomina Archivo.

Base de datos: Agrupacin de tablas relacionadas.


SQL
SQL o Structured Query Language (Lenguaje Estructurado
de Consultas) es un lenguaje de acceso a datos no es un
lenguaje de programacin.

Creado para .

Fue creado por la IBM en el ao con el nombre de Sequell


para, de lo cual solo quedan la letra inicial, del medio y
final SQL
El SQL no es estrictamente un lenguaje de programacin,
es un lenguaje de acceso
Sentencia SQL
Una sentencia o lnea de comando en SQL consta de las
siguientes partes:

[Comando] (texto del comando)


[Clausula] (texto de la clausula)
[Operadores] (texto del operador)
[Funciones] (texto de la funcin)

No es necesario que lleve los cuatro componenetes


(sentencia compleja) pero como mnimo debe llevar las dos
primeras (sentencia simple)
Grupo de Comandos
Comandos DDL (Data Definition Language): Permite
crear y eliminar tablas asi como modificar sus
estructuras.
CREATE
DROP
ALTER
TRUNCATE
Comandos DML (Data Manipulating Language):
Permite seleccionar, actualizar, borrar registros.
SELECT
UPDATE
INSERT
DELETE
Comandos DCL (Data Control Language):
Proporciona seguridad a la informacin de la base de
datos.
GRANT
REVOKE
Comandos TCL (Transaction Control Language): Se
utilizan para la gestin de los cambios en las bases de
datos.
COMMIT
ROLLBACK
SAVEPOINT
Clausulas
FROM: Especifica la tabla de la que se quiere obtener
la informacin (registros)
WHERE: Especifica las condiciones o criterios de los
registros seleccionados
GROUP BY: Sirve para agrupar los registros
seleccionados en funcin a un campo
HAVING: Especifica los criterios que deben cumplir
los grupos seleccionados.
ORDER BY: Ordena los registros seleccionados en
funcin a un campo.
OPERADORES
De comparacin:
Matemticos: < , > , = , <= , >= , <>
Lgicos:
AND: Y lgico (interseccin)
OR: O lgico (unin)
NOT: Negacin lgica
funciones
De agregado: Permiten realizar operaciones
matemticas o clculos sobre un grupo de registros.
AVG: Devuelve el promedio del campo seleccionado.
COUNT: Cuenta registros
SUM: Suma los valores de los registros
MAX: Devuelve el valor mximo de un campo.
MIN: Devuelve el valor mnimo de un campo
Mis primeras consultas con SQL
Las consultas SQL tiene la siguiente estructura:
[Comando] (texto del comando)
[Clausula1] (texto de la clausula1) [Clausula2] (texto de
la clausula2)
[Clausula3] (texto de la clausula3)
[Operadores] (texto del operador)
[Funciones] (texto de la funcin)
Las consultas son intuitivas, solo hay que segur la
estructura descrita
Por ejemplo si deseo seleccionar los registros del
campo nombre de la tabla amigos colocar:
SELECT nombre FROM amigos
Si ahora quiero seleccionar los registros de los campos
nombre y apellido de la tabla amigos, colocar:
SELECT nombre , apellido FROM amigos
Si ahora quiero seleccionar los registros de los campos
nombre, apellido y distrito de la tabla amigos pero que
se seleccionen solo los amigos que viven en surquillo,
colocar:
SELECT nombre , apellido , distrito FROM amigos
WHERE distrito=surquillo
Si ahora quiero seleccionar los registros de los campos
nombre, apellido y distrito de la tabla amigos pero que
se seleccionen solo los amigos que viven en surquillo,
ordenndolos de forma alfabtica por el apellido,
colocar:
SELECT nombre , apellido , distrito FROM amigos
WHERE distrito=surquillo ORDER BY apellido
En esta sesin de aprendizaje aprendimos:
Las caractersticas y partes de una base de datos.
Que es el lenguaje SQL y sus caractersticas.
Comandos, clausulas, operadores y funciones.
Estructura de una consulta.
Y realizamos nuestras primeras consultas bsicas y
complejas en un administrados de bases de datos
phpmyadmin (web) y SQL Server (computadora).
Consultas de Agrupacin

Consultas de Clculo

Sub Consultas
Sesin de Aprendizaje 2:
Consultas de agrupacin.

Consultas de clculo

Sub consultas
Escalonada

De listas
Consultas de Agrupacin
Se utilizan para hacer clculos matemticos sobre un
grupo de registros.

Los registros de una tabla se agrupan en base a un


campo y con estos registros se realiza el clculo.

Se utilizan las funciones de agregado como AVG ,


COUNT , SUM , MAX , etc
Para hacer una consulta de agrupacin se necesitan
definir dos campos:
Campo de Agrupacin: Campo del criterio para agrupar
los registros.
Campo de Clculo: Campo donde se realiza el clculo
matemtico
Sintaxis:
SELECT {campo de agrupacin} , {campo de clculo}
FROM {BD} GROUP BY {campo de agrupacin}
Ejemplo; mostrar el total de las ventas que se ha hecho
agrupadas por operador

SELECT OPERADOR , SUM(VENTA) FROM


CLIENTES GROUP BY OPERADOR
Como se observa ha aparecido un campo con la
operacin deseada, pero este campo no tiene un
nombre.

Esto se puede remediar cambiando el nombre a este


campo utilizando el comando ALIAS
Sintaxis: {nombre antiguo} AS {nombre nuevo}
Sum(venta) AS Venta_Total
Quedando
select operador , sum(venta) AS Venta_Total from
clientes group by operador

Podemos ordenar por operador y luego por venta


Deseo saber las ventas totales de un operador, digamos
movistar:

select operador , sum(venta) as promedio from Hoja1


Group by operador having OPERADOR='movistar
Se desea saber cual es el operador que vendi movistar
o claro de forma descendente

select operador , sum(venta) as venta from Hoja1


WHERE operador='movistar' or operador='claro'
Group by operador order by venta DESC
CONSULTAS DE CALCULO
Se utilizan para realizar clculos matemticos sobre
registros individuales, no sobre grupos.

Se utilizan con frecuencias funciones.

Las funciones son diferentes para gada Gestor de Base


de Datos
Algunas funciones comunes son:
NOW()[ Devuelve la ffecha y hora de la consulta
DATEDIFF(); Devuelve la diferencia entre dos fechas
Implementar una consulta que determine el impuesto
de las ventas realizadas, indicando el apellido y nombre
de la persona a quien se le hizo la venta.

select AP_PATERNO , operador , venta ,


Round((venta*0.18/1.18),1) As IGV from Clientes
Realizar una consulta donde se calcule la venta neta, es
decir ya descontando el impuesto, del operador
movistar y entel y ordenarlo por la venta neta

select AP_PATERNO , operador , venta ,


Round((venta-venta*0.18/1.18),1) As NETO from
Clientes where operador='movistar' or operador='claro'
order by neto
SUBCONSULTAS
Son consultas dentro de otra consulta, es decir un SELECT
dentro de otro SELECT
Se utilizan dos Comandos Select uno externo y otro interno
El select interno se usa como filtro del select externo
Compara los registros que devuelve el select interno con los
que quiere modificar el padre.
Compara la consulta interna con ,o que quiere mostrat la
externa
Los operadores que se utilizan son los matemticos y los
lgicos AND , OR , NOT y los comparadores BETWEEN ,
IN , ANY ALL
Sintaxis
SELECT {externo} (SELECT{interno}) comandos y
clausulas

Los tipos de sub consulta son:


Escalonada
De lista
De accin
SUBCONSULTA ESCALONADA
Es una sub consulta donde la consulta interna devuelve
solo un campo con un solo registro.

Esto se utiliza como criterio en la consulta externa


SUBCONSULTAS ESCALONADAS
Ejemplo: Realizar una consulta de ventas que sean
superiores al promedio y verlas por apellido y valor de
venta

Select ap_paterno , venta from clientes where


venta>(select avg(venta) from clientes)
Sub consultas de Listas
La consulta nos devuelve una lista de registros.

Se utilizan los operadores IN , ANY , ALL


Ejemplo, necesitamos saber cuales son las ventas que
sean superiores a la mayor venta de movistar.

select ap_paterno , venta from clientes where venta >


all (Select venta from clientes where
operador='movistar')
Seleccionar las personas cuya compra ha sido inferior
al promedio de las ventas de entel,

select ap_paterno , venta from clientes where venta <


all (Select avg(venta) from clientes where
operador='entel')
CONSULTAS DE ACCION
Son consultas que modifican la informacin que hay
en las tablas, actualizando la informacin, creando
tablas nuevas a partir de las existentes o eliminando
informacin que se encuentra dentro de la tabla.

Se utilizan los comandos UPDATE , CREATE , DELETE


,
Par actualizar registros:
Sintaxis
UPDATE {nombre tabla} SET
{campo=campo*operacin} WHERE condicion

UPDATE CLIENTES SET VENTA=VENTA+VENTA*0.1


WHERE OPERADOR = MOVISTAR
Ejemplo: variar las ventas de los productos de movistar
aumentando a todos un 10%

UPDATE CLIENTES SET VENTA=VENTA+VENTA*0.1


WHERE OPERADOR = MOVISTAR
Cambiar el nombre del registro Cercado por Cercado
de Lima

Update clientes set distrito=Cercado de Lima where


distrito = Cercado
Ejemplo, necesitamos saber cuales son las ventas que
sean inferiores a cualquier venta de entel.

select ap_paterno , venta from clientes where venta <


any (Select venta from clientes where operador='entel')
Para crear tablas a partir de otras existentes
Sirve para crear una tabla con una parte de los datos de
una tabla mayor
Sintaxis

SELECT {campos a copiar} INTO {nombre tabla


nueva} from {tabla origen} WHERE {campo del
criterio} = {criterio}
Ejemplo: Crear una tabla a partir de la tabla clientes
donde tenga la siguiente informacin Apellido paterno
y operador, denominarla operador

SELECT Ap_paterno , operador INTO operador from


clientes
Crear una tabla a partir de la tabla clientes donde tenga
la siguiente informacin Apellido operador venta y que
sean solo de movistar

SELECT Ap_paterno , operador ,venta INTO operador


from clientes WHERE operador = 'movistar'
Para eliminar Registros:

Cuando ya no se necesitan los registro y se desean


eliminar definitivamente

Sintaxis:
DELETE FROM {nombre de la tabla} WHERE
{criterio} = {criterio}
Ejemplo: de la tabla creada eliminar los registros del
operador entel

delete from operador where operador='entel'


Eliminar los registros pagados con visa que se
encuentren con una venta entre 200 y 800

Delete from clientes where tarjeta=visa and venta


between 200 and 800

Potrebbero piacerti anche