Creación de Vistas. Copyright Oracle Corporation, 1998. All rights reserved.



Documentos relacionados
Restricción y Clasificación de los Datos. Copyright Oracle Corporation, All rights reserved.

6.1. Introducción. Guía 5. SQL.

Subconsultas Multi-Columna. Copyright Oracle Corporation, All rights reserved.

Manipulación de Datos. Copyright Oracle Corporation, All rights reserved.

Bases de Datos Ejercicios de SQL

Bases de Datos Relacionales III

Informática Básica Práctica Tema 3 Ejercicios de SQL

Subconsultas. Copyright Oracle Corporation, All rights reserved.

Visualización de Datos a partir de Varias Tablas. Copyright Oracle Corporation, All rights reserved.

Escribiendo sentencias básicas de SQL

Ampliación de Bases de Datos Práctica 1: El lenguaje PL/SQL de Oracle Sesión 1: Introducción al PL/SQL

Escritura Básica de Sentencias SQL. Copyright Oracle Corporation, All rights reserved.

Unidad. Lenguaje SQL. (Structured Query Language)

2. Distinguir entre los comandos SQL*Plus y las sentencias SQL. 3. Consultar la estructura de una tabla, por ejemplo emp.

Tema 4. Manipulación de datos con SQL

Creación y Gestión de Tablas. Copyright Oracle Corporation, All rights reserved.

Bases de Datos I Práctica 1 Ejercicios de SQL

Constraints (Restricciones) Copyright Oracle Corporation, All rights reserved.

Datos Agregados por medio de Funciones de Grupo. Copyright Oracle Corporation, All rights reserved.

UNIDAD DE TRABAJO 2: BASES DE DATOS RELACIONALES

Ejercicios SQL - Select TutorialesNET Versión Revisión 1 25 de julio de 2015

Practicas de BB. DD. ORACLE

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

Cursores Explícitos. Copyright Oracle Corporation, All rights reserved.

Interacción con el Servidor Oracle8. Copyright Oracle Corporation, All rights reserved.

Tema 5. Lenguaje de Definición de Datos

Funciones a Nivel de Fila. Copyright Oracle Corporation, All rights reserved.

Tutorial de SQL - El comando SELECT

LENGUAJE DE MANIPULACIÓN DE DATOS (DML) CONSULTA DE DATOS

Consulta de datos. FROM, obligatoria, se especifican las tablas donde está la información necesaria. Se puede poner alias a las tablas

BASES DE DATO TO I VISTAS curso 2008

Introducción a Oracle SQL-Plus. Introducción a Oracle SQL-Plus

Tema 2. Bases de Datos Relacionales

Fundamentos de Informática

Diseño de bases de datos Práctica-1 Definición de datos

3. El catálogo 26. Laboratorio de Bases de Datos

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Conceptos Avanzados de Cursores Explícitos. Copyright Oracle Corporation, All rights reserved.

Oracle Fundamentos. Programa de Estudio.

Introducción al lenguaje SQL

Introducción a SQL. Bloque III (Prácticas) Informática Básica - Curso 2010/2011

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo

Características del lenguaje SQL

Consultas con combinaciones

Introducción a SQL sobre Oracle

Oracle Database: Conceptos Básicos de SQL y PL/SQL

Introducción a SQL sobre Oracle

Oracle Database 10g: Introducción a SQL

Declaración de Variables. Copyright Oracle Corporation, All rights reserved.

Oracle Database 10g: Conceptos Básicos de SQL y PL/SQL

Objetos de Bases de Datos

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Recuperar datos de filas y columnas de las tablas con la Ejecutar sentencias de manipulación de datos (DML) para a Buscar datos mediante subconsultas

Grupo Kybele, Pág. 1

UNIDAD DE TRABAJO 2: BASES DE DATOS RELACIONALES

Tipos de Datos Compuestos. Copyright Oracle Corporation, All rights reserved.

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio.

Tema: Respaldo y recuperación/ uso de asistentes

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

FUNDAMENTOS ORACLE 12C

Oracle Database: Introducción a SQL

