Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.

Slides:



Advertisements
Presentaciones similares
Diseño de Bases de Datos
Advertisements

Madrid, junio de 2009 Seguridad en bases de datos: SQL Server 2005 y Oracle 10g.
integridad referencial
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
SQL G r u p o
CAPITULO 9 Creando y Manejando Tablas
Controlando el Acceso a los Usuarios
Mejoras a la Cláusula GROUP BY
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 2 Restringiendo y Ordenando Datos.
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
4.3. Privilegios de usuarios
Control del Acceso de los Usuarios
MySQL M.C. Pedro Bello López.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas
Lenguaje SQL (Structured Query Language)
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
Universidad del Cauca – FIET – Departamento de Sistemas
Subconsultas Avanzadas
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Gestión de Objetos con Vistas de Diccionario de Datos
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 7 Produciendo Salidas Más Legibles con iSQL*Plus.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 6 Subconsultas.
CAPITULO 10 Manejando Restricciones
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 19 Extensiones de Oracle 9i para las sentencias DML y DDL.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Consultas SQL (Base de Datos)
ASIGNACION DE PRIVILEGIOS DE USUARIO Grupo:403 Escuela:Conalep Coacalco 184 Profesor: Roberto Carlos Muñoz Celaya Integrantes: Álvarez González Mónica.
VISTAS.  Una Vista es una tabla virtual.  Provee otra manera de buscar en los datos existentes  Se definen para facilitar y restringir el acceso a.
LENGUAJE SQL.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 14 Uso de Operadores de Conjuntos.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida. CREATE.
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Diseña y administra base de datos avanzadas
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
DLM Transact SQL Sesión II Recuperación de información.
Copyright  Oracle Corporation, All rights reserved. 11 Creación de Vistas.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
DML Transact SQL Sesión VI Trabajando con subconsultas.
6 Triggers ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 9 Creación y gestión de tablas.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Selección Condicionada de Filas Uso de la cláusula WHERE La cláusula WHERE restringe las columnas que retorna una consulta según la condición que se imponga.
Transcripción de la presentación:

Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas

11-2 Universidad del Cauca – FIET – Departamento de Sistemas Después de este capítulo, usted estará en capacidad de: Describir una vista Crear, alterar y borrar una vista Recuperar datos a través de una vista Insertar, modificar y borrar datos a través de una vista Crear y usar una vista en línea Ejecutar análisis Top-N (Los N productos más vendidos, los N empleados que más ganan) Objetivos

11-3 Universidad del Cauca – FIET – Departamento de Sistemas Desarrollar un corto examen de cinco (5) preguntas en modo de aprendizaje (Learning mode), seleccionados en forma aleatoria. Realizar una corta realimentación de cada una de las preguntas. Tema: Creating Views Examen previo

11-4 Universidad del Cauca – FIET – Departamento de Sistemas Objetos de la base de datos OBJETODESCRIPCIÓN TablaUnidad básica de almacenamiento, compuesta de filas y columnas. Pueden ser creadas en cualquier momento, no se necesita definir el tamaño del almacenamiento (se recomienda) y su estructura se puede redefinir en línea. VistaRepresentación lógica de un subconjunto de datos de una o más tablas SecuenciaGenerador de valores numéricos ÍndiceMejora el rendimiento de algunas consultas SinónimoNombre alternativo de los objetos de una base de datos OtrosProcedimientos, funciones, disparadores, clusters, enlaces a bases de datos y demás

11-5 Universidad del Cauca – FIET – Departamento de Sistemas Vistas Representación lógica de un subconjunto de datos de una o más tablas (No es una copia de los datos). Es una tabla lógica que se basa en otra tabla o conjunto de tablas (tablas base). La vista se almacena como un SELECT en el diccionario de datos

11-6 Universidad del Cauca – FIET – Departamento de Sistemas Vistas Las vistas sirven para: Restringir el acceso a los datos Mostrar sólo algunas columnas o filas de una tabla a determinados usuarios Hacer las consultas complejas más fáciles de usar para los usuarios Hacer una vista que oculte una consulta que reune (join) tres tablas Presentar diferentes vistas de los mismos datos

