UASD/ 2013-1/ INF-424/ LAB 06-1
NOMBRE Darling MATRICULA
1 0 0 4 5 1 8 1 5 Para uso
APELLIDO Fajardo del
profesor
SECCIÓN: 05 Sábados
TEMA 06: Integridad de Data (Constraints –Restricciones-)
Tiempo disponible: 60 mins.
6.1.1 En este punto del curso, ya usted ha implementado en el DBMS MySQL las tablas EMP,
DEPT y SALGRADE bajo el schema INF424DB. En este laboratorio, usted implementará las
características de calidad y restricciones de data y referenciales a las tablas siguientes:
Laboratorio 6-1 del tema Integridad de Data, Profesores Víctor Calcaño y Julio Castro, Página 1 of 3
Requerimientos
6.1.2 Escriba las sentencias SQL necesarias para realizar las siguientes restricciones
(constraints) chequeos (check) al esquema de tablas mostradas en la página anterior.
Previamente prueba cada sentencia usando MySQL:
a) El campo ENAME de la tabla EMP, no debe ser nulo:
ALTER TABLE EMP MODIFY ENAME VARCHAR(255) NOT NULL;
b) El campo JOB de la tabla EMP, no debe ser nulo:
ALTER TABLE EMP MODIFY JOB VARCHAR(255) NOT NULL;
c) El campo SAL de la tabla EMP, debe ser mayor que cero:
ALTER TABLE EMP MODIFY SAL DECIMAL(10, 2) CHECK (SAL > 0);
d) El campo COMM de la tabla EMP no debe ser nulo. Debe tener al menos el valor cero:
ALTER TABLE EMP MODIFY COMM DECIMAL(10, 2) NOT NULL DEFAULT 0;
e) El campo DEPTNO de la tabla EMP no debe ser nulo:
ALTER TABLE EMP MODIFY DEPTNO INT NOT NULL;
f) El campo DNAME y LOC de la tabla DEPT no deben ser nulos:
ALTER TABLE DEPT MODIFY DNAME VARCHAR(255) NOT NULL;
ALTER TABLE DEPT MODIFY LOC VARCHAR(255) NOT NULL;
Laboratorio 6-1 del tema Integridad de Data, Profesores Víctor Calcaño y Julio Castro, Página 2 of 3
g) Los campos LOWSAL y HISAL deben ser mayor o igual a cero:
ALTER TABLE SALGRADE MODIFY LOSAL DECIMAL(10, 2) CHECK (LOSAL >= 0);
ALTER TABLE SALGRADE MODIFY HISAL DECIMAL(10, 2) CHECK (HISAL >= 0);
6.1.3 En este punto usted reforzará la integridad referencial.
a) Escriba las sentencias necesarias para añadir claves principales a las tablas EMP, DEPT Y
SALGRADE
ALTER TABLE EMP ADD PRIMARY KEY (EMPNO);
ALTER TABLE DEPT ADD PRIMARY KEY (DEPTNO);
ALTER TABLE SALGRADE ADD PRIMARY KEY (GRADE);
b) Escriba las sentencias necesarias para reforzar la integridad referencial entre EMP y DEPT, sabiendo
que la tabla EMP contiene un campo DEPTNO que hace referencia a el departamento definido como
clave primaria en la tabla DEPT.
ALTER TABLE EMP ADD CONSTRAINT FK_DEPTNO FOREIGN KEY (DEPTNO) REFERENCES
DEPT (DEPTNO);
c) Usando el manejador MySQL Workbench, haga ingeniería inversa al esquema para conocer en
forma de modelo, como se ve su diseño físico.
Laboratorio 6-1 del tema Integridad de Data, Profesores Víctor Calcaño y Julio Castro, Página 3 of 3