VISTAS EN BASE DE DATOS
Enviado por DCETINACEP • 6 de Diciembre de 2012 • 330 Palabras (2 Páginas) • 414 Visitas
5.1.- Vistas
5.1.1 y 5.1.2 Definición y objetivo de las Vistas
Una vista en SQL es el resultado de una consulta de varias tablas que te aparece como una sola tabla.
Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia es que sólo se almacena de ellas la definición, no los datos.
Los datos que se recuperan mediante una consulta a una vista se presentarán igual que los de una tabla. De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer que es así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas.
Las vistas son importantes porque proporcionan un poderoso mecanismo de seguridad, ocultando partes de la base de datos a ciertos usuarios. El usuario no sabrá que existen aquellos atributos que se han omitido al definir una vista.
5.2 Instrucciones para administración de vistas
5.2.1 y 5.2.3 Creación y consultas sobre vistas
Por ejemplo se necesita saber datos de 3 tablas pero necesitas que te aparezcan a la vez y siempre que ejecutes una sentencia determinada que viene dada por un nombre que le has dado tú mismo. Si llegara el caso de que se suprimiera una vista, la vista asociada se invalida.
Ejemplo
CreateviewBoleta as
Selectmateria.clave, materia.nombre, alumnos.control, alumnos.nombre, kardex.calif
FromKardex, Materias, Alumnos
whereKardex.materias = materia.clave and Kardex.control = alumnos.control
Utilizando la vista creada obtener todos los alumnos reprobados de una materia
Selectmateria, count(*) fromBoleta group by materia, calif having calif = 0
Ejemplo 2:
Crear una vista que muestre todas las materias contratadas por un alumno
CreateviewContrato
asselectAlumnos.control, Alumnos.Nombre, Alumnos.Semestre, Materias.Clave, Materias.Nombre, Horarios.Dia, Horarios.HorIni, Horarios.Periodo, Horarios.HorFinfromKardex, Materias, Alumnos, Horarios
Wherekardex.materia = materia.clave and Kardex.Grupo = Horarios.Grupo and Kardex.Periodo = Horarios.periodo and Kardex.control = Alumnos.Control
Con la vista creada obtener el contrato de un alumno.
Select * from contratowhere control = ‘04310150’ and periodo = ‘E09’
5.2.2 Eliminaciónde vistas
La instruccióndrop, permite eliminar vistas
...