Oracle SQL. Seminarunterlage. Version vom

Ähnliche Dokumente
IBM Informix SQL. Seminarunterlage. Version vom

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankadministration Grundlagen

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Bibliografische Informationen digitalisiert durch

Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch)

Einführung in SQL Datenbanken bearbeiten

Oracle PL/SQL für Experten - Performance Analyse und Laufzeitoptimierung

SQL (Structured Query Language) Schemata Datentypen

Inhaltsverzeichnis. jetzt lerne ich

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

SQL Einstieg und Anwendung

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Oracle Database: Introduction to SQL

IBM Informix Tuning und Monitoring

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

MCSA: SQL 2016 Database Development

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Solaris Virtualisierung mit ZFS und Container (Zonen)

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

Oracle Backup und Recovery mit RMAN

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

MySQL Administration. Seminarunterlage. Version 3.02 vom

SQL structured query language

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Arbeiten mit ACCESS 2013

Oracle Backup und Recovery

Klaus Giesen SQL. Das bhv Taschenbuch

Unterabfragen (Subqueries)

PHP Programmierung. Seminarunterlage. Version 1.02 vom

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Microsoft Access 2010 SQL nutzen

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Datenbanken: Datenintegrität.

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Prozedurale Datenbank- Anwendungsprogrammierung

Benutzerverwaltung, Sichten und Datenintegrität

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Big Data Informationen neu gelebt

Sructred Query Language

Vorwort 11. Eine neue Datenbank erstellen 79;

3.17 Zugriffskontrolle

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

Views in SQL. 2 Anlegen und Verwenden von Views 2

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

ACCESS SQL ACCESS SQL

Oracle AWR und ASH Analyse und Interpretation

Inhalt. 1. MySQL-Einführung Datenbankentwurf 27

Linux Hochverfügbarkeits-Cluster

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #6. SQL (Teil 4)

Bedingungen über Werte Statische Integrität. CHECK-Klausel

Oracle PL/SQL und Datenbankprogrammierung - LVC

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL.

Oracle 10g Einführung

Prozedurale SQL-Erweiterungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

Vorbereitungen zum 3. Praktikum (PL/SQL):

ISBN

Übersicht über Datenbanken

Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

UEB. Übungen zum Seminar 4053

1.6 Zusammenfassung... 19

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

SQL-Anweisungen. SELECT (SQL Data Query Language)

JOIN-Strategien eines Optimizers (1)

Microsoft SQL Server 2000 Programmierung

Erste Schritte, um selber ConfigMgr Reports zu erstellen

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

SQL. Fortgeschrittene Konzepte Auszug

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Datenbank- Programmierung mit InterBase

Solaris 11 Systemadministration Grundlagen

SQL,Teil 3: Unterabfragen, Views & Berechnungen

... Rollen verwalten

Datenmanipulation in SQL. Select Anweisung

MOC 10774A: Abfragen unter Microsoft SQL Server 2012

Oracle SQL Tutorium - Wiederholung DB I -

SQL Server 2005 Der schnelle Einstieg

ht t p://w w w.kebel.de/

6 Sicherheitskonzepte in Oracle

SQL Server 2008 Der schnelle Einstieg

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

WebSphere Application Server Installation

INFORMATIONSUNTERLAGEN. Grundzüge der SQL-Programmierung. Vag 09/2005

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Transkript:

Seminarunterlage Version: 12.16 Version 12.16 vom 12. Oktober 2017

Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der weitergegeben oder benutzt werden. Die besitzt folgende Geschäftsstellen Adressen der Karl-Schurz-Straße 19a D-33100 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Welser Straße 9 D-86368 Gersthofen Tel.: (+49) 08 21 / 507 492 0 Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Internet: https://seminare.ordix.de Email: seminare@ordix.de Seite 2 Version: 12.16

