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.

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Datenbanksysteme für FÜ WS2004/05 SQL1 - 1 Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
Entwicklung von XML-Anwendungen mit ORACLE XSU Oberseminar Datenbanken Andreas Rebs, 01INM.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Datenbankentwicklung IV-LK
Datenbanken Mehr als Tabellen.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Datenbanken?.
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
Aggregatsfunktion SQL = Structured Query Language.
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 28 Version 1.0a Elementare Datenstrukturen –Tables Ansammlung von rows Jede row enthält eine oder mehrere column(s)
Verdichten von Daten mit Gruppenfunktionen
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Vorlesung #5 SQL (Teil 2).
3 Einzelzeilen-Funktionen. 3-2 Ziele Verschiedene Typen von Funktionen, die in SQL verfügbar sind Verwendung von numerischen, Zeichen- und Datumsfunktionen.
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
Einführung Schedule: Timing Topic 60 minutes Lecture 60 minutes Total.
Integritätsbedingungen (Constraints)
7 Verändern von Daten. 9-2 Ziele Beschreibe jeden DML Befehl Einfügen von Zeilen in eine Tabelle Ändern von Zeilen in einer Tabelle Löschen von Zeilen.
11 Verwaltung von Abhängigkeiten. Ziele Am Ende dieser Lektion verfügen Sie über die folgenden Kenntnisse: Überwachen prozeduraler Abhängigkeiten Effekte.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
Verknüpfung von Tabellen
Datenbank für Skriptenverkauf
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
IS: Datenbanken, © Till Hänisch 2000 SQL Structured Query Language.
IS: Datenbanken, © Till Hänisch 2000 Company: Entity types DEPARTMENT Name, Number, {Location},Manager, Mgr-Start- Date PROJECT Name, Number, Location,
2015 © Trivadis BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2015 © Trivadis Analytische Funktionen.
SQL Basics Schulung –
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Darstellung der Relationenalgebra als Programmiersprache
Vorlesung #5 SQL (Teil 2).
Wirtschaftsinformatik
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Left Join, Right Join, Outer Join
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
(Structured Query Language)
 Präsentation transkript:

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 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

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

12-4 Was ist eine View? EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV BLAKE MANAGER MAY CLARK MANAGER JUN JONES MANAGER APR MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB FORD ANALYST DEC SMITH CLERK DEC SCOTT ANALYST DEC ADAMS CLERK JAN MILLER CLERK JAN EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV BLAKE MANAGER MAY CLARK MANAGER JUN JONES MANAGER APR MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB FORD ANALYST DEC SMITH CLERK DEC SCOTT ANALYST DEC ADAMS CLERK JAN MILLER CLERK JAN EMP Tabelle EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV CLARK MANAGER JUN MILLER CLERK JAN JONES MANAGER APR SCOTT ANALYST DEC ADAMS CLERK JAN SMITH CLERK DEC FORD ANALYST DEC BLAKE MANAGER MAY MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 17-NOV CLARK MANAGER JUN MILLER CLERK JAN JONES MANAGER APR SCOTT ANALYST DEC ADAMS CLERK JAN SMITH CLERK DEC FORD ANALYST DEC BLAKE MANAGER MAY MARTIN SALESMAN SEP ALLEN SALESMAN FEB TURNER SALESMAN SEP JAMES CLERK DEC WARD SALESMAN FEB EMPNO ENAME JOB KING PRESIDENT 7782 CLARK MANAGER 7934 MILLER CLERK EMPVU10 View EMPVU10 View

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

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]

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.

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.

12-9 Lesen von Daten über eine View EMPLOYEE_NUMBER NAME SALARY BLAKE MARTIN ALLEN TURNER JAMES WARD rows selected. EMPLOYEE_NUMBER NAME SALARY BLAKE MARTIN ALLEN TURNER JAMES WARD rows selected. SQL> SELECT * 2 FROMsalvu30;

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

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 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

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.

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;

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

12-16

12-17