Sei sulla pagina 1di 4

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