Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

10 Sichten (Views). 12-2 Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern.

Ähnliche Präsentationen


Präsentation zum Thema: "10 Sichten (Views). 12-2 Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern."—  Präsentation transkript:

1 10 Sichten (Views)

2 12-2 Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern und Löschen von Daten über eine Sicht Löschen einer View Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern und Löschen von Daten über eine Sicht Löschen einer View

3 12-3 Datenbank-Objekte Beschreibung Basiseinheit; besteht aus Zeilen und Spalten Logische Teilmenge von Daten aus ein oder mehr Tabellen Generiert Primärschlüsselwerte Verbessert die Performance von Abfragen Alternativer Name für ein Objekt Objekt Tabelle View Sequence Index Synonym

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

5 12-5 Warum Views? Um Datenbankzugriffe einzuschränken Um komplexe Queries zu vereinfachen Um Datenunabhängigkeit zu erlauben Um unterschiedliche Sichten der gleichen Daten darzustellen Um Datenbankzugriffe einzuschränken Um komplexe Queries zu vereinfachen Um Datenunabhängigkeit zu erlauben Um unterschiedliche Sichten der gleichen Daten darzustellen

6 12-6 Erzeugen einer View Einbettung einer Subquery innerhalb des CREATE VIEW Befehls. Die Subqueries kann komplexe SELECT Syntax enthalten. Kein ORDER BY in der Subquery. Einbettung einer Subquery innerhalb des CREATE VIEW Befehls. Die Subqueries kann komplexe SELECT Syntax enthalten. Kein ORDER BY in der Subquery. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY]

7 12-7 Erzeugen einer View Erzeuge eine View, EMPVU10, die alle Angestellten aus Abteilung 10 darstellt. Struktur der View anzeigen über SQL*Plus DESCRIBE Kommando. SQL> DESCRIBE empvu10 SQL> CREATE VIEW empvu10 2 AS SELECTempno, ename, job 3 FROMemp 4 WHEREdeptno = 10; View created.

8 12-8 Erzeugen einer View Erzeugen einer View mit Verwendung von Spalten-Aliasen in der Subquery. Auswahl der Spalten aus dieser View über die gegebenen Alias-Namen. Erzeugen einer View mit Verwendung von Spalten-Aliasen in der Subquery. Auswahl der Spalten aus dieser View über die gegebenen Alias-Namen. SQL> CREATE VIEW salvu30 2 AS SELECTempno EMPLOYEE_NUMBER, ename NAME, 3sal SALARY 4 FROMemp 5 WHEREdeptno = 30; View created.

9 12-9 Lesen von Daten über eine View 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. 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. SQL> SELECT * 2 FROMsalvu30;

10 12-10 Abfrage einer View USER_VIEWS USER_VIEWS EMPVU10 SELECTempno, ename, job FROMemp WHEREdeptno = 10; USER_VIEWS USER_VIEWS EMPVU10 SELECTempno, ename, job FROMemp WHEREdeptno = 10; SQL*Plus SELECT * FROM empvu10; EMP 7839KINGPRESIDENT 7782CLARKMANAGER 7934MILLERCLERK

11 12-11 Erzeugen einer komplexen View Erzeuge eine komplexe View, die Gruppen- funktionen enthält, um Werte aus zwei Tabellen anzuzeigen. SQL> CREATE VIEWdept_sum_vu 2 (name, minsal, maxsal, avgsal) 3 AS SELECTd.dname, MIN(e.sal), MAX(e.sal), 4AVG(e.sal) 5 FROMemp e, dept d 6 WHEREe.deptno = d.deptno 7 GROUP BY d.dname; View created.

12 12-12 Ausführungsregeln für DML- Operationen auf einer View DML-Änderungsoperationen auf ein- fachen Views ausführbar. Zeilen können nicht gelöscht werden, wenn die View folgendes enthält: – Gruppenfunktionen – GROUP BY Klausel – DISTINCT Schlüsselwort DML-Änderungsoperationen auf ein- fachen Views ausführbar. Zeilen können nicht gelöscht werden, wenn die View folgendes enthält: – Gruppenfunktionen – GROUP BY Klausel – DISTINCT Schlüsselwort

13 12-13 Ausführungsregeln für DML-Operationen auf einer View Daten einer Sicht können nicht geändert werden, wenn für die View folgendes gilt: – Eine der zuvor genannten Bedingungen. – Spalten, die durch Ausdrücke definiert sind Daten können nicht hinzugefügt werden, wenn gilt: – Eine der zuvor genannten Bedingungen. – Es gibt NOT NULL Spalten in der Basis- tabelle, die nicht durch die View angesprochen werden. Daten einer Sicht können nicht geändert werden, wenn für die View folgendes gilt: – Eine der zuvor genannten Bedingungen. – Spalten, die durch Ausdrücke definiert sind Daten können nicht hinzugefügt werden, wenn gilt: – Eine der zuvor genannten Bedingungen. – Es gibt NOT NULL Spalten in der Basis- tabelle, die nicht durch die View angesprochen werden.

14 12-14 Löschen einer View Das Löschen einer Sicht ohne Daten- verlust ist möglich, weil eine View auf den darunterliegenden Tabellen der Datenbank basiert. SQL> DROP VIEW empvu10; View dropped. DROP VIEW view;

15 12-15 Übungen Erzeugen einer einfachen View Erzeugen einer komplexen View Datenmodifikation über eine View Anzeige von View-Definitionen Löschen von Views Erzeugen einer einfachen View Erzeugen einer komplexen View Datenmodifikation über eine View Anzeige von View-Definitionen Löschen von Views

16 12-16

17 12-17


Herunterladen ppt "10 Sichten (Views). 12-2 Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern."

Ähnliche Präsentationen


Google-Anzeigen