Anexos

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};