MANUAL BÁSICO DEL LENGUAJE SQL

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Instalación de oracle en GNU/Linux Debian o Ubuntu.

Modelamiento y Diseño de Base de Datos

Oracle Database 12c SQL and PLSQL Fundamentals

Base de Datos Oracle 10g: Introducción a SQL

SQL Oracle 12c. Este curso le permitira saber y conocer:

Departamento de Lenguajes y Sistemas Informáticos

Seguridad. Bibliografía: Introducción a los sistemas de bases de datos -C.J. Date

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Introducción a SQL (DDL)

Diseño de Bases de Datos y Seguridad en la Información &8562

Nombre: 1. Selecciona todos los registros de la tabla EMPLOYEES. Anota el nº de filas obtenidas.

Definición y Manipulación de Bases de Datos con SQL. 1. Muestra la estructura de la tabla dept. Muestra todos los datos de la tabla dept.

GONZALEZ VARGAS ANA KAREN GUTIERREZ MUNGUIA LUIS DANIEL TELLEZ ARCOS DIANA FATIMA PROBLEMA A RESOLVER

Manual de Sentencias Básicas en SQL

ÍNDICE PRIMERA PARTE... 17

ÍNDICE INTRODUCCIÓN...17

Desarrollo de Aplicaciones Informáticas

SQL. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

1. Introducción Tablas de referencia Expresiones 6

ÍNDICE INTRODUCCIÓN...13

APÉNDICE D. INTRODUCCIÓN A SQL

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Manual de introducción SQL Centro de Tecnología Informática

Diseña y Administra Bases de Datos Guía de Estudio

CONTROL DE ACCESO. curso 2008

(LDD) VARCHAR2 (n) : alfanumérico (hasta 240) NUMBER (n,p) : números con signo y punto decimal

El Lenguaje SQL. Funciones en SQL

Transcripción:

12 Creación de Vistas Copyright Oracle Corporation, 1998. All rights reserved.

Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir una Vista Crear una vista Recupera datos a través de una vista Alterar la definición de una vista Insertar, modificar y borrar datos a través de una vista Eliminación de vistas 12-2 Copyright Oracle Corporation, 1998. All rights reserved.

Objetos de la Base de Datos Objecto Tabla Vista Secuencia Indice Sinónimo Descripción Unidad básica de almacenamiento; compuesta de registros y columnas. Lógicamente representa un subconjunto de una o más tablas. Genera valores para claves primarias. Mejoran el rendimiento de algunas consultas Da nombres alternativos a los objetos. 12-3 Copyright Oracle Corporation, 1998. All rights reserved.

