11
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 Coahuila Facultad de Sistemas

Oracle Cap. 8 - Vistas

Embed Size (px)

Citation preview

Page 1: Oracle Cap. 8 - Vistas

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

Page 2: Oracle Cap. 8 - Vistas

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

Page 3: Oracle Cap. 8 - Vistas

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

Page 4: Oracle Cap. 8 - Vistas

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

Page 5: Oracle Cap. 8 - Vistas

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

Page 6: Oracle Cap. 8 - Vistas

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

Page 7: Oracle Cap. 8 - Vistas

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

Page 8: Oracle Cap. 8 - Vistas

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

Page 9: Oracle Cap. 8 - Vistas

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

Page 10: Oracle Cap. 8 - Vistas

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

Page 11: Oracle Cap. 8 - Vistas

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