Diseño de
Bases de Datos
Lenguaje SQL
Prof. Ing. Fernando Zapata
Universidad de Mendoza
Facultad de Ingeniería
Diseño de
Bases de Datos
SQL
Lenguaje SQL
SQL o Structured Query Language, es un lenguaje
diseñado para almacenar, recuperar, y administrar
información en sistemas de gestión de bases de
datos relacionales
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Inicios y Evolución del lenguaje
1970 – Edgar Frank Codd
Paradigma basado en:
Lógica de Predicados
Teoría de Conjuntos
Lenguaje SEQUEL -> SQL
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Conceptos Elementales
Algunas alternativas de uso:
Consultas aisladas
Procedimientos almacenados
Triggers
Funciones de usuario
....
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Conceptos Elementales
Estandarización
Concepto de Estandarización
ANSI, ISO, W3C, etc.
ANSI SQL
◦ ¿Debo usar lenguaje estándar?
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Evolución
AÑO NOMBRE ALIAS DETALLES
ANSI Primera publicación. Confirmada por ISO en
1986 SQL-86 SQL-87
1987.
1989 SQL-89 Revisión menor.
1992 SQL-92 SQL2 Revisión mayor.
Se agregan expresiones regulares, consultas
1999 SQL:1999 SQL2000 recursivas, triggers y algunas características de
orientación a objetos.
Características de XML, mejoras en funciones,
2003 SQL:2003 estandarización de objetos y de columnas auto-
numéricas.
ISO/IEC 9075-14:2006 Uso de SQL con XML.
Importación y guardado de datos XML, lenguaje
2006 SQL:2006
de consulta XML publicado por el W3C para
acceso concurrente a datos SQL y doc. XML.
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Conceptos Elementales
Categorías del Lengaje SQL:
DDL: Data Definition Language
DML: Data Manipulation Language
DCL: Data Control Language
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
DDL: Data Definition Language
Creación, modificación y eliminación de estructuras
CREATE -> Permite la creación de nuevas estructuras
ALTER -> Para modificar estructuras existentes
DROP -> Posibilita la eliminación de estructuras
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Creando Tablas: Tipos de Datos
Los tipos de datos constituyen la estructura o
formato físico que se utiliza para representar y
almacenar la información en la base de datos
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Creando Tablas: Tipos de Datos
Los tipos de datos constituyen la estructura o
formato físico que se utiliza para representar y
almacenar la información en la base de datos
Números Fechas/horas Caracteres
int date char
decimal time varchar
float datetime text
bit timestamp blob
… … …
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Creando Bases de Datos
CREATE DATABASE um
CHARACTER SET latin1
COLLATE latin1_bin;
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Creando Bases de Datos
CREATE DATABASE um
CHARACTER SET latin1
COLLATE latin1_bin;
DROP DATABASE um;
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Creando Bases de Datos
CREATE TABLE alumno (
alumno_id INT PRIMARY
KEY,
apellido VARCHAR(50),
nombre VARCHAR(50),
fecha_nac DATE
);
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Creando Bases de Datos
CREATE TABLE alumno (
alumno_id INT PRIMARY
KEY,
apellido VARCHAR(50),
nombre VARCHAR(50),
fecha_nac DATE
);
DROP TABLE alumno;
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
DML: Data Manipulation Language
Consultas, ingreso, modificación y eliminación de datos
SELECT -> Despliega información de una o varias tablas
INSERT -> Ingresa nuevos datos a una tabla
UPDATE -> Modifica uno o más registros de una tabla
DELETE -> Elimina uno o más registros de una tabla
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Consultando Datos
SELECT * FROM
alumno;
alumno_id apellido nombre fecha_nac
--------- -------- ------- -------------
224 García José 1990-01-25
225 Perez Juan 1990-05-15
544 Rodriguez María 1990-03-22
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Ingresando Datos en las Tablas
INSERT INTO alumno
VALUES ( ‘Perez’,
‘Juan’,
‘1990-01-25’
);
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Actualizando Datos en Tablas
UPDATE alumno
SET apellido = ‘García',
nombre = ‘José’
WHERE alumno_id= 1;
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Eliminando Información
DELETE FROM alumno WHERE apellido =
‘Perez’;
DELETE FROM alumno
DELETE FROM alumno WHERE alumno_id
= 1;
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Segmentando y Filtrando Datos
SELECT apellido, nombre FROM
alumno;
apellido nombre
-------- -------
García José
Perez Juan
Rodriguez María
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Segmentando y Filtrando Datos
SELECT * FROM alumno WHERE alumno_id
= 3;
alumno_id apellido nombre fecha_nac
--------- -------- ------- -------------
3 Rodriguez María 1990-03-22
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Segmentando y Filtrando Datos
SELECT * FROM alumno
WHERE apellido = ‘Perez’ AND nombre =‘Juan’;
alumno_id apellido nombre fecha_nac
--------- -------- ------- -------------
2 Perez Juan 1990-05-15
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos
SQL
Lenguaje SQL
hasta ahora…
o Lenguaje SQL
o DDL: Creación de estructuras de datos
o DML: Creación y edición de datos
o Consultas y filtrado sobre una tabla
Prof. Ing. Fernando Zapata - Diseño de Bases de Datos