Inhaltsverzeichnis 1 Grundlagen... 7 1.1 Überblick... 8 1.2 Vorteile der relationalen Datenbank... 10 1.3 Oracle-RDBMS... 11 1.3.1 Systemarchitektur... 11 1.3.2 Die Komponenten der Oracle-Datenbank... 13 1.4 Die logische und physische Oracle-Struktur... 15 1.4.1 Physische Strukturen... 17 1.4.2 Logische Strukturen... 19 1.5 Data Dictionary... 20 1.6 Daten in Oracle - Datendateien auf Betriebssystemebene... 22 1.7 Begriffsdefinitionen... 24 1.8 Normalisierung von Daten... 25 1.8.1 Redundanzen... 26 1.8.2 Die 0. Normalform... 27 1.8.3 Die 1. Normalform... 28 1.8.4 Die 2. Normalform... 30 1.8.5 Die 3. Normalform... 33 1.8.6 Zusammenfassung Normalformen... 35 1.8.7 Beziehungsintegrität... 36 1.8.7.1 Primär- und Fremdschlüsselprinzip... 37 1.9 Oracle Data Dictionary Views... 38 1.10 Übungen... 39 1.11 Lösungen... 40 2 Data Definition Language (DDL)... 43 2.1 Allgemeines... 44 2.2 Erstellen einer Tabelle... 45 2.2.1 Die CREATE TABLE-Anweisung... 45 2.2.2 Datentypen... 47 2.2.3 Datentyp-Erweiterung in 12c... 49 2.2.3.1 Vorgehen bei der Aktivierung... 50 2.2.4 Long Identifiers... 51 2.2.5 Invisible Colums... 52 2.2.6 Identity Colums... 53 2.2.7 NULL-Werte... 55 2.2.8 DEFAULT bei expliziten NULL... 56 2.2.9 Virtuelle Spalten... 57 2.3 Indizes... 59 2.3.1 Die CREATE INDEX Anweisung... 59 2.3.2 Richtlinien für Indizes... 63 2.4 Die CREATE VIEW-Anweisung... 64 2.5 Die CREATE SEQUENCE Anweisung... 67 2.5.1 Sequenzen als Standardwert... 70 2.6 Die CREATE SYNONYM Anweisung... 71 2.7 Die ALTER TABLE-Anweisung... 72 2.7.1 Tabellen verschieben ( Spalten löschen)... 74 2.7.2 Unsichtbare Spalten... 75 2.8 Die ALTER INDEX-Anweisung... 76 2.9 Die ALTER VIEW-Anweisung... 77 2.10 Die ALTER SEQUENCE-Anweisung... 78 2.11 Die DROP-Anweisung... 79 2.11.1 DROP TABLE... 79 2.11.2 DROP TABLE unter Oracle 10g... 80 2.11.3 DROP INDEX... 81 2.11.4 DROP VIEW... 82 2.11.5 DROP SEQUENCE... 83 2.12 Semantische Datenintegrität (CONSTRAINTS)... 84 Version: 12.16 Seite 3

2.12.1 Einschränkung von Spaltenwerten... 87 2.12.2 Entitätsintegrität... 88 2.12.3 Referentielle Integrität... 89 2.12.4 Referentielle Integritätsregeln und Mehrdeutigkeiten... 92 2.13 Übungen... 93 2.14 Lösungen... 98 3 Data Manipulation Language (DML)... 106 3.1 SQL DML Anweisungen... 107 3.2 Datensätze einfügen mit INSERT... 108 3.3 Datensätze löschen mit DELETE... 110 3.4 Datensätze verändern mit UPDATE... 111 3.5 Error Logging... 113 3.5.1 Syntax... 113 3.5.2 Error Logging beim Insert... 114 3.6 Übungen... 115 3.7 Lösungen... 116 4 Abfragen mit der SELECT-Anweisung... 118 4.1 Allgemeines... 119 4.2 Beispiele... 120 4.3 Die SELECT Liste... 122 4.4 Die FROM - Klausel... 124 4.5 Die WHERE Bedingung... 125 4.6 Vergleichs-Operatoren... 126 4.7 Der QUOTE-Operator... 130 4.8 Die ORDER BY -Klausel... 131 4.9 Funktionen... 132 4.9.1 Arithmetische Funktionen (Auszug)... 133 4.9.2 Zeichenkettenfunktionen (Auszug)... 135 4.9.3 Konvertierungsfunktionen (Auszug)... 137 4.9.4 Default bei Konvertierungsfehler... 139 4.9.5 VALIDATE_CONVERSION... 140 4.9.6 Datumsfunktionen... 141 4.9.7 DATE TIME Funktionen... 142 4.9.8 Gruppenfunktionen... 143 4.9.8.1 Beispiele... 145 4.9.9 Besondere Funktionen (NVL / DECODE)... 146 4.9.10 Der EXISTS Operator... 148 4.9.11 Der einfache CASE-Ausdruck... 149 4.9.12 Der erweiterte CASE - Ausdruck... 151 4.9.13 NULLIF und COALESCE... 152 4.10 Die GROUP BY Klausel... 153 4.10.1 GROUP BY ROLLUP / CUBE... 154 4.11 Die HAVING Klausel... 156 4.12 Hierarchische Abfragen mit CONNECT BY... 157 4.13 LIMIT Klausel... 159 4.14 Beispiel Limitierung... 160 4.15 Reguläre Ausdrücke... 161 4.15.1 Meta-Symbole... 162 4.15.2 Funktionen... 163 4.16 Zusammenfassung: SELECT - Statement... 166 4.17 JOINS (Verknüpfungen)... 168 4.17.1 ANSI OUTER JOIN - Syntax... 170 4.17.2 ANSI 12c Erweiterungen... 172 4.17.2.1 Verbesserte Oracle Outer Join Syntax... 173 4.17.3 Das Kartesische Produkt... 174 4.18 Subqueries (Unterabfragen)... 175 4.18.1 Synchronisierte Unterabfragen... 177 4.18.2 Inline Views... 178 Seite 4 Version: 12.16

