VISTAS
Una vista se puede considerar una tabla virtual o una consulta almacenada. Los datos
accesibles a travs de una vista no estn almacenados en otro objeto distinto de la base
de datos. Lo que est almacenado en la base de datos es una instruccin SELECT. El
resultado de la instruccin SELECT forma la tabla virtual que la vista devuelve. El usuario
puede utilizar dicha tabla virtual haciendo referencia al nombre de la vista, de la misma
forma en que se hace referencia a las tablas.
Las vistas se utilizan para alguna de estas funciones, o para todas:
Restringir al usuario a filas concretas de una tabla.
Por ejemplo, hacer que un empleado slo vea las filas que guardan sus datos en
una tabla
de seguimiento de actividad laboral (consulta con una restriccin de algunos
renglones).
Restringir al usuario a columnas especficas. (Por ejemplo, hacer que los
empleados que no trabajen en el departamento de nminas vean las columnas
nombre, oficina, telfono y departamento de la tabla de empleados, pero no vean
las columnas con los datos de salario u otra informacin personal).
Combinar columnas de varias tablas de forma que parezcan una sola tabla.
Agregar informacin en lugar de presentar los detalles.
CREATE VIEW costo_vista
AS SELECT titulo, nombre_autor, precio, id_publicacion
FROM titulo
USANDO LA BASE DE DATOS EJEMPLOCE
1 a CREAR VISTA DE TODAS LAS COLUMNAS DE LA TABLA ALUMNO CON ALUMNOS DE PROMEDIO MAYOR A 8
CREATE VIEW V_CONSULTA1 AS
SELECT *
FROM ALUMNO
WHERE PROMEDIO > 8
1 b CREAR VISTA DE 2 COLUMNAS (CVE_SECUENCIA Y CVE_UAP)DE LA TABLA GRUPO EN DONDE NO_PROFESOR SEA
IGUAL A 263 Y CVE_SECUENCIA SEA 3CM54 3CV51 3NV70 4NV71
CREATE VIEW V_CONSULTA2 AS
SELECT CVE_SECUENCIA, CVE_UAP
FROM GRUPO
WHERE CVE_SECUENCIA IN ('3CM54','3CV51','3NV60','4NV71')AND NO_PROFESOR = 263
1 cCREAR VISTA DE LAS COLUMNAS CVE_SECUENCIA, NO_PROFESOR, NOMBRE_U_AP Y NOMBRE_PROFESOR DE LAS
TABLAS U_APRENDIZAJE, GRUPO YPROFESOR EN DONDE EL NOMBRE DEL PROFESOR EMPIECE CON MOTA
CREATE VIEW V_CONSULTA3 AS
SELECT CVE_SECUENCIA, PROFESOR.NO_PROFESOR, NOMBRE_U_AP, NOMBRE_PROFESOR
FROM U_APRENDIZAJE INNER JOIN GRUPO
ON U_APRENDIZAJE.CVE_UAP = GRUPO.CVE_UAP
LEFT OUTER JOIN PROFESOR
ON GRUPO.NO_PROFESOR = PROFESOR.NO_PROFESOR
WHERE NOMBRE_PROFESOR LIKE 'MOTA %'
2 CONSULTAR VISTAS
SELECT * FROM V_CONSULTA1
SELECT * FROM V_CONSULTA2
SELECT * FROM V_CONSULTA3
3 ELIMINAR VISTAS
DROP VIEW V_CONSULTA1
DROP VIEW V_CONSULTA2
DROP VIEW V_CONSULTA3
A. QUE ES UN VISTA?
B. PRUEBA INSERTAR RENGLONES EN LAS VISTAS V_CONSULTA1 y V_CONSULTA2 . IDENTIFICA QUE
PASA
C. SI UNA VISTA SE PUEDE TRATAR COMO UNA TABLA PARA UNA CONSULTA CUALES SON SUS
DIFERENCIAS?............
D. CREA UN EJEMPLO DE VISTA EN LA TABLA ALUMNO OMITIENDO ALGUNAS COLUMNAS Y CONDICIONA
LA CONSULTA COMO TU LO DESEES
CONSTRAINTS
1. CREAR UN UNA TABLA TEMPORAL SALON CON EJEMPLO DE RESTRICCION PARA CADA COLUMNA
(CVE_SALON, TIPO_SALON, CAPACIDAD_BANCAS Y NO_BANCAS)
CREATE TABLE #SALON(
CVE_SALON varchar(5)NOT NULL
CONSTRAINT CK_cve_salon_salon CHECK (CVE_SALON LIKE'[CL][BSIPL][0-3][0-1][0-9]'),
TIPO_SALON varchar(11)NOT NULL
CONSTRAINT CK_tipo_salon_salon CHECK (TIPO_SALON IN('AULA','LABORATORIO','TALLER')),
CAPACIDAD_BANCAS tinyint NOT NULL
CONSTRAINT CK_cantidad_bancas_salon CHECK (CAPACIDAD_BANCAS BETWEEN 1 AND 50),
NO_BANCAS tinyint NULL
CONSTRAINT CK_cantidad_no_salon CHECK (NO_BANCAS BETWEEN 1 AND 50))
PARA ELIMINAR UN CONSTRAINT
ALTER TABLE #SALON
DROP CONSTRAINT CK_cve_salon_salon
ALTER TABLE #SALON
DROP CONSTRAINT CK_tipo_salon_salon
ALTER TABLE #SALON
DROP CONSTRAINT CK_cantidad_bancas_salon
ALTER TABLE #SALON
DROP CONSTRAINT CK_cantidad_no_salon
TAMBIEN SE PUEDE AGREGAR DESPUES DE AGREGADA LA TABLA
ALTER TABLE NOMBRE_DETABLA
ADD CONSTRAINT NOMBRE_DELCONSTRAINT CHECK()
2. CONSULTAR LA TABLA #SALON
SELECT * FROM #SALON
3. AHORA AGREGA UN RENGLON EN LA TABLA #SALON .
INSERT INTO #SALON
VALUES('CX300','LAB',0,55)
4. AHORA NUEVAMENTE AGREGA UN RENGLON EN LA TABLA #SALON
INSERT INTO #SALON
VALUES('CI106','AULA',45,40)
SELECT * FROM #SALON
5. PARA ELIMINAR UN CONSTRAINT
ALTER TABLE #SALON
DROP CONSTRAINT CK_cve_salon_salon
ALTER TABLE #SALON
DROP CONSTRAINT CK_tipo_salon_salon
ALTER TABLE #SALON
DROP CONSTRAINT CK_cantidad_bancas_salon
ALTER TABLE #SALON
DROP CONSTRAINT CK_cantidad_no_salon
6. PROBAR INSERTAR NUEVAMENTE
7. PARA AGREGAR UN CONSTRAINT DESPUS DE CREADA LA TABLA
ALTER TABLE #SALON
ADD CONSTRAINT CK_cantidad_no_salon CHECK(..)
A. QUE ES UN CONSTRAINT?
B. PARA QUE SIRVE UN CONSTRAINT?
C. CREA UN CONSTRAINT EJEMPLO SOBRE LAS COLUMNAS DE CALIFICACIONES DE LA TABLA
CALIFICACIONES_SEMESTRE LA BASE DE DATOS EJEMPLO_CE E INGRESA VALORES PARA
PROBAR LA FUNCION DEL CONSTRAINT.
D. VUELVE A INGRESAR UN RENGLON CON VALORES FUERA DEL DOMINIO.... DE CADA COLUMNA