Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

Documentos relacionados
Lenguaje SQL (2ª Parte) Definición de datos

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 3: El lenguaje SQL. 2ª Parte: Definición de datos 10 DE ABRIL DE 2000

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

Tema II: El modelo relacional de datos. (2.7) Automatización

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Práctica 3: El lenguaje SQL (2ª parte). Definici ón de datos. Programa de prácticas: Lenguaje SQL: manipulación de datos. definición de datos

Práctica 3: El lenguaje SQL (2ª parte). Definici ón de datos. Programa de prácticas: Lenguaje SQL: manipulación de datos. definición de datos

Diseño de bases de datos

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Triggers. BASES DE DATOS Mercedes García Merayo

Tema 5. Lenguaje de Definición de Datos

Tema II: El modelo relacional de datos Objetivos:

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

A. Introducción. B. Los DATABASES TRIGGERS. PL/SQL en objetos de la base de datos. Oracle 11g - SQL, PL/SQL, SQL*Plus 271

BD Activas: Motivación

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Solución Ejercicio Prac. 3b (Esquema).

Introducción a SQL (DDL)

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Práctica 3: El lenguaje SQL (2ª parte). (7ª sesión).

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Departamento de Lenguajes y Sistemas Informáticos

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Unidad III. Bases de Datos

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Ambos conjuntos son completamente distintos: propósito, acciones,... L M D. datos

Tema: DISPARADORES (TRIGGERS)

Diseño de bases de datos

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

BASES DE DATO TO I VISTAS curso 2008

La sintaxis de un trigger a nivel de registro es:

GBD Diseño físico de DDBB

(LDD) VARCHAR2 (n) : alfanumérico (hasta 240) NUMBER (n,p) : números con signo y punto decimal

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández

Unidad 6. Procedimientos Almacenados y Disparadores

Los disparadores pueden emplearse para muchas cosas diferentes, incluyendo:

RESTRICCIONES DE DOMINIOS

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003

Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers. Tecnólogo en Informática, sede Paysandú Bases de Datos 2

Solució Exercici Prac. 3b (Esquema).

Bases de Datos Relacionales y SQL: Una Introducción

FUNDAMENTOS ORACLE 12C

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Manejo de Tablas y Llaves Foráneas

6.1. Introducción. Guía 5. SQL.

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

Refactorización en Base de Datos. mayo de 2008

SQL: Lenguaje de Interrogación Estructurado

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

MATERIAL SOBRE SENTENCIAS SQL

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

CERTIFICADO DE PROFESIONALIDAD IFCD0112

Ejercicios SQL - Definición de Datos - Solución

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio.

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000

INDICE CARTAS DESCRIPTIVAS S3

ejemplos de consultas SQL para obtener claves, DF y DMV en la BD de prendas de ropa

Oracle Database 12c SQL and PLSQL Fundamentals

Diseño Lógico Específico. Diseño Lógico Tema 13

Restricciones de Integridad

2.5.- El lenguaje estándar SQL

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Integridad en sistemas de bases de datos relacionales

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Guía práctica SQL. (c) Francisco Charte Ojeda

Disparadores en ORACLE. Disparadores Tema 11

SQL: Vistas, Triggers, y Procedimientos Almacenados

ELEMENTOS DE BASES. Restricciones de dominio. Mecanismos de integridad. SQL Restricciones en el esquema de relación. Integridad de Entidad

Universidad Nacional de Costa Rica Administración de Bases de Datos

Examen 24/6/97. Cuestionario de Bases de Datos: Nota del Test: 3.5 puntos (0.25 por cuestión). Cada 3 cuestiones incorrectas anulan 1 correcta.

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n.

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

Integridad Referencial. Restricciones (constraints)

El lenguaje SQL III: Creación de bases de datos y seguridad. Introducción

Desarrollo Web en Entorno Servidor

Introducción a PL/SQL

Grupo Kybele, Pág. 1

Modelo Relacional Larry Ellison:

Introducción a Oracle PL / SQL 12c

Disparadores en ORACLE

Consultas Complejas:

RESUMEN DEL LENGUAJE SQL

Seguridad. Bibliografía: Introducción a los sistemas de bases de datos -C.J. Date

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.

