Upload
felix-arellano
View
38
Download
0
Embed Size (px)
Citation preview
Cap. 8
Vistas
Autor: Ing. Juan José Contreras
COMPETENCIAS ESPECIFICAS
• Describir una vista • Creación y manejo de vistas• Recuperación de datos a través de vistas• Insertar, actualizar y borrar datos mediante vistas
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Objetos de la Base de Datos
Objeto Descripción
TABLA Unidad básica de almacenamiento de información.
Se compone de renglones y columnas. También
llamadas tablas base.
VISTA Representación lógica de datos basada en una o
varias tablas. No contiene datos propios.
SECUENCIA Genera automáticamente números únicos.
SINÓNIMO Nombre alterno para objetos.
UTILIDAD DE LAS VISTAS
Restringir datos disponibles a los usuarios, permitiendo desplegar soloalgunas columnas.
Facilitar la escritura de instrucciones SQL de múltiples tablas yalmacenar su definición para recuperación de datos.
Son más eficientes ya que están precompiladas y existe su ruta deejecución.
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Tipos de VistasCaracterística Vista
Simple
Vista
Compleja
Número de Tablas Una Una o más
Contiene Funciones NO SI
Contiene funciones de grupo o
grupos de datos
NO SI
Operaciones DML a través de la
vista
SI No siempre
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
CREATE [OR REPLACE] VIEW nombre [(col1, col2, …coln)]AS subquery[WITH READ ONLY];
Creación de Vistas
OR REPLACE - vuelve a redefinir la vista si ésta ya existe.
Nombre - nombre de la vista
Subquery - instrucción SQL
WITH READ ONLY – asegurar que no se puedan realizar operaciones DML.
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
CREATE OR REPLACE VIEW vista1AS SELECT nombre, fecha_ingreso
FROM docentes;
Creación de Vistas
DESC vista1;
CREATE OR REPLACE VIEW vista2AS SELECT um_emp EMP, nombre PROFESOR,
fecha_ingreso INGRESOFROM docentes;
CREATE OR REPLACE VIEW vista2 (EMP, PROFESOR, INGRESO)AS SELECT num_emp, nombre, fecha_ingreso
FROM docentes;
ALIAS DE COLUMNAS EN VISTAS
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Recuperación de datos con Vistas
SELECT * FROM Vista1;
SELECT nombre FROM Vista1;
Consultar Vistas creadas en Diccionario de
Datos
DESC user_views;
SELECT view_name, text FROM user_views;
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Vistas Complejas
CREATE OR REPLACE VIEW VistaC (CARR, Min, Max)AS SELECT c.clave_carr, MIN(fecha_ingreso),
MAX(fecha_ingreso)FROM carreras, asignaturasWHERE c.clave_carr = a.clave_carrGROUP BY c.clave_carr;
DESC vistaC;
SELECT * FROM VistaC;
SELECT view_name, text FROM user_views;
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Operaciones DML con Vistas
No se puede modificar datos a través de la vista si ésta contiene:
FUNCIONES DE GRUPO
LA CLÁUSULA GROUP BY
LA PALABRA RESERVADA DISTINCT
COLUMNAS DEFINIDAS CON EXPRESIONES
No se pueden borrar registros si la vista contiene:
FUNCIONES DE GRUPO
LA CLÁUSULA GROUP BY
LA PALABRA RESERVADA DISTINCT
No se puede agregar datos a través de la vista si ésta contiene:
FUNCIONES DE GRUPO
LA CLÁUSULA GROUP BY
LA PALABRA RESERVADA DISTINCT
COLUMNAS DEFINIDAS CON EXPRESIONES
COLUMNAS DEFINIDAS COMO NOT NULL EN TABLAS BASE.
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Cláusula WITH CHECK OPTION
CREATE OR REPLACE VIEW VistasistAS SELECT * FROM docentes
WHERE id_depto=‘SISTEMAS’;
UPDATE VistaSistSET id_depto=‘INDUSTRIAL’WHERE num_emp=100; No actualiza porque la vista solo
considera SISTEMAS y no permitecambiar
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Cláusula WITH READ ONLY
CREATE OR REPLACE VIEW VistaLecturaAS SELECT * FROM docentes
WHERE id_depto=‘SISTEMAS’WITH READ ONLY;
Se puede asegurar que no se realicen operaciones DML a través de vistas mediante la cláusula with read only.
DELETE FROM VistaLecturaWHERE id_depto=‘SISTEMAS; No se permiten
operaciones DML
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas
Borrar Vistas Creadas
DROP VIEW nombre;
Borra la definición de la vista del Diccionario de Datos
No afecta las tablas base en las que fue basada la vista cuando fue creada.
Solo el dueño de la vista puede borrarla, a menos que otros usuarios tengan el privilegio de DROP ANY VIEW
[email protected] :: [email protected] :: Saltillo, Coah,.
Manejo de Tablas
Manipulación Datos
Consultas Básicas
Funciones de Grupo
Consultas Avanzadas
Subconsultas
Vistas
Introducción
Universidad Autónoma de CoahuilaFacultad de Sistemas