11-7 Universidad del Cauca – FIET – Departamento de Sistemas Tipos de vistas CARACTERISTICAVISTAS SIMPLES VISTAS COMPLEJAS Número de tablasUnaUna o más Contiene funcionesNoSi puede Contiene grupos de datosNoSi puede Se pueden realizar operaciones DML sobre la vista SiNo siempre Vista Simple

11-8 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para la creación de vistas CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW [Esquema.]Vista [ (AliasColumna [, AliasColumna] … ) ] AS SubConsulta [WITH CHECK OPTION [CONSTRAINT Nombre] ] [WITH READ ONLY [CONSTRAINT Nombre] ] OR REPLACE: borra y re-crea la vista si ésta ya existe en la base de datos FORCE: Crea la vista así las tablas base no existen o el SELECT tenga errores de compilación NOFORCE: Crea la vista sólo si las tablas base existen y el SELECT no tiene errores de compilación [Esquema.]Vista: Nombre de la vista y el esquema en el que se va a crear, por defecto el esquema del usuario que ejecuta la sentencia

11-9 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para la creación de vistas CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW [Esquema.]Vista [ (AliasColumna [, AliasColumna] … ) ] AS SubConsulta [WITH CHECK OPTION [CONSTRAINT Nombre] ] [WITH READ ONLY [CONSTRAINT Nombre] ] AliasColumna: Son los nombres que se le van a asignar a las columnas de la vista. Debe existir una correspondencia uno a uno entre los Alias y las columnas proyectadas en la cláusula SELECT de la SubConsulta SubConsulta: Es una sentencia SELECT con todas las cláusulas conocidas (SELECT, FROM, WHERE, GROUP BY, HAVING, …), pero no se recomienda la cláusula ORDER BY, ésta última se utiliza cuando se consulta la vista

11-10 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para la creación de vistas CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW [Esquema.]Vista [ (AliasColumna [, AliasColumna] … ) ] AS SubConsulta [WITH CHECK OPTION [CONSTRAINT Nombre] ] [WITH READ ONLY [CONSTRAINT Nombre] ] WITH CHECK OPTION: Define que sólo las filas que se pueden acceder a través de la vista pueden ser insertadas o modificadas WITH READ ONLY: Define que NO se pueden hacer operaciones DML sobre la vista Nombre: Es el nombre de la restricción que asigna el usuario

11-11 Universidad del Cauca – FIET – Departamento de Sistemas Creando vistas Vista simple que permite hacer DML porque no usa funciones, no usa grupos, usa una tabla base y tiene en cuenta todas las columnas requeridas de la tabla base

11-12 Universidad del Cauca – FIET – Departamento de Sistemas Creando vistas Uso de alias para las columnas

11-13 Universidad del Cauca – FIET – Departamento de Sistemas Consultando una vista Servidor ORACLE 9i TM USER_VIEWS: SELECT Emp_Id AS Id, Emp_Nombre AS Nombre, Emp_Cargo AS Cargo, Emp_FechaContrato AS FechaContrato, Emp_Salario*12 AS SalarioAnual, Dep_ID FROM Empleados WHERE Dep_Id = 30; Empleados Se consulta en la vista Se consulta el catalogo Se revisan permisos Se devuelven los resultados

11-14 Universidad del Cauca – FIET – Departamento de Sistemas Modificando una vista Para modificar una vista existente use OR REPLACE, con esta cláusula se borra la definición actual y se crea la nueva (si no hay errores en la sentencia) Los permisos asignados sobre la vista se conservan

11-15 Universidad del Cauca – FIET – Departamento de Sistemas Creando una vista compleja Es compleja porque el SELECT reune dos tablas y usa funciones de grupo Al tratar de hacer DML sobre esta vista, Oracle no sabe a que tabla base y que columnas enviar los datos, por eso no se puede hacer DML (con disparadores y procedimientos almacenados se puede saltar esta regla)

