Intro SQL
Intro SQL
DROP <tabla>
DML:
SELECT <columna(s) de datos>
FROM <tabla(s)>
1
13/02/2017
Select
2
13/02/2017
Sintaxis de SELECT
FROM
Con la clusula FROM indicamos en qu tabla tiene que buscar la
informacin. En este captulo de consultas simples el resultado se obtiene
de una nica tabla. La sintaxis de la clusula es:
3
13/02/2017
Seleccin de columnas
La lista de columnas que queremos que aparezcan en el resultado es lo
que llamamos lista de seleccin y se especifica delante de la clusula
FROM.
4
13/02/2017
Alias de columna
Cuando se visualiza el resultado de la consulta,
normalmente las columnas toman el nombre que tiene la
columna en la tabla, si queremos cambiar ese nombre
lo podemos hacer definiendo un alias de columna
mediante la clusula AS ser el nombre que aparecer
como ttulo de la columna.
Relaciones
Son BBDD relacionales, no?
Dividimos los datos entre varias tablas (especficas) para
minimizar la duplicacin de datos, y tambin las dependencias
entre campos
proceso conocido como normalizacin (seccin 4.1.3)
Hay relaciones de 3 tipos entre atributos
1:1, una persona tiene un DNI
1:M, una persona tiene muchos amigos
M:N, una tienda tiene muchos clientes, cada uno de los cuales es cliente
de muchas tiendas
5
13/02/2017
Relaciones (2)
El modelo relacional no permite relaciones M:N, por eso a
veces hay que crear nuevas tablas (auxiliares) como puentes
entre una tabla y otras
Ejemplo de la Videoteca:
tabla clientes (cada cliente es nico)
tabla pelculas (cada pelcula es nica)
Problema: Como modelar el caso en que una pelcula esta en manos de
muchos clientes, y que cada cliente puede haber alquilado muchas
pelculas?
Solucin: nueva tabla movimientos, con campos en comn con
clientes y pelculas
Claves
Para enlazar tablas mediante un campo en comn
Claves primarias (campo nico), como DNI en la tabla
clientes
Claves externas (forneas), como DNI en la tabla
movimientos
Ejemplo de Neptuno en Access
6
13/02/2017
7
13/02/2017
Lenguaje de manipulacin de
datos (DML)
Las sentencias de lenguaje de manipulacin de
datos (DML) son utilizadas para gestionar datos
dentro de las vistas. Algunos ejemplos:
SELECT - para obtener datos de una base de
datos.
INSERT - para insertar datos a una tabla.
UPDATE - para modificar datos existentes dentro
de una tabla.
DELETE - elimina todos los registros de la tabla; no
borra los espacios asignados a los registros.
Palabras reservadas
Adicional a los comandos, existen varias palabras
reservadas para usos especficos, de tal manera
que no pueden ser usadas como nombres de
variables o en ningn otro caso.
8
13/02/2017
Tipos de datos
Numricos
Cadenas
Booleanos
Fecha y hora
Intervalos
Otros
Real
DoublePrecision
Float
9
13/02/2017
Cadenas
Character o Char
Character Varying
Character Large Object
10
13/02/2017
Otro ejemplo
CREATE TABLE CUSTOMER (
CustomerID INTEGER NOT NULL,
FirstName CHARACTER (15),
LastName CHARACTER (20) NOT NULL,
Street CHARACTER (25),
City CHARACTER (20),
State CHARACTER (2),
Zipcode INTEGER,
Phone CHARACTER (13) ) ;
Ejercicio
11
13/02/2017
Ejercicio
Obtener los nombres de los productos de la tienda.
Obtener los nombres y los precios de los productos
de la tienda.
Obtener el nombre de los productos cuyo precio
sea menor o igual a 200
Obtener todos los datos de los artculos cuyo precio
est entre los 60 y los 120 (ambas cantidades
incluidas).
Respuestas
1.
SELECT Nombre, Precio
FROM ARTICULOS
WHERE Precio = (SELECT MIN(Precio) FROM
ARTICULOS)
2.
UPDATE ARTICULOS
SET Precio = Precio - 20
WHERE Precio >= 200
12
13/02/2017
Ejercicios
Respuestas
SELECT SUM(Presupuesto) FROM DEPARTAMENTO
SELECT *
FROM DEPARTAMENTOS
WHERE Presupuesto >
(
SELECT AVG(Presupuesto)
FROM DEPARTAMENTOS
)
13
13/02/2017
Respuestas
UPDATE DEPARTAMENTOS SET Presupuesto =
Presupuesto * 0.95
14