Anexo 1
Sentencias de definición
1) Creación de esquemas:
CREATE SCHEMA {nombre_esquema | AUTHORIZATION usuario}
[lista_de_elementos_del_esquema];
2) Borrado de esquemas:
DROP SCHEMA nombre_esquema {RESTRICT|CASCADE};
3) Creación de base de datos:
CREATE DATABASE nombre_base_de_datos;
4) Borrado de bases de datos:
DROPDATABASE nombre_base_de_datos;
5) Creación de tablas
CREATE TABLE nombre_tabla
(definición_columna
[, definición_columna...]
[, restricciones_tabla]
);
Donde tenemos lo siguiente:
• definición_columna es:
nombre_columna {tipos_datos|dominio} [def_defecto] [restric_col]
• Una de las restricciones de la tabla era la definición de claves foráneas:
FOREIGN KEY clave_foranea REFERENCES tabla [(clave_primaria)]
[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
6) Modificación de una tabla:
ALTER TABLE nombre_tabla {acción_modificar_columna|
acción_modif_restricción_tabla};
Donde tenemos lo siguiente:
• acción_modificar_columna puede ser:
{ADD [COLUMN] columna def_columna|
ALTER [COLUMN] columna {SET def_defecto|DROP DEFAULT}|
DROP [COLUMN] columna {RESTRICT|CASCADE}}
• acción_modif_restriccion_tabla puede ser:
{ADD restricción|
DROP CONSTRAINT restricción {RESTRICT|CASCADE}}
7) Borrado de tablas:
DROP TABLE nombre_tabla {RESTRICT|CASCADE};
8) Creación de dominios:
CREATE DOMAIN nombre_dominio [AS] tipo_datos
[def_defecto] [restricciones_dominio];
Donde tenemos lo siguiente:
• def_defecto tiene el siguiente formato:
DEFAULT {literal|función|NULL}
• restricciones_dominio tiene el siguiente formato:
[CONSTRAINT nombre_restriccion] CHECK (condiciones)
9) Modificación de un dominio semántico:
ALTER DOMAIN nombre_dominio {acción_modificar_dominio|
acción_modif_restricción_dominio};
Donde tenemos lo siguiente:
• acción_modificar_dominio puede ser:
{SET def_defecto|DROP DEFAULT}
• acción_modif_restricción_dominio puede ser:
{ADD restricciones_dominio|DROP CONSTRAINT nombre_restricción}
10) Borrado de dominios creados por el usuario:
DROP DOMAIN nombre_dominio {RESTRICT|CASCADE};
11) Definición de una aserción:
CREATE ASSERTION nombre_aserción CHECK (condiciones);
12) Borrado de una aserción:
DROP ASSERTION nombre_aserción;
13) Creación de una vista:
CREATE VIEW nombre_vista [(lista_columnas)] AS (consulta)
[WITH CHECK OPTION];
14) Borrado de una vista:
DROP VIEW nombre_vista {RESTRICT|CASCADE};
Anexo 2
Sentencias de manipulación
1) Inserción de filas en una tabla:
INSERT INTO nombre_tabla [(columnas)]
{VALUES ({v1|DEFAULT|NULL}, ..., {{vn|DEFAULT|NULL})|};
2) Borrado de filas de una tabla
DELETE FROM nombre_tabla
[WHERE condiciones];
3) Modificación de filas de una tabla:
UPDATE nombre_tabla
SET columna = {expresion|DEFAULT|NULL}
[, columna = {expr|DEFAULT|NULL} ...]
WHERE condiciones;
4) Consultas de una base de datos relacional:
SELECT [DISTINCT] nombre_columnas_a_seleccionar
FROM tablas_a_consultar
[WHERE condiciones]
[GROUP BY atributos_según_los_cuales_se_quiere_agrupar]
[HAVING condiciones_por_grupos]
[ORDER BY columna_ordenación [DESC] [, columna [DESC]...]];
Anexo 3
Sentencias de control
1) Iniciación de transacciones:
SET TRANSACTION {READ ONLY|READ WRITE};
2) Finalización de transacciones:
{COMMIT|ROLLBACK} [WORK];
3) Autorizaciones:
GRANT privilegios ON objeto TO usuarios
[WITH GRANT OPTION];
4) Desautorizaciones:
REVOKE [GRANT OPTION FOR] privilegios ON objeto FROM usuarios
{RESTRICT|CASCADE};