Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Introducción a SQL
Luis Valencia Cabrera (
[email protected])
Research Group on Natural Computing
Departamento de Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
02-12-2020, Bases de Datos
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Índice
Introducción
1
2 Data Definition Language
3 Data Manipulation Language
4 Select
5 Group by
6 Joins
7 Otros
8 Bibliografía
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Índice
Introducción
1
2 Data Definition Language
3 Data Manipulation Language
4 Select
5 Group by
6 Joins
7 Otros
8 Bibliografía
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
SQL
SQL (Structured Query Language) es el lenguaje estándar de
las bases de datos relacionales. Es un lenguaje declarativo que
permite especificar diversos tipos de operaciones sobre éstas.
Es capaz de conjugar las operaciones del álgebra y el cálculo
relacional con operadores adicionales, y definir así consultas
para recuperar o modificar información de bases de datos, así
como hacer cambios en ellas.
Pero no sólo incluye consulta. SQL está compuesto por
comandos, cláusulas, operadores y funciones de agregado. En
conjunto, disponemos de instrucciones para definir (crear y
modificar el esquema), mantener (insertar, actualizar,
eliminar) y consultar BBDD relacionales.
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Origen
1970: E.F. Codd (IBM) presenta modelo relacional.
Junto al modelo teórico, propuso el lenguaje DSL/Alpha.
IBM creó versión simplificada: SQUARE.
Más tade lanzaron SEQUEL1, mejora de SQUARE.
Finalmente, SEQUEL (Structured English Query Language) se
renombró como SQL.
Desde 1986 se han ido sucediendo distintas versiones del
estándar ANSI/ISO SQL, ampliamente conocido como
Structured Query Language.
1Donald D. Chamberlin and Raymond F. Boyce. 1974. SEQUEL: A
structured English query language. In Proceedings of the 1974 ACM
SIGFIDET (now SIGMOD) workshop on Data description, access and control
(SIGFIDET ’74). ACM, New York, 249–264.
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
SGBD relacionales usando SQL
Sistemas comerciales de Gestión:
Oracle Database de Oracle Corporation
SQL Server de Microsoft
DB2 Universal Database de IBM
Sybase Adaptive Server de Sybase
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
SGBD relacionales usando SQL
Sistemas comerciales de Gestión:
Oracle Database de Oracle Corporation
SQL Server de Microsoft
DB2 Universal Database de IBM
Sybase Adaptive Server de Sybase
¿MS Access?
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
SGBD relacionales usando SQL
Sistemas comerciales de Gestión:
Oracle Database de Oracle Corporation
SQL Server de Microsoft
DB2 Universal Database de IBM
Sybase Adaptive Server de Sybase
¿MS Access? Cubre gran parte de la funcionalidad del núcleo
del estándar, pero con variaciones en la sintaxis de algunos
aspectos, y quedando otras partes del estándar no cubiertas.
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
SGBD relacionales usando SQL
Sistemas comerciales de Gestión:
Oracle Database de Oracle Corporation
SQL Server de Microsoft
DB2 Universal Database de IBM
Sybase Adaptive Server de Sybase
¿MS Access? Cubre gran parte de la funcionalidad del núcleo
del estándar, pero con variaciones en la sintaxis de algunos
aspectos, y quedando otras partes del estándar no cubiertas.
Sistemas de código abierto:
Mysql → MariaDB
PostgreSQL
SQLite
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Índice
Introducción
1
2 Data Definition Language
3 Data Manipulation Language
4 Select
5 Group by
6 Joins
7 Otros
8 Bibliografía
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Comandos
Los tipos de comandos en SQL se agrupan en dos categorías o
sub-lenguajes:
DDL (Definition Data Language): permite definir el esquema
de bases de datos, creando relaciones (tablas), campos e
índices, o modificando las definiciones existentes.
DML (Data Maniplation Language): permiten generar
consultas para ordenar, filtrar y extraer datos de la base de
datos, así como insertar, modificar y eliminar registros de las
tablas.
Además está DCL, con comandos de control y seguridad de datos,
que gobiernan los privilegios de los usuarios, los controles de
acceso, ...
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Un ejemplo de DDL: creación de esquemas
Palabra reservada CREATE
El estándar SQL no dispone exactamente de sentencia de
creación de base de datos como tal.
En su lugar, define de una sentencia de creación de esquemas:
CREATE SCHEMA. Con la creación de esquemas podemos
agrupar un conjunto de elementos de la base de datos que son
propiedad de un usuario.
Conceptualmente, podemos entender que la BD contendrá
tanto la definición de los datos como los registros, logs... El
esquema únicamente establecerá la definición de la base de
datos, plasmando el diseño lógico en el SGBD concreto
especificando las relaciones (tablas) y otros objetos
relacionados (como las vistas, por ejemplo.)
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Creación de Bases de Datos
No obstante, la mayoría de SGBD incorporan sentencias de
creación de bases de datos como CREATE DATABASE. En el
caso de MySQL, lo define como sinónimo de CREATE SCHEMA.
Además de creación, dentro de DDL tenemos instrucciones
para eliminación; por ejemplo, podemos borrar un esquema o
una base de datos mediante DROP SCHEMA, e igualmente los
SGBD suelen incorporar DROP DATABASE.
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Juegos de caracteres
La codificación de caracteres nos permite introducir símbolos
propios del castellano que no corresponden a la codificación
internacional (por ejemplo la ñ).
En MySQL, podemos configurar el juego de caracteres para
toda la base de datos; por ejemplo:
CREATE DATABASE libros character set utf8;
También podemos hacer lo propio con un campo (columna),
añadiendo el juego de caracteres a continuación del tipo:
descripcion VARCHAR(50) character set utf8
Los juegos más comunes son latin1 y utf8
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Comandos DDL
CREATE TABLE, utilizado para crear tablas nuevas
DROP TABLE empleado para eliminar tablas
• Por ejemplo DROP TABLE ALUMNOS;
ALTER TABLE sirve para modificar tablas,
agregando/eliminando campos o cambiando su definición
Veamos algunos ejemplos
Para una descripción detallada de las instrucciones SQL
correspondientes se recomienda consultar este documento
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Creación de una tabla
Definición general
CREATE TABLE tabla (
definición de campos,
claves y restricciones
);
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Definición de campos
Tipos de datos
Definición:
Tipos:
nombre_campo tipo marcadores
CHAR(n) Cadenas longitud fija hasta n caracteres.
VARCHAR(n) Cadenas longitud variable hasta n caracteres.
INTEGER, BIGINT, SMALLINT, . . . Enteros.. . .
REAL Número real
DATE Fechas. Están compuestas de: YEAR, MONTH y DAY.
TIME Horas. Están compuestas de HOUR, MINUTE y SECOND.
. . . y muchos más (varían según el SGBD).
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Marcadores y restricciones
AUTO_INCREMENT - Autonumérico, secuencial que va
asignando el entero siguiente al máximo valor almacenado
para el campo.
DEFAULT val - Establece un valor por defecto al campo.
NOT NULL - No puede contener valores nulos.
PRIMARY KEY - El campo es la clave primaria no compuesta.
REFERENCES tabla [(campo)] - Clave ajena no compuesta.
CHECK (cond.) - El campo debe cumplir una condición.2
2Disponible dependiendo del SGBD y su versión
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Claves compuestas y restricciones
PRIMARY KEY (campos) - Clave primaria (compuesta o no).
FOREIGN KEY (campos) REFERENCES tabla [(campos)] -
Clave ajena (compuesta o no).
CHECK (cond.) - El campo debe cumplir una condición.3
Tanto a las claves primarias y ajenas como a los chequeos de
condición se les puede anteponer la partícula
CONSTRAINT nombre, para nombrar la restricción.
3Disponible dependiendo del SGBD y su versión
Luis Valencia Cabrera (
[email protected])
Introducción a SQL
Bases de Datos
Introducción
DDL
DML
Select
Group by
Joins
Otros
Biblio
Creación de una tabla
Ejemplo bási
Comentarios de: Introducción a SQL (0)
No hay comentarios