Transcripción:

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos Objetivos Presentar la sintaxis de creación de tablas Diferencia con SQL/92 Presentar la sintaxis de la modificación de definición de una tabla Presentar la sintaxis de la creación de una vista Presentar la sintaxis para otorgar autorizaciones Presentar la sintaxis para la creación de reglas de actividad (disparadores) Todo ello para el sistema Oracle9 27/04/2006 Bases de Datos 2

Creación de una tabla definición_relación_básica ::= CREATE TABLE nom_relación (comalista_elemento_relación_básica) elemento_relación_básica ::= definición_atributo restricción_relación definición_atributo ::= nom_atributo tipo_datos [DEFAULT (expresión)] [lista_restricción_atributo] tipo_datos::= CHAR (longitud) VARCHAR (longitud) NUMBER [(precisión[, escala])] DATE 27/04/2006 Bases de Datos 3 Creación de una tabla restricción_atributo ::= [CONSTRAINT nombre_restricción] {[NOT] NULL UNIQUE PRIMARY KEY REFERENCES nom_relación* [(nom_atributo*)] [ON DELETE CASCADE] CHECK (condición) } [cuando_comprobar] 27/04/2006 Bases de Datos 4

Creación de una tabla restricción_relación ::= [CONSTRAINT nombre_restricción] { UNIQUE (comalista_nom_atributo) PRIMARY KEY (comalista_nom_atributo) FOREIGN KEY (comalista_nom_atributo) REFERENCES nom_relación* [(comalista_nom_atributo*)] [ON DELETE CASCADE] CHECK (condición)} [cuando_comprobar] cuando_comprobar:= [NOT] DEFERRABLE [INITIALLY {INMEDIATE DEFERRED}] 27/04/2006 Bases de Datos 5 Creación de una tabla Tipos de datos: Numéricos: NUMBER [(precisión[, escala])] NUMBER (precisión): entero NUMBER (precisión, escala): real Alfanuméricos: CHAR (longitud) VARCHAR (longitud) o VARCHAR2 (longitud) Fechas: DATE 27/04/2006 Bases de Datos 6

Creación de una tabla DEFAULT: La expresión de la cláusula DEFAULT se construye a partir de constantes de los tipos de datos predefinidos, operadores y funciones del sistema siguiendo la sintaxis adecuada en cada Integridad referencial: débil y borrado en cascada CHECK: expresión lógica sólo pueden aparecer columnas de la tabla donde se define no puede incluir subconsultas la tabla satisface la condición si se evalúa a cierto o indefinido para toda fila de la misma 27/04/2006 Bases de Datos 7 Creación de una tabla DEFERRABLE: permite que indicarle al sistema si la restricción se comprueba al final de la transacción o después de cada instrucción de actualización SET CONSTRAINT {DEFERRED INMEDIATE} 27/04/2006 Bases de Datos 8

Creación de una tabla. Ejemplo CREATE TABLE ciclista ( dorsal NUMBER(3) PRIMARY KEY, nombre VARCHAR2(30) NOT NULL, edad NUMBER(2), nomeq VARCHAR(25) NOT NULL REFERENCES equipo (nomeq)); CREATE TABLE etapa ( netapa NUMBER(2) PRIMARY KEY, km NUMBER(3), salida VARCHAR(35), llegada VARCHAR(35), dorsal NUMBER(3) REFERENCES ciclista (dorsal)); 27/04/2006 Bases de Datos 9 Diferencia con el SQL/92 restricción_relación ::= [CONSTRAINT nombre_restricción] { UNIQUE (comalista_nom_atributo) PRIMARY KEY (comalista_nom_atributo) FOREIGN KEY (comalista_nom_atributo) REFERENCES nom_relación* [(comalista_nom_atributo*)] [tipo_integridad_referencial] [directriz_borrado] [directriz_modificación] CHECK (condición)} [cuando_comprobar] 27/04/2006 Bases de Datos 10

Diferencia con el SQL/92 restricción_atributo ::= [CONSTRAINT nombre_restricción] {[NOT] NULL UNIQUE PRIMARY KEY REFERENCES nom_relación* [(nom_atributo*)] [directriz_borrado] [directriz_modificación] CHECK (condición) } [cuando_comprobar] 27/04/2006 Bases de Datos 11 Diferencia con el SQL/92 tipo_integridad_referencial ::= MATCH { FULL PARTIAL} directriz_borrado ::= ON DELETE { CASCADE SET NULL SET DEFAULT NO ACTION} directriz_actualización ::= ON UPDATE { CASCADE SET NULL SET DEFAULT NO ACTION} 27/04/2006 Bases de Datos 12