11-16 Universidad del Cauca – FIET – Departamento de Sistemas Reglas para ejecutar DML sobre una vista En una vista No se puede eliminar filas si … No se puede modificar filas si … No se puede insertar filas si … Contiene funciones de grupo  Usa la cláusula GROUP BY  Usa la palabra clave DISTINCT  Usa la seudo-columna ROWNUM  Usa columnas con expresiones, por ejemplo 12*Emp_Salario  Las columnas NOT NULL (sin valores por defecto) de la tabla base no están en el SELECT de la vista 

11-17 Universidad del Cauca – FIET – Departamento de Sistemas Uso de la cláusula WITH CHECK OPTION Esta cláusula asegura que las operaciones INSERT y UPDATE que se hagan con la vista, sólo impliquen a las filas que están dentro del dominio de la vista (las filas que se pueden consultar con la vista) Si se trata de cambiar de departamento a AGREDO a través de la vista se marca un error

11-18 Universidad del Cauca – FIET – Departamento de Sistemas Uso de la cláusula WITH CHECK OPTION

11-19 Universidad del Cauca – FIET – Departamento de Sistemas Negar operaciones DML sobre una vista La cláusula WITH READ ONLY asegura que no se puedan realizar operaciones DML sobre la vista Cualquier operación DML sobre una vista de sólo lectura es reportada como un error por Oracle

11-20 Universidad del Cauca – FIET – Departamento de Sistemas Cláusula WITH READ ONLY

11-21 Universidad del Cauca – FIET – Departamento de Sistemas Borrado de vistas DROP VIEW [Esquema.]Vista [CASCADE CONSTRAINTS]; El comando DROP VIEW permite eliminar una vista del esquema seleccionado Al borrar la vista no se modifican las tablas base, ni se eliminan las filas que se podían consultar a través de la vista Las vistas que dependen de la vista que se elimina se marcan como invalidas Sólo el creador de la vista o un usuario con privilegio de DROP ANY VIEW puede borrar una vista CASCADE CONSTRAINTS: borra todas las restricciones de integridad referencial que se han establecido hacia la llave primaria o una llave única de la vista

11-22 Universidad del Cauca – FIET – Departamento de Sistemas Borrado de vistas

11-23 Universidad del Cauca – FIET – Departamento de Sistemas Vistas en línea Es una subconsulta con nombre (alias) que se puede usar dentro de una sentencia SQL No es un objeto del esquema

11-24 Universidad del Cauca – FIET – Departamento de Sistemas Análisis Top-N Son consultas que preguntan por los N mejores, o los N menores, por ejemplo: Cuáles son los 3 empleados que ganan más salario? Cuáles son los 2 empleados que ganan menos salario? Cuáles son los 3 empleados más recientemente contratados? La estructura general de una consulta de análisis Top-N es la siguiente: SELECTListaDeColumnas, ROWNUM FROM(SELECTColumnas FROMTabla ORDER BYColumnaTopN) WHERE ROWNUM <= N; Una subconsulta (o vista en línea) ordenada por la columna deseada Una consulta principal que usa a ROWNUM para restringir el número de filas

11-25 Universidad del Cauca – FIET – Departamento de Sistemas Ejemplo de análisis Top-N

11-26 Universidad del Cauca – FIET – Departamento de Sistemas En esta lección usted debió aprender: A restringir el acceso a la base de datos a través de las vistas A simplificar las consultas para los usuarios A crear múltiples vistas de los mismos datos para diferentes usuarios A borrar vistas sin modificar los datos de las tablas base A distinguir las vistas simples de las complejas A crear vistas con restricciones y de sólo lectura Resumen

11-27 Universidad del Cauca – FIET – Departamento de Sistemas Realizar una práctica de ocho (8) puntos que permite practicar: La creación de vistas simples La creación de vistas complejas La creación de una vista con una restricción de chequeo La modificación de datos a través de una vista La consulta de las vistas y su definición en el diccionario de datos El borrado de vistas Practica 11

11-28 Universidad del Cauca – FIET – Departamento de Sistemas Desarrollar un examen de quince (15) preguntas en modo de aprendizaje (Learning mode), seleccionados en forma aleatoria. Realizar una corta realimentación de cada una de las preguntas. Tema: Creating Views Examen posterior