Qué es una Vista? EMP Table EMPNO EMPNO ENAME ENAME JOB JOB MGR MGR HIREDATE SAL SAL COMM COMM DEPTNO ----- DEPTNO ----- ------- --------- ----- ----- --------- ----- ----- ----- ----- ------- ----- ----- 7839 7839 KING -------- KING PRESIDENT --------- ---- ---- 17-NOV-81 --------- ------ 5000 5000 ----- ----- ------ 10 10-7698 7698 BLAKE BLAKE MANAGER 7839 7839 01-MAY-81 2850 2850 30 30 7839 7839 7782 7782 CLARK KING CLARK KING MANAGER PRESIDENT 7839 7839 09-JUN-81 17-NOV-81 2450 2450 5000 5000 10 10 10 10 7566 7566 JONES JONES MANAGER 7839 7839 02-APR-81 2975 2975 20 20 EMPVU10 7782 7782 7654 7654 MARTIN CLARK CLARK View SALESMAN MANAGER 7698 7839 7698 7839 28-SEP-81 09-JUN-81 1250 1250 1500 1500 1400 1400 300 300 30 30 10 10 7499 7499 ALLEN ALLEN SALESMAN 7698 7698 20-FEB-81 1600 1600 300 300 30 30 EMPNO 7934 7844 ENAME 7934 7844 TURNER MILLER SALESMAN CLERK JOB CLERK 7698 7782 7698 7782 08-SEP-81 23-JAN-82 1500 1500 1300 0 30 ------ -------- ----------- 1300 30 10 10 7900 7900 JAMES JAMES CLERK CLERK 7698 7698 03-DEC-81 950 950 30 30 7839 KING PRESIDENT 7566 7566 7521 7521 WARD JONES WARD JONES SALESMAN MANAGER 7698 7839 7698 7839 22-FEB-81 02-APR-81 1250 1250 2975 2975 500 500 30 30 7782 20 20 7902 CLARK 7902 FORD FORD ANALYST MANAGER 7566 7566 03-DEC-81 3000 3000 20 20 7788 7788 7369 7369 SMITH SCOTT SMITH SCOTT CLERK CLERK ANALYST 7902 7566 7902 7566 17-DEC-80 09-DEC-82 800 3000 800 3000 20 7934 MILLER CLERK 20 20 20 7788 7788 SCOTT SCOTT ANALYST 7566 7566 09-DEC-82 3000 3000 20 20 7876 7876 ADAMS ADAMS CLERK CLERK 7788 7788 12-JAN-83 1100 1100 20 20 20 20 7934 7934 MILLER CLERK CLERK 7782 7782 23-JAN-82 1300 1300 10 10 7369 7369 SMITH SMITH CLERK CLERK 7902 7902 17-DEC-80 800 800 20 20 7902 7902 FORD FORD ANALYST 7566 7566 03-DEC-81 3000 3000 12-4 20 20 Copyright Oracle Corporation, 1998. All rights reserved. 7698 7698 BLAKE BLAKE MANAGER 7839 7839 01-MAY-81 2850 2850 30 30

Por qué Usar Vistas? Para restringir el acceso a la B.D. Para ralizar consultas complejas fácilmente Para la indenpendencia de los datos Para presentar diferentes vistas de los mismos datos 12-5 Copyright Oracle Corporation, 1998. All rights reserved.

Vistas Simples y Vistas Complejas Característica Vis. Simples Vis. Complejas Nº de Tablas Una Una o más Contiene funciones No Sí Contiene grup. de datos No DML a través de la vista Sí Sí No siempre 12-6 Copyright Oracle Corporation, 1998. All rights reserved.

Creación de una Vista Puede incluir una subconsulta dentro de la sentencia CREATE VIEW. CREATE [OR REPLACE] [FORCE NOFORCE] VIEW view [(alias[, alias]...)] AS AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] La subconsulta puede contener una SELECT compleja. La subconsulta no puede contener la claúsula ORDER BY. 12-7 Copyright Oracle Corporation, 1998. All rights reserved.

Creación de una Vista Cree una vista, EMPVU10, que contenga detalles de los empleados del dpto. 10 SQL> CREATE VIEW empvu10 2 AS SELECT empno, ename, job 4 FROM emp 5 WHERE deptno = 10; View created. Describa la estructura de la vista, usando el comando DESCRIBE de SQL*Plus. SQL> DESCRIBE empvu10 12-8 Copyright Oracle Corporation, 1998. All rights reserved.

Creación de una Vista Cree una vista usando alias de columna en la subconsulta. SQL> CREATE VIEW salvu30 2 AS SELECT empno EMPLOYEE_NUMBER, ename NAME, 3 sal SALARY 4 FROM emp 5 WHERE deptno = 30; View created. Seleccione las columnas de esta vista, haciendo uso del nombre del alias. 12-9 Copyright Oracle Corporation, 1998. All rights reserved.

Recuperando Datos de una Vista SQL> SELECT * 2 FROM salvu30; EMPLOYEE_NUMBER NAME SALARY --------------- ---------- --------- 7698 BLAKE 2850 7654 MARTIN 1250 7499 ALLEN 1600 7844 TURNER 1500 7900 JAMES 950 7521 WARD 1250 6 rows selected. 12-10 Copyright Oracle Corporation, 1998. All rights reserved.

Consulta a la Tabla del Diccionario de Datos, USER_VIEWS SQL*Plus SELECT * FROM empvu10; 7839 KING PRESIDENT 7782 CLARK MANAGER 7934 MILLER CLERK USER_VIEWS EMPVU10 SELECT empno, ename, job FROM emp WHERE deptno = 10; EMP 12-11 Copyright Oracle Corporation, 1998. All rights reserved.

