Abfragesprache SQL in ORACLE

Slides:



Advertisements
Ähnliche Präsentationen
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Advertisements

System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
FH-Hof Effizienz - Anweisungen für Indexstrukturen Richard Göbel.
SQL als Abfragesprache
Datensicherheit in DBMS
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],
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Datenintegrität Referentielle Integrität create table
Datenbanken 13: Objekt-Klasse-Datenbank
Datenbanken 10: Einfügen, Ändern, Löschen
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
2.2 Definition eines Datenbankschemas (SQL-DDL)
objekt-relationale Datenbanken
Datenbankentwicklung IV-LK
Relationale Datenbanken III
O.Univ.-Prof. Dr. Dimitris Karagiannis Datenbanken administrieren mit phpMyAdmin Martin Marinschek
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)
Relationales Datenmodell und DDL
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Einführung Schedule: Timing Topic 60 minutes Lecture 60 minutes Total.
Integritätsbedingungen (Constraints)
10 Sichten (Views) Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern.
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.
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
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
Datenbank für Skriptenverkauf
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
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.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Veranstaltung: Datenbanken I Dozent: Ioannis Papakostas Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg (Matrikel-Nr.: ) Sebastian.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Reorganisation und Administration großer SAP-DB Manfred Riemer SAP AG (z.B. MCOD-Systeme)
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Anforderungen an die neue Datenstruktur
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Darstellung der Relationenalgebra als Programmiersprache
Logisches Datenmodell
Wirtschaftsinformatik
Vorlesung #7 SQL (Teil 4).
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Sichten.
Relationale Datenbankmanagement-Systeme
Constraints anlegen und löschen, Data Dictionary Tabellen
Create Table, Rechte und Rollen
Left Join, Right Join, Outer Join
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbanken Von Fabian & Eddi.
Präsentation von Darleen und Michèle
Von Franziska und Robine
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
(Structured Query Language)
 Präsentation transkript:

Abfragesprache SQL in ORACLE Vertiefung Abfragesprache SQL in ORACLE

Literatur Oracle Online-Dokumentation – Database Administration http://docs.oracle.com/database/121/nav/portal_4.htm Database SQL Language Reference Database SQL Language Quick Reference

AGENDA Data Dictionary DML – Vertiefung 2.1 Views 2.2 Constraints

Primary-Key, Foreign-Key 4. Data Dictionary Primary-Key, Foreign-Key

Data Dictionary Speichert META-Daten über Tabellen, Views etc. in der Datenbank. Darunter: Beschreibungen angelegter Tabellen (Name, Spalten, Datentypen) und Views Informationen über angelegte Constraints Daten über Nutzer und ihnen zugewiesene Rechte Meta-Daten werden in Tabellen verwaltet und können so direkt oder über vorhandene Views abgefragt werden.

Beispiele für Data Dictionary Abfragen Abfrage aller Tabellen, die vom aktuellen Nutzer angelegt wurden Abfrage aller Views, die vom aktuellen Nutzer angelegt wurden Abfrage aller Constraints, die vom aktuellen Nutzer angelegt wurden SELECT table_name FROM user_tables; SELECT view_name, text FROM user_views; SELECT constraint_name FROM user_constraints;

3.1 Views

SQL Views – Anlegen und Löschen View kann als virtuelle Tabelle angesehen werden Enthält keine Daten, sondern basiert auf einer gespeicherten SQL-Abfrage, die Daten aus einer oder mehreren Tabellen selektiert Ähnlich einer Tabelle kann eine Abfrage auf Views gemacht werden CREATE (OR REPLACE) VIEW viewname AS SELECT-STATEMENT; SELECT-Statement wird bei jedem Zugriff auf die View ausgeführt CREATE OR REPLACE VIEW v_emp_dept AS SELECT empno, ename, hiredate, d.deptno, dname FROM emp e INNER JOIN dept d ON (e.deptno = d.deptno);

Basistabellen der View EMP und DEPT Views - Verwendung SELECT ename, dname FROM v_emp_dept; Basistabellen der View EMP und DEPT V_EMP_DEPT SELECT empno, ename, hiredate, d.deptno, dname FROM emp e INNER JOIN dept d ON (e.deptno = d.deptno); EMPNO ENAME … DEPTNO 7782 CLARK 10 7839 KING 7369 SMITH 20 DEPTNO DNAME LOC 20 RESEARCH DALLAS 30 SALES CHICAGO Ergebnis ENAME DNAME CLARK ACCOUNTING KING …

Übung Erzeuge eine View, die folgendes Ergebnis repräsentiert, das nur Verkäufe vom 27.06.2015 umfasst: VNR VNAME UNR ANZAHL ANR ANAME APREIS -------- --------------- -------- ------------- -------- --------------------- ---------- 4321 Jahred 1010 7 12 Stiefel 89,99 3401 Schmitz 1000 10 12 Stiefel 89,99 4321 Jahred 1011 15 11 Pullover 35,2 1010 Mueller 1006 40 11 Pullover 35,2 5337 Ritsch 1003 70 11 Pullover 35,2 4321 Jahred 1009 35 13 Wintermantel 123,8 1010 Mueller 1007 35 13 Wintermantel 123,8 2. Wie viele Verkäufe hat der Vertreter Mueller am 27.06.15 durchgeführt? 3. Wie viele Artikel hat der Vertreter Mueller am 27.06.15 verkauft? 4. Wie viele Artikel wurden durchschnittlich am 27.06.15 verkauft? 5. Welcher Artikel (anr und aname) wurde am 27.06.15 nicht verkauft?

