oracle cap. 9 - vistas

12
Cap. 9 Vistas [email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010 Instituto Tecnológico de Saltillo Departamento de Sistemas y Computación Manejo de Tablas Manipulación Datos Consultas Básicas Funciones de Grupo Funciones Generales Consultas Avanzadas Subconsultas Vistas Control de Usuarios Introducción 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

Upload: jjcontrerasg

Post on 18-Nov-2014

135 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Oracle Cap. 9 - Vistas

Cap. 9

Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Instituto Tecnológico de SaltilloDepartamento de Sistemas y Computación

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

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

Page 2: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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.

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 3: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 4: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

CREATE [OR REPLACE] VIEW nombre [(col1, col2, …coln)]

AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY [CONSTRAINT constraint]];

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 CHECK OPTION – especificar que solo registros accesibles a la vista puedan ser insertados o actualizados.

Constraint - nombre asignado a la restricción CHECK OPTION

WITH READ ONLY – asegurar que no se puedan realizar operaciones DML.

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 5: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

CREATE OR REPLACE VIEW vista1

AS SELECT nombre, fecha_ingresoFROM docentes;

Creación de Vistas

DESC vista1;

CREATE OR REPLACE VIEW vista2

AS SELECT um_emp EMP, nombre PROFESOR, fecha_ingreso INGRESO

FROM docentes;

CREATE OR REPLACE VIEW vista2 (EMP, PROFESOR, INGRESO)AS SELECT num_emp, nombre, fecha_ingreso

FROM docentes;

ALIAS DE COLUMNAS EN VISTAS

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 6: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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;

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 7: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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;

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 8: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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 DEFINIDIAS COMO NOT NULL EN TABLAS BASE.

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 9: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

Cláusula WITH CHECK OPTION

CREATE OR REPLACE VIEW VistasistAS SELECT * FROM docentes

WHERE id_depto=‘SISTEMAS’WITH CHECK OPTION CONSTRAINT sistemas_ck;

UPDATE VistaSistSET id_depto=‘INDUSTRIAL’WHERE num_emp=100; No actualiza porque la vista solo

considera SISTEMAS y no permitecambiar

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 10: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 11: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

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

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción

Page 12: Oracle Cap. 9 - Vistas

[email protected] :: jjcg@its. mx :: Saltillo, Coah, Enero de 2010

Introducción a la Tecnología de

Bases de Datos Relacionales con SQL

PRÁCTICA No. 8

Manejo de Tablas

Manipulación Datos

Consultas Básicas

Funciones de Grupo

Funciones Generales

Consultas Avanzadas

Subconsultas

Vistas

Control de Usuarios

Introducción