Modificación de la definición de una tabla modificación_relación::= ALTER TABLE nombre_relación {ADD (comalista_elemento_relación_básica) /*Añadir nuevos atributos o restricciones*/ MODIFY (comalista_definición_atributo) /*Modificar la definición de atributos*/ {DROP /*Borrar una restricción*/ [VALIDATE NOVALIDATE] ENABLE DISABLE } (restricción) } /*Activar (desactivar) una restrición de integridad*/ restricción::= {PRIMARY [CASCADE] UNIQUE (comalista_nombre_atributo) [CASCADE] CONSTRAINT nombre_restricción } 27/04/2006 Bases de Datos 13 Eliminación de una tabla eliminación_relación::= DROP TABLE nombre_relación [CASCADE CONSTRAINTS] 27/04/2006 Bases de Datos 14

Definición de vistas definición_vista::= CREATE [OR REPLACE] VIEW nombre_vista [(comalista_nombre_atributo)] AS sentencia_select [WITH CHECK OPTION] eliminación_vista::= DROP VIEW nombre_vista 27/04/2006 Bases de Datos 15 Definición de vistas. Ejemplo CREATE VIEW etapas_con_puertos (netapa, salida, llegada) AS SELECT distinct netapa, salida, llegada FROM Etapa E, Puerto P WHERE E.netapa=P.netapa 27/04/2006 Bases de Datos 16