Primary-Key, Foreign-Key, Check 3.2 Constraints Primary-Key, Foreign-Key, Check

Constraints Constraints (Bedingungen) können für Spalten einer Tabelle definiert werden Sie stellen Regeln dar, die beim Einfügen von Werten in diese Spalten eingehalten werden müssen Folgende Constraints können definiert werden NOT NULL – Constraint Primary Key - Constraint Foreign Key – Constraint UNIQUE – Constraint Check - Constraint

NOT NULL Constraint NOT NULL Constraint bei Anlegen der Tabelle NOT NULL Constraint kann für eine Spalte einer Tabelle angelegt werden Verhindert, dass NULL-Werte in diese Spalte eingefügt werden Kann beim Anlegen der Tabelle erzeugt oder nachträglich hinzugefügt werden NOT NULL Constraint bei Anlegen der Tabelle NOT NULL Constraint nachträglich hinzufügen CREATE TABLE person ( nachname VARCHAR2(30) NOT NULL, geburtstag DATE, gewicht NUMBER(4,1) ); ALTER TABLE person MODIFY (nachname NOT NULL);

Primary Key Constraint Eine/mehrere Spalten können über den Primary Key Constraint als Primärschlüssel festgelegt werden Primärschlüssel besteht aus einer Spalte jeder Datensatz muss über den Wert in dieser Spalte eindeutig identifiziert werden können. Beispiel – Primärschlüssel auf PNR: Jede PNR darf nur einmal vorhanden sein Primärschlüssel besteht aus mehreren Spalten jeder Datensatz muss über die Wertkombination in diesen Spalten eindeutig identifiziert werden können Beispiel – Primärschlüssel auf Vorname, Nachname, Geburtstag: Es dürfen keine zwei Personen mit identischem Namen und Geburtsdatum eingefügt werden PNR Vorname Nachname Geburtsdatum Geschlecht 1 Peter Kiel 01.01.1980 maennlich 2 Lisa Lebe 02.02.1970 weiblich

Primary Key Constraint Primärschlüssel bei Tabellenerzeugung anlegen Primärschlüssel nach Tabellenerzeugung hinzufügen PNR Vorname Nachname Geburtsdatum Geschlecht 1 Peter Kiel 01.01.1980 maennlich 2 Lisa Lebe 02.02.1970 weiblich CREATE TABLE person ( pnr NUMBER(8,0), nachname VARCHAR2(30), geburtstag DATE, CONSTRAINT pkper PRIMARY KEY(pnr) ); CREATE TABLE person ( pnr NUMBER(8,0) CONSTRAINT pkper PRIMARY KEY, nachname VARCHAR2(30), gewicht NUMBER(4,1) ); ALTER TABLE person ADD CONSTRAINT pkper PRIMARY KEY (pnr);

Foreign Key Constraint Fremdschlüssel-Spalte referenziert Primärschlüssel (bzw. Unique Key-Spalte) einer Tabelle Fremdschlüssel ADRESSE Primärschlüssel PERSON PNR ANR Ort Strasse 100 1 Trier Nebenstr. 2 Koblenz Hauptstr. 101 3 Wittlich Kirchstr. PNR Vorname Nachname Geburtsdatum Geschlecht 100 Peter Kiel 01.01.1980 maennlich 101 Lisa Lebe 02.02.1970 Weiblich REFERENZIERT Foreign Key beim Erzeugen der Tabelle anlegen CREATE TABLE adresse ( pnr NUMBER(4,0)CONSTRAINT fkper REFERENCES PERSON(pnr), …., ); CREATE TABLE adresse ( pnr NUMBER(4,0), …., CONSTRAINT fkper FOREIGN KEY(pnr) REFERENCES PERSON(pnr) );

Foreign Key Constraint Fremdschlüssel-Spalte referenziert Primärschlüssel (bzw. Unique Key-Spalte) einer Tabelle Fremdschlüssel ADRESSE Primärschlüssel PERSON PNR ANR Ort Strasse 100 1 Trier Nebenstr. 2 Koblenz Hauptstr. 101 3 Wittlich Kirchstr. PNR Vorname Nachname Geburtsdatum Geschlecht 100 Peter Kiel 01.01.1980 maennlich 101 Lisa Lebe 02.02.1970 Weiblich REFERENZIERT Foreign Key nach Tabellenerzeugung hinzufügen ALTER TABLE adresse ADD CONSTRAINT fkper FOREIGN KEY(pnr) REFERENCES person(pnr);

Constraints löschen ALTER TABLE tabellenname DROP CONSTRAINT constraintname; Mit folgendem Befehl wird der Primary Key Constraint PKVERTRETER gelöscht, der für die Tabelle Vertreter angelegt wurde. ALTER TABLE vertreter DROP CONSTRAINT PKVERTRETER;

Übung Führe das Skript dbVertreter_ohneCons.sql aus. 1. Lege für die Tabellen Vertreter, Verkauf und Artikel Primary Key Constraints an. 2. Lege für die Tabelle Verkauf alle notwendigen Foreign Key Constraints an. Lösche den Foreign Key Constraint FK_DEPTNO. Dieser ist für die Spalte deptno in der Tabelle emp definiert. Lege den benötigten Foreign Key Constraint für die Tabelle emp neu an.