0% encontró este documento útil (0 votos)
26 vistas

Intro SQL

rr

Cargado por

Pablo Estrada
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas

Intro SQL

rr

Cargado por

Pablo Estrada
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

13/02/2017

BASES DE DATOS Y SQL


Alejandra Silva

Repaso de comandos SQL


DDL:
CREATE <tabla>

DROP <tabla>

DML:
SELECT <columna(s) de datos>

FROM <tabla(s)>

WHERE <condicin lgica>

1
13/02/2017

Ejemplos del sintaxis SQL

create table zona (


IdZona smallint not null unique,
NomZona char(30) not null unique,
Superf smallint,
IdOfCD smallint not null
);
create table tipo (
IdTipo smallint not null unique,
DescTipo char(30) not null unique
);

Select

Empezaremos por estudiar la sentencia SELECT, que permite recuperar


datos de una o varias tablas. La sentencia SELECT es con mucho la ms
compleja y potente de las sentencias SQL. Empezaremos por ver las
consultas ms simples, basadas en una sola tabla.
Esta sentencia forma parte del DML (lenguaje de manipulacin de datos),
en este tema veremos cmo seleccionar columnas de una tabla, cmo
seleccionar filas y cmo obtener las filas ordenadas por el criterio que
queramos.
El resultado de la consulta es una tabla lgica, porque no se guarda en el
disco sino que est en memoria y cada vez que ejecutamos la consulta se
vuelve a calcular.
Cuando ejecutamos la consulta se visualiza el resultado en forma de tabla
con columnas y filas, pues en la SELECT tenemos que indicar qu columnas
queremos que tenga el resultado y qu filas queremos seleccionar de la
tabla origen.

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:

FROM especificacin de tabla


Una especificacin de tabla puede ser el nombre de una consulta
guardada (las que aparecen en la ventana de base de datos), o el nombre
de una tabla que a su vez puede tener el siguiente formato:

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.

Se utiliza el asterisco * en la lista de seleccin para indicar 'todas las


columnas de la tabla'.
Tiene dos ventajas:
Evitar nombrar las columnas una a una (es ms corto).
Se puede combinar el * con el nombre de una tabla (ej. oficinas.*), pero
esto se utiliza ms cuando el origen de la consulta son dos tablas.

Columnas de tabla origen


Las columnas se pueden especificar mediante su
nombre simple (nbcol) o su nombre cualificado.

Cuando es cualificado debo colocar primero el


nombre de la tabla seguido de un punto.

Alumnos.nombre, Alumnos.edad, Alumnos.fecha_nac

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.

SELECT idfab AS fabricante, idproducto, descripcion


FROM productos

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

Diseo de la Base de Datos


Cuales son las entidades (y sus atributos) de importancia
Cuales son las relaciones entre ellas
Creacin de modelos E-R
Luego disear una base de datos fsica de acuerdo con el
modelo
Este diseo NO es una tarea trivial

Lenguaje de definicin de datos


(DDL)
Las sentencias DDL se utilizan para crear y modificar la
estructura de las tablas as como otros objetos de la base de
datos.
CREATE - para crear objetos en la base de datos.
ALTER - modifica la estructura de la base de datos.
DROP - borra objetos de la base de datos.
TRUNCATE - elimina todos los registros de la tabla, incluyendo
todos los espacios asignados a los registros.
DELETE - elimina todos los registros de la tabla; no borra los
espacios asignados a los registros.

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.

Select select from select where select = where;

8
13/02/2017

Tipos de datos
Numricos
Cadenas
Booleanos
Fecha y hora
Intervalos

Tipos de datos - Numricos


Integer - No tiene parte decimal.
Smallint - tambin es de enteros.
Bigint
Numeric (p, s) Precisin y escala.
Decimal (p, s)

Otros
Real
DoublePrecision
Float

9
13/02/2017

Cadenas
Character o Char
Character Varying
Character Large Object

Ejemplo CREATE TABLE


CREATE TABLE CUSTOMER (
CustID INTEGER PRIMARY KEY,
LastName CHARACTER (25),
FirstName CHARACTER (20),
Address CHARACTER (20)
Phone CHARACTER (15)
);

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

También podría gustarte