Definición de vistas: vistas actualizables Motivos por los que una vista no es actualizable: contiene operadores conjuntistas (UNION, INTERSECT, el operador DISTINCT funciones agregadas (SUM, AVG,..) la cláusula GROUP BY 27/04/2006 Bases de Datos 17 Definición de vistas: vistas actualizables Vista sobre una tabla básica: el sistema traducirá la actualización sobre la vista en una operación de actualización sobre la relación básica siempre que no se viole ninguna restricción de integridad definida sobre dicha relación 27/04/2006 Bases de Datos 18

Definición de vistas: vistas actualizables Vista sobre una concatenación de relaciones: la actualización sólo puede modificar UNA de las tablas básicas actualización modificará la relación básica que cumpla la propiedad de conservación de la clave (aquella relación tal que su clave primaria podría ser también clave de la vista) la actualización no se realizará si viola alguna de las restricciones definidas sobre la relación básica que se va a actualizar 27/04/2006 Bases de Datos 19 Definición de privilegios definición_operación_grant::= GRANT comalista_privilegios_objeto ON usuario.objeto TO {PUBLIC comalista_usuario} /*PUBLIC : trasmite los privilegios a todos los usuarios*/ [WITH ADMIN OPTION] /*permiso para ceder privilegios a terceros*/ privilegio_objeto::= { ALTER EXECUTE INDEX INSERT READ REFERENCES SELECT UPDATE DELETE} definición_operación_revoke::= REVOKE {comalista_privilegios_objeto ALL PRIVILEGES} ON usuario.objeto FROM {PUBLIC comalista_usuario} [WITH ADMIN OPTION] 27/04/2006 Bases de Datos 20

Definición de privilegios Ejemplo 1: Dar permisos de inserción y borrado en ciclista a todo el mundo: GRANT INSERT, DELETE ON ciclista TO PUBLIC Ejemplo 2: Dar permisos de consulta en etapa al usuario pepe, dándole permiso de que a su vez pueda conceder permisos a otros usuarios: GRANT SELECT ON etapa TO pepe WITH ADMIN OPTION 27/04/2006 Bases de Datos 21 Definición de reglas de actividad: disparadores Define el comportamiento activo del sistema. Aplicaciones: comprobación de restricciones de integridad control de la seguridad definición de reglas de funcionamiento de la organización mantenimiento de información derivada 27/04/2006 Bases de Datos 22

Definición de reglas de actividad: disparadores Forma de una regla de actividad: Evento - Condición - Acción acción que el sistema ejecuta cuando como respuesta a la ocurrencia de un evento cuando cierta condición se satisface. En Oracle: evento: operación de actualización condición: expresión lógica del SQL acción: procedimiento escrito en PL/SQL (incluye instrucción de manipulación de la BD) 27/04/2006 Bases de Datos 23 Definición de reglas de actividad definición_regla::= {CREATE REPLACE} TRIGGER nombre_regla {BEFORE AFTER INSTEAD OF} evento [disyunción_eventos] ON {nombre_relación nombre_vista} [ [REFERENCING OLD AS nombre_referencia [NEW AS nombre_referencia] ] [FOR EACH {ROW STATEMENT} [WHEN ( condición ) ] ] bloque PL/SQL disyunción_eventos ::= OR evento [disyunción_eventos] evento ::= INSERT DELETE UPDATE [OF comalista_nombre_atributo] 27/04/2006 Bases de Datos 24

Definición de reglas de actividad BEFORE AFTER FOR EACH STATEMENT La regla se ejecuta una vez antes de la ejecución de la operación de actualización La regla se ejecuta una vez después de la ejecución de la operación de actualización FOR EACH ROW La regla se ejecuta una vez antes de actualización de cada tupla afectada por la operación de actualización La regla se ejecuta una vez después de actualización de cada tupla afectada por la operación de actualización 27/04/2006 Bases de Datos 25 Definición de reglas de actividad EVENTOS {BEFORE AFTER INSTEAD OF} evento [disyunción_eventos] ON {nombre_relación nombre_vista} disyunción_eventos ::= OR evento [disyunción_eventos] evento ::= INSERT DELETE UPDATE [OF comalista_nombre_atributo] 27/04/2006 Bases de Datos 26

Definición de reglas de actividad EVENTOS Parametrización de eventos: los eventos de las reglas FOR EACH ROW están parametrizados pametrización implícita: evento INSERT o DELETE: n (n grado de la relación) evento UPDATE: 2*n nombre de parámetros: evento INSERT: NEW evento DELETE: OLD evento UPDATE: OLD y NEW se pueden usar en la condición de la regla se pueden usar en el bloque PL/SQL 27/04/2006 Bases de Datos 27 Definición de reglas de actividad CONDICIONES WHEN (condición) expresión lógica de sintaxis similar a la condición de la cláusula WHERE de la instrucción SELECT no puede contener subconsultas ni funciones agregadas sólo se puede hacer referencia a los parámetros del evento 27/04/2006 Bases de Datos 28

Definición de reglas de actividad ACCIONES bloque PL/SQL bloque escrito en el lenguaje de programación de Oracke PL/SQL sentencias de manipulación de la BD: INSERT, DELETE, UPDATE, SELECT... INTO... sentencias de programa: asignación, selección, iteración sentencias de manejo de errores sentencias de entrada/salida 27/04/2006 Bases de Datos 29 Definición de reglas de actividad Lenguaje de reglas: Creación: CREATE TRIGGER nombre_regla... Eliminación: DROP TRIGGER nombre_reglas Modificación: REPLACE TRIGGER nombre_regla... Recompilación: ALTER TRIGGER nombre_regla COMPILE Des/Habilitar regla: ALTER TRIGGER nombre_regla [ENABLE DISABLE] Des/Habilitar todas las reglas sobre una relación: ALTER TABLE nombre_relación [{ENABLE DISABLE} ALL TRIGGERS] 27/04/2006 Bases de Datos 30

Definición de reglas de actividad a) La siguiente regla define en el esquema de la base de datos el siguiente comportamiento activo: después de cada inserción en la relación R hacer una copia de la tupla insertada en la relación R_copia. (El esquema de R es R(A:dom_A, B:dom_B) ) CREATE TRIGGER T1 AFTER INSERT ON R FOR EACH ROW BEGIN INSERT INTO R_copia VALUES(:NEW.A, :NEW.B); END; 27/04/2006 Bases de Datos 31 Definición de reglas de actividad b) La siguiente regla define en el esquema de la base de datos el siguiente comportamiento activo: después de cada operación de actualización de la relación R registrar la información sobre el usuario y la fecha de la actualización en la relación R_control CREATE TRIGGER T2 AFTER INSERT OR UPDATE OR DELETE ON R FOR EACH STATMENT BEGIN INSERT INTO R_control VALUES(user, sysdate); END; (user y sysdate son funciones del sistema que devuelven respectivmente el usuario de la sesión y la fecha del sistema) 27/04/2006 Bases de Datos 32

