Está en la página 1de 9

Restricciones CHECK

Restricciones CHECK
lvaro Herrera

13 de noviembre de 2004

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Qu son

Restricciones

Aplicadas a columnas de una tabla


Verificadas cada

I
I

INSERT
UPDATE

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Para qu sirven

Mantencin de la integridad

Medida bsica (despus de llaves forneas)

Restringir valores lo ms posible

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Cmo se implementan CREATE TABLE

En CREATE TABLE
CREATE TABLE ... (
nombre tipo restriccion ...
)
donde restriccin es
CONSTRAINT nombre CHECK condicion

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Cmo se implementan ALTER TABLE

Usando ALTER TABLE


ALTER TABLE tabla
ADD CONSTRAINT foo
CHECK condicion

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Ejemplos Trivial

CREATE TABLE ... (


campo1 INTEGER NOT NULL,
campo2 INTEGER CHECK (campo2 IS NOT NULL),
...
);

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Ejemplos Con ALTER TABLE

CREATE TABLE foobar (


campo1 INTEGER NOT NULL,
campo2 INTEGER,
...
);
ALTER TABLE foobar
ADD CONSTRAINT campo2_positivo
CHECK (campo2 > 0)

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

Ejemplos Restringiendo el Dominio

CREATE TABLE foobar (


campo1 INTEGER CHECK
(campo1 > 20 AND campo1 < 100),
...
);

lvaro Herrera

Restricciones CHECK

Restricciones CHECK

Qu son
Para Que Sirven
Cmo Se Implementan
Ejemplos

RUT

CREATE TABLE personas (


rut INTEGER CHECK
(rut IS NULL = dv IS NULL),
dv CHAR(1) CHECK
(dv = digitoVerificador(rut)),
...
);

lvaro Herrera

Restricciones CHECK

También podría gustarte