4.18.3 Scalar Subqueries... 179 4.19 Übungen... 180 4.20 Mengen- Operatoren... 183 4.21 Lösungen... 186 5 Datenschutz... 199 5.1 Konzept... 200 5.2 Datenbankbenutzer und Schema... 202 5.3 Benutzerverwaltung... 203 5.4 Befehle zur Benutzerverwaltung... 204 5.4.1 Der CREATE USER Befehl... 205 5.4.2 Der ALTER USER Befehl... 206 5.4.3 Der DROP USER Befehl... 207 5.4.4 Data Dictionary Views... 208 5.4.5 Der GRANT Befehl für Systemprivilegien... 209 5.4.6 Der GRANT Befehl für Objektprivilegien... 210 5.4.7 Der REVOKE-Befehl für Systemprivilegien... 211 5.4.8 Der REVOKE-Befehl für Objektprivilegien... 212 5.4.9 Objekte und Objektprivilegien... 213 5.4.10 Data Dictionary Views für Objektprivilegien... 214 5.4.11 Systemprivilegien... 215 5.5 Das Roles Konzept... 216 5.5.1 Der CREATE ROLE Befehl... 219 5.5.2 Der ALTER ROLE Befehl... 219 5.5.3 Der DROP ROLE Befehl... 220 5.5.4 Der SET ROLE Befehl... 221 5.5.5 Setzen von Default Roles... 222 5.5.6 Vordefinierte Roles... 223 5.5.7 Data-Dictionary Views für Roles... 224 5.6 Operating System Authorized Logins... 225 5.7 Benutzer Profile... 226 5.7.1 Der CREATE PROFILE Befehl... 227 5.7.2 Der ALTER PROFILE Befehl... 228 5.7.3 Der DROP PROFILE Befehl... 229 5.7.4 Aktivierung von Profiles... 230 5.7.5 Data Dictionary Views für Profiles... 231 5.7.6 Passwortverwaltung... 232 5.8 Übungen... 233 5.9 Lösungen... 234 6 SQL*Plus... 235 6.1 Leistungsmerkmale... 236 6.2 Starten von SQL*Plus... 237 6.2.1 Predefined Variablen beim SQL*Plus Prompt... 238 6.3 Editierfunktionen... 239 6.4 Befehls-Dateien und -Funktionen... 241 6.5 Spool Dateien... 242 6.6 Lokale Variablen... 243 6.7 Weitere Befehle... 244 6.8 Einstellungen... 245 6.9 Befehlsdatei (Skript-Datei)... 251 6.10 SQL*Plus Berichtserstellung... 252 6.10.1 Spaltenbefehle... 253 6.10.2 Gruppenwechsel... 255 6.10.3 Berechnungen... 256 6.10.4 Der CLEAR Befehl... 257 6.10.5 Titelbefehle... 258 6.10.6 Beispiel... 260 6.11 Blob Unterstützung in SQL*Plus... 262 6.12 Übungen... 263 Version: 12.16 Seite 5

6.13 Lösungen... 266 7 Sperrmechanismen und Transaktionskonzept... 270 7.1 Einführung... 271 7.2 Sperren... 273 7.3 Transaktionskonzept... 276 7.4 Übungen... 278 7.5 Lösungen... 279 8 PL/SQL und Trigger... 280 8.1 Grundlagen... 281 8.2 Funktionsweise von PL/SQL... 283 8.3 Einteilung von PL/SQL-Komponenten... 284 8.4 Datentypen und Deklaration von Variablen... 286 8.4.1 Explizite Variablendeklarationen... 287 8.4.2 Implizite Variablendeklarationen... 288 8.5 Der PL/SQL-Cursor... 289 8.5.1 Expliziter Cursor... 290 8.5.1.1 Beispiel... 294 8.5.2 Impliziter Cursor... 295 8.6 Der Ausführungsteil eines PL/SQL-Blockes... 296 8.6.1 Allgemeine Eigenschaften des Ausführungsteils... 296 8.6.2 Die IF-THEN-ELSE Anweisung... 298 8.6.3 Schleifen in PL/SQL... 299 8.7 Der Fehlerbehandlungsteil eines PL/SQL-Blockes... 301 8.7.1 Beispiel für eine Fehlerbehandlung... 303 8.8 PL/SQL Funktionen / Prozeduren... 304 8.8.1 Stored Procedures / Functions / Packages... 305 8.8.2 Deklaration von Prozeduren... 306 8.8.2.1 Beispiel... 307 8.8.3 Anlegen prozeduraler Objekte - Prozeduren... 308 8.8.4 Deklaration von Funktionen... 309 8.8.5 Syntax zum Anlegen einer Stored Function... 311 8.8.6 Der Funktionsaufruf... 312 8.9 Packages... 314 8.9.1 Das DBMS_OUTPUT-Package... 315 8.9.2 Packages erstellen... 316 8.10 Oracle Datenbank-Trigger (DML-Trigger)... 318 8.10.1 Auslösesequenz eines Datenbank-Triggers... 320 8.10.2 Abfangen von Fehlern... 322 8.10.3 DDL für Datenbank-Trigger... 323 8.11 Übungen... 325 8.12 Lösungen... 328 9 Zusatzaufgaben... 334 9.1 Übungen... 335 9.2 Lösungen... 340 10 Glossar... 362 Seite 6 Version: 12.16