Creación de restricciones en SQL
Unique:
1º Forma: con esta sintaxis podemos crear una restricción UNIQUE en la propia declaración del campo, y en la cual no vamos a usar la cláusula CONSTRAINT con la cual indicamos el nombre a la restricción. Este campo no permite valores duplicados.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) UNIQUE);
2º Forma: con esta sintaxis vamos a crear una restricción UNIQUE en la propia declaración del campo, y en la cual si se vamos a usar la cláusula CONSTRAINT con la cual indicamos el nombre a la restricción y también podemos indicar que estará activa desde la creación de la tabla.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) CONSTRAINT
DEPARTMENT_ID_UK UNIQUE ENABLE);
3º Forma: con esta sintaxis podemos crear una restricción UNIQUE luego de la declaración de los campos, y en la cual vamos a usar la cláusula CONSTRAINT con la cual indicamos el nombre a la restricción y es obligatorio indicar el nombre del campo al que vamos a aplicar la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_IDN NUMBER(4,0), CONSTRAINT
DEPARTMENT_ID_UK UNIQUE (DEPARTMENT_ID) ENABLE);
Not null:
1º Forma: con esta sintaxis podemos crear una restricción NOT NULL en la propia declaración del campo, y en la cual no vamos a utilizar la cláusula CONSTRAINT para señalar el nombre a la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) NOT NULL);
2º Forma: con esta sintaxis vamos a crear una restricción NOT NULL en la propia declaración del campo, y en la cual vamos a poder usar la cláusula CONSTRAINT para poder señalar el nombre a la restricción y también vamos a indicar que estará activa desde la creación de la tabla.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) CONSTRAINT DEPARTMENT_ID_NN NOT NULL ENABLE);
3º Forma: con esta sintaxis creamos una restricción NOT NULL a continuación de la declaración de los campos, y en la cual utilizamos la cláusula CONSTRAINT para señalar el nombre a la restricción y es de forma obligatoria indicar el nombre del campo al que se le va a aplicar la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0),
CONSTRAINT DEPARTMENT_ID_NN NOT NULL (DEPARTMENT_ID) ENABLE);
Primary key:
1º Forma: con esta sintaxis vamos a crear una restricción PRIMARY KEY en la propia declaración del campo, y en la cual no vamos a usar la cláusula CONSTRAINT para indicar el nombre a la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) PRIMARY KEY);
2º Forma: con esta sintaxis podemos realizar la creación de una restricción PRIMARY KEY en la propia declaración del campo, y en la cual si se utiliza la cláusula CONSTRAINT para indicar el nombre a la restricción y también se indica que estará activa desde la creación de la tabla.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) CONSTRAINT DEPARTMENT_ID_PK PRIMARY KEY ENABLE);
3º Forma: con esta sintaxis vamos a crear una restricción NOT NULL a continuación de la declaración de los campos, y en la cual se utiliza la cláusula CONSTRAINT para indicar el nombre a la restricción y es obligatorio indicar el nombre del campo al que se le va a aplicar la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0),
CONSTRAINT DEPARTMENT_ID_PK PRIMARY KEY (DEPARTMENT_ID) ENABLE);
Foreign key:
1º Forma: con esta sintaxis podemos crear una restricción FOREIGN KEY a continuación de la declaración de los campos, y en la cual no se utiliza la cláusula CONSTRAINT para mostrar el nombre a la restricción y es obligatorio indicar el nombre del campo al que se le va a aplicar la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0),
FOREIGN KEY (“DEPARTMENT_ID”)
REFERENCES HR.EMPLOYEES(EMPLOYEE_ID) ENABLE);
2º Forma: con esta sintaxis creamos una restricción FOREIGN KEY después de la declaración de los campos, y en la cual vamos a utilizar la cláusula CONSTRAINT para indicar el nombre a la restricción y es obligatorio indicar el nombre del campo al que se le va a aplicar la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0),
CONSTRAINT DEPARTMENT_ID_FK FOREIGN KEY (DEPARTMENT_ID)
REFERENCES HR.EMPLOYEES(EMPLOYEE_ID) ENABLE);
CHEK:
1º Forma: con esta sintaxis vamos a crear una restricción CHECK en la propia declaración del campo, y en la cual no se utiliza la cláusula CONSTRAINT para mostrar el nombre a la restricción,
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) CHECK (DEPARTMENT_ID > 1000);
2º Forma: con esta sintaxis vamos a crear una restricción CHECK en la propia declaración del campo, y en la cual si se utilizamos la cláusula CONSTRAINT para indicar el nombre a la restricción y también se indica que estará activa desde la creación de la tabla.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0) CONSTRAINT DEPARTMENT_ID_MIN CHECK (DEPARTMENT_ID > 1000) ENABLE);
3º Forma: con esta sintaxis podemos crear una restricción CHECK luego de la declaración de los campos, y en la cual se vamos a usar la cláusula CONSTRAINT para indicar el nombre a la restricción y es obligatorio indicar el nombre del campo al que se le va a aplicar la restricción.
CREATE TABLE HR.DEPARTMENTO
(DEPARTMENT_ID NUMBER(4,0),
CONSTRAINT DEPARTMENT_ID_MIN CHECK (DEPARTMENT_ID > 1000));