Modificación de una Vista Modificar la vista EMPVU10 por medio de la claúsula CREATE OR REPLACE VIEW. Añada un alias para cada columna. SQL> CREATE OR REPLACE VIEW empvu10 2 (employee_number, employee_name, job_title) 3 AS SELECT empno, ename, job 4 FROM emp 5 WHERE deptno = 10; View created. Los alias de columna en la claúsula CREATE VIEW, deberán de aparecer en el mismo orden que las columnas en la subconsulta. 12-12 Copyright Oracle Corporation, 1998. All rights reserved.

Creación de una Vista Compleja Cree una vista compleja que contenga funciones de grupo, para ver valores de dos tablas. SQL> CREATE VIEW dept_sum_vu 2 (name, minsal, maxsal, avgsal) 3 AS SELECT d.dname, MIN(e.sal), MAX(e.sal), 4 AVG(e.sal) 5 FROM emp e, dept d 6 WHERE e.deptno = d.deptno 7 GROUP BY d.dname; View created. 12-13 Copyright Oracle Corporation, 1998. All rights reserved.

Reglas para Realizar Operaciones DML sobre Vistas Se pueden realizar operaciones DML sobre vistas simples. No se puede eliminar una fila si la vista contiene: Funciones de grupo. Una cláusula GROUP BY. El comando DISTINCT. 12-14 Copyright Oracle Corporation, 1998. All rights reserved.

Reglas para Realizar Operaciones DML sobre Vistas No es posible modificar datos en la vista si la misma contiene: Cualquiera de las condiciones anteriores. Columnas definidas por expresiones. La pseudocolumna ROWNUM. No se puede agregar datos si la vista contiene: Cualquiera de las condiciones anteriores. Cualquier columna NOT NULL no incluída por la vista. 12-15 Copyright Oracle Corporation, 1998. All rights reserved.

La Claúsula WITH CHECK OPTION Asegura que un comando DML sobre la vista mantiene el dominio de la misma. SQL> CREATE OR REPLACE VIEW empvu20 2 AS SELECT * 3 FROM emp 4 WHERE deptno = 20 5 WITH CHECK OPTION CONSTRAINT empvu20_ck; View created. Si se intenta cambiar el número n de departamento para cualquier fila, la sentencia fallará porque viola la restricción n de CHECK OPTION. 12-16 Copyright Oracle Corporation, 1998. All rights reserved.

Denegar Operaciones DML Agregando la opción n WITH READ ONLY en la definición n de la vista, se asegura que no ocurran operaciones DML. SQL> CREATE OR REPLACE VIEW empvu10 2 (employee_number, employee_name, job_title) 3 AS SELECT empno, ename, job 4 FROM emp 5 WHERE deptno = 10 6 WITH READ ONLY; View created. Si se intenta realizar una operación n DML sobre cualquier fila en la vista, aparecerá el error ORA-01732 del Oracle8 Server. 12-17 Copyright Oracle Corporation, 1998. All rights reserved.

Eliminación de una Vista Al Borrar una vista no perderá los datos, porque la vista está basada en tablas subyacentes de la B.D. DROP VIEW view; SQL> DROP VIEW empvu10; View dropped. 12-18 Copyright Oracle Corporation, 1998. All rights reserved.

Resumen Una vista se deriva de los datos de otras tablas u otras vistas. Una vista es como una ventana sobre los datos subyacentes. Una vista provee las siguientes ventajas: Restricción n del acceso a los datos. Simplificación n de las consultas. Independencia de los datos. Permite varias visiones de los mismos datos. Puede ser eliminada sin borrar los datos subyacentes. 12-19 Copyright Oracle Corporation, 1998. All rights reserved.

Visión General de la Práctica Crear una vista simple. Crear una vista compleja. Crear una vista con una restricción check. Intentar modificar datos en una vista. Mostrar definiciones de una vista. Eliminar vistas. 12-20 Copyright Oracle Corporation, 1998. All rights reserved.