Definición de reglas de actividad c) La siguiente regla define en el esquema la restricción: No se puede insertar en la relación R una tupla si existe en la relación S CREATE TRIGGER T3 AFTER INSERT ON R FOR EACH ROW DECLARE Aux NUMBER; BEGIN SELECT Count(*) INTO Aux FROM S WHERE :NEW.A=S.A; IF Aux>0 THEN RAISE_APPLICATION_ERROR(-20000, No se puede realizar esta operación ); END IF; END; 27/04/2006 Bases de Datos 33 Ejercicios (Práctica nº3, 2ª parte) Diseñar la base de datos de una pequeña biblioteca: consultar los datos de un libro: código del libro, título, autor(es), temática y en caso de estar prestado, el socio que lo tiene actualmente en préstamo consultar la información sobre un socio: código del socio, nombre, dirección, teléfono y libros que actualmente tiene en préstamo así como la fecha de préstamo consultar los préstamos históricos de un socio: código del libro, fecha del préstamo y fecha de la devolución dar de alta, dar de baja y modificar los datos de un socio gestionar los préstamos: prestar un libro a un socio y registrar la devolución de un libro. (se supone que un préstamo dura al menos un día, es decir un libro no se puede prestar el mismo día más de una vez). 27/04/2006 Bases de Datos 34

Ejercicios (Práctica nº3, 2ª parte) Diseñar la base de datos de una pequeña biblioteca: restricciones el código del libro identifica unívocamente al libro el código del socio identifica unívocamente al socio el conjunto de temas utilizados para clasificar un libro son: física, electricidad, mecánica y óptica la fecha de devolución de un libro debe ser posterior a la fecha de préstamo el número total de libros que tiene prestados un socio es un dato derivado que será mantenido automáticamente por el sistema 27/04/2006 Bases de Datos 35 Ejercicios (Práctica nº3, 2ª parte) Tareas: a) Definir el esquema relacional de la base datos anterior (usando los conceptos del modelo relacional b) Definir la base de datos en el sistema ORACLE9 c) Realizar actualizaciones y consultas sobre la base de datos creada 27/04/2006 Bases de Datos 36

Diferencia con el SQL/92 esquema ::= CREATE SQUEME [esquema] [AUTORIZATION usuario] lista_elemento_esquema elemento_esquema ::= { definición_dominio definición_relación_básica definición_vista definición_restricción definición_privilegio } 27/04/2006 Bases de Datos 37 Diferencia con el SQL/92: dominios definición_dominio ::= CREATE DOMAIN dominio [AS ] tipo_dato [DEFAULT {literal función_sistema NULL ] [definición_restricción_dominio] definición_restricción_dominio ::= [CONSTRAINT nombre ] CHECK (expresión_condicional) [cuando_comprobar] 27/04/2006 Bases de Datos 38

Diferencia con el SQL/92: relaciones restricción_relación ::= [CONSTRAINT nombre_restricción] { UNIQUE (comalista_nom_atributo) PRIMARY KEY (comalista_nom_atributo) FOREIGN KEY (comalista_nom_atributo) REFERENCES nom_relación* [(comalista_nom_atributo*)] [tipo_integridad_referencial] [directriz_borrado] [directriz_actualización] CHECK (condición)} [cuando_comprobar] 27/04/2006 Bases de Datos 39 Diferencia con el SQL/92:relaciones restricción_atributo ::= [CONSTRAINT nombre_restricción] {[NOT] NULL UNIQUE PRIMARY KEY REFERENCES nom_relación* [(nom_atributo*)] [directriz_borrado] [directriz_actualización] CHECK (condición) } [cuando_comprobar] 27/04/2006 Bases de Datos 40

Diferencia con el SQL/92: relaciones tipo_integridad_referencial ::= MATCH { FULL PARTIAL} directriz_borrado ::= ON DELETE { CASCADE SET NULL SET DEFAULT NO ACTION} directriz_actualización ::= ON UPDATE { CASCADE SET NULL SET DEFAULT NO ACTION} 27/04/2006 Bases de Datos 41 Diferencia con el SQL/92: restricciones definición_restricción ::= CREATE ASSERTION restricción CHECK (expresión_condicional) [cuando_comprobar] 27/04/2006 Bases de Datos 42