1. Fundamentos de Bases de Datos
Grado en Información y Documentación, Univ. de Zaragoza
Dr. Jesús Tramullas
Structured Query
Language, SQL
2. Structured Query Language
● Lenguaje para gestión de bases de datos.
● Normas ANSI e ISO-9075 (1987).
● SQL-92, SQL-99 (SQL-2), SQL: 2003
(ISO-IEC 9075-n: 2003).
● Estándar para bases de datos
relacionales.
● Uso interactivo, embebido o por módulos.
3. Conceptos
● Catálogo: conjunto de esquemas que definen
la base de datos.
● Esquema: estructura que contiene
dscripciones de (objetos /tablas, vistas...)
● DDL: órdenes que definen la base de datos.
● DML: órdenes que manipulan y consultan la
base de datos.
● DCL: órdenes que controlan la base de datos.
5. Tipos de datos
● Caracteres: CHAR(n), VARCHAR(n),
LONG.
● Numéricos: NUMBER(p,q), INTEGER(p),
FLOAT(P).
● Fechas: DATE(dd-mm-yy).
6. Definición de la BdD
● CREATE SCHEMA: define parte de la
base de datos para un usuario particular.
● CREATE TABLE: define tabla y columnas.
● CREATE VIEW: define tabla lógica de una
o más vistas.
● ALTER TABLE, DROP TABLE.
7. Ejemplo
create table client
(
clientID int not null auto_increment primary key,
Name varchar(40),
Address varchar(100),
contactPerson varchar(80),
contactNumer char(12)
) type=InnoDB
8. Ejemplo
CREATE TABLE pieza {
codigo d_cod_pieza CONSTRAINT pieza_cp PRIMARY KEY,
desc VARCHAR(40) NOT NULL,
color CHAR(20) DEFAULT ‘indeterminado’,
peso FLOAT,
CONSTRAINT r1 CHECK(color<>’rojo’ OR peso>100)}
9. Ejemplo
create table client
(
clientID int not null auto_increment primary key,
Name varchar(40),
Address varchar(100),
contactPerson varchar(80),
contactNumer char(12)
) type=InnoDB
10. Insertar/actualizar/borrar
datos
● INSERT
– INSERT INTO CUSTOMER_T VALUES (001,
‘Contemporary Casuals’, 1355 S. Himes Blvd.’,
‘Gainesville’, ‘FL’, 32601)
● UPDATE:
– UPDATE PRODUCT_T SET UNIT_PRICE = 775 WHERE
PRODUCT_ID = 7
● DELETE
– DELETE FROM CUSTOMER_T WHERE STATE = ‘zgz’
11. Buscar y recuperar datos
● SELECT: Lista columnas que cumplen la condición
formulada, de una o varias tablas.
● FROM: Indica las tablas o vistas en las que buscar.
● WHERE: Indica las condiciones que deben cumplirse.
● GROUP BY: Agrupa resultados por criterios.
● HAVING: Condiciones para incluir un grupo.
● ORDER BY: criterios de ordenación de resultados.
13. Ejemplos
● SELECT PRODUCT_NAME,
STANDARD_PRICE FROM PRODUCT_V
WHERE STANDARD_PRICE < 275
● SELECT PRODUCT_DESCRIPTION,
PRODUCT_FINISH, STANDARD_PRICE
FROM PRODUCT_V WHERE
(PRODUCT_DESCRIPTION LIKE ‘%Desk’
OR PRODUCT_DESCRIPTION LIKE
‘%Table’) AND UNIT_PRICE > 300
15. Creación de tablas
mediante consultas
● UNION, EXCEPT, INTERSECT.
● JOIN:
– Ejemplo: SELECT número, fecha, cliente.dni,
nombre FROM pedido INNER JOIN cliente
ON cliente=dni WHERE ciudad=‘Valencia’