Está en la página 1de 4

Lección 09 : Restricciones TALLERES ORACLE

CONSTRAINTS ( RESTRICCIONES )
Las restricciones o Constraints son un mecanismo de seguridad y
protección en las bases de datos por ejemplo para evitar insertar
valores nulos en determinados campos de la tabla o evitar la
duplicidad errónea de filas.
Asimismo, permite plasmar en el Modelo de Datos, las reglas que son
necesarias cumplir para garantizar un correcto flujo de información en
el NEGOCIO.

Tipos de Constraints:
DEFAULT
NOT NULL
CHECK
PRIMARY KEY
FOREIGN KEY

Los contraints se puede crean durante la creación de la tabla o


después de ser creadas.

--------------------------------------------------
-- 1. CREACION DE CONSTRAINT A NIVEL DE CAMPO
--------------------------------------------------
CREATE TABLE ARTICULO
( IDARTICULO INTEGER PRIMARY KEY,
DESCRIPCION CHAR(50) NOT NULL,
ESTADO INTEGER );

--------------------------------------------------
-- 2. CREACION DE CONSTRAINT A NIVEL DE TABLA
--------------------------------------------------
CREATE TABLE CURSO
( IDCURSO INTEGER ,
DESCRIPCION CHAR(50) NOT NULL,
ESTADO INTEGER ,
CONSTRAINT CONS_PK_CURSO PRIMARY KEY (IDCURSO));

--------------------------------------------------
-- 3. CONSULTANDO LOS CONSTRAINTS
--------------------------------------------------
SELECT * FROM DBA_CONSTRAINTS WHERE TABLE_NAME = 'CURSO';

SELECT * FROM DBA_CONSTRAINTS


WHERE TABLE_NAME = 'ARTICULO';

WWW.TALLERESORACLE.COM VERSION : 2023-01


Lección 09 : Restricciones TALLERES ORACLE

--------------------------------------------------
-- 4. PRIMARY KEY, NOT NULL, DEFAULT, CHECK
--------------------------------------------------
CREATE TABLE ALUMNO
( IDALUMNO INTEGER PRIMARY KEY,
PATERNO CHAR(50) NOT NULL,
MATERNO CHAR(50) NOT NULL,
NOMBRE CHAR(50) NOT NULL,
DNI CHAR(8) UNIQUE,
FECNAC DATE NOT NULL,
EDAD INTEGER CHECK( EDAD > 18 ),
ESTADO INTEGER DEFAULT 1 );

SELECT * FROM DBA_CONSTRAINTS WHERE TABLE_NAME = 'ALUMNO';

--------------------------------------------------
-- 5. ASIGNANDO NOMBRE A CONSTRAINT A NIVEL DE COLUMNA
--------------------------------------------------
CREATE TABLE EMPLEADO
( IDEMPLEADO INTEGER ,
PATERNO VARCHAR(50) NOT NULL,
MATERNO VARCHAR(50) NOT NULL,
NOMBRE VARCHAR(50) NOT NULL,
SUELDO INTEGER CONSTRAINT CK_NN NOT NULL );

SELECT * FROM DBA_CONSTRAINTS


WHERE TABLE_NAME = 'EMPLEADO';

Registrar en : https://bit.ly/3bf3gkm

REQUERIMIENTO 01:
a. Crear la tabla : PROVEEDOR
Campos :

Nombre tipo CONSTRAINT Nombre

Idproveedor integer primary key pk_proveedor


Razsoc varchar(100) not null k_nn_razsoc
RUC varchar(12) unique k_u_ruc
ESTADO integer

a. Consultar los constraints de la tabla PROVEEDOR.


b. Ingrese datos a la tabla y compruebe los constraints.

WWW.TALLERESORACLE.COM VERSION : 2023-01


Lección 09 : Restricciones TALLERES ORACLE

--------------------------------------------------
-- 6. ELIMINAR CONSTRAINT
--------------------------------------------------

ALTER TABLE EMPLEADO DROP CONSTRAINT CK_NN;

SELECT * FROM DBA_CONSTRAINTS


WHERE TABLE_NAME = 'EMPLEADO';

--------------------------------------------------
-- 7. DESACTIVAR CONSTRAINT
--------------------------------------------------
ALTER TABLE EMPLEADO DISABLE CONSTRAINT SYS_C009425;

SELECT * FROM DBA_CONSTRAINTS


WHERE TABLE_NAME = 'EMPLEADO';

REQUERIMIENTO 02:
a. Eliminar el constraint “k_nn_razsoc” de la tabla PROVEEDOR

b. Desactivar el constraint unique.

c. Consultar los constraints de la tabla PROVEEDOR

--------------------------------------------------
-- 8. CONSTRAINT DEL TIPO FOREIGN KEY
--------------------------------------------------
Crear la relación entre la tabla CATEGORIAS y ARTICULOS

ALTER TABLE ARTICULOS


ADD CONSTRAINT FK_ART_CAT
FOREIGN KEY ( CODCATEGORIA )
REFERENCES CATEGORIAS ( CODCATEGORIA );

WWW.TALLERESORACLE.COM VERSION : 2023-01


Lección 09 : Restricciones TALLERES ORACLE

--------------------------------------------------
-- 9. Consultar los constraints de las tablas
--------------------------------------------------
SELECT * FROM DBA_CONSTRAINTS
WHERE TABLE_NAME IN ( 'ARTICULOS' , 'CATEGORIAS')
ORDER BY TABLE_NAME ;

WWW.TALLERESORACLE.COM VERSION : 2023-01

También podría gustarte