e
ng t e m
u
rles sys
Vo ns
t io
a
o rm Modul 1
f
In
Grundlagen von
Datenbanken
Department of
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Inhalt
n Einführung
l Motivation und Historie
l Architektur
l Existierende Systeme
n Konzeptionelle Datenmodelle
n Realisierungs-Datenmodelle
n Datenbankentwurf
n SQL
Motivation
Ohne Datenbanken ... 1/2
Motivation
Ohne Datenbanken ... 2/2
Motivation
Mit Datenbanken ... Datenintegration
Motivation
Historie
n 70er Jahre
l Datenbanksysteme
l Geräte- und Datenunabhängigkeit, redundanzfrei, konsistent
Motivation
Historie von Relationalen DBS
Codd E.F.: A Relational Model of Data for Large Shared Data Banks.
Communications of the ACM, Volume 13, Issue 6, 377-387, 1970
Architektur
Die Codd'schen Regeln (1985!)
1. Integration
w einheitliche, nichtredundante Datenverwaltung
2. Operationen
w Speichern, Suchen, Ändern, Einfügen
3. Katalog
w Zugriffe auf Datenbankbeschreibungen im Data Dictionary
4. Benutzersichten
w Sichten auf eine Datenbank
5. Integritätssicherung
w Korrektheit des Datenbankinhalts
6. Datenschutz
w Ausschluss unauthorisierter Zugriffe
7. Transaktionen
w mehrere DB-Operationen als Funktionseinheit
8. Synchronisation
w parallele Transaktionen koordinieren
9. Datensicherung
w Wiederherstellung von Daten nach Systemfehlern
w ...
Architektur
Komponenten eines DBS im Überblick
n Besteht aus
l einer oder mehreren Datenbanken (DB)
l einem Data Dictionary (DD)
l und einem Datenbankmanagementsystem (DBMS)
DD (Data DB 1 DB n
Dictionary (Daten- ...
Gespeicherte mit DB- bank)
Datenbank- Schema)
definition
(Metadaten)
DBS (Datenbanksystem)
Architektur
Komponenten eines DBS im Detail
Anwendungs-
programmierer
Anwendungsprogramme
Gelegentliche
Datenbankadministrator Benutzer
Pre-Compiler
Host Language
DDL-Anweisungen Privilegierte Befehle Interaktive Anfrage
Compiler
Datenbank
COOPERATIVE INFORMATION SYSTEMS, JKU Linz 10/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Architektur
Drei-Schichten-Architektur 1/3
Benutzer
Anfragebearbeitung
Datendarstellung
externe/konzeptuelle Abbildung Logische Datenbankunabhängigkeit
Gespeicherte Datenbank
Standardisiert: ANSI/X3/SPARC
COOPERATIVE INFORMATION SYSTEMS, JKU Linz 11/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Architektur
Drei-Schichten-Architektur 2/3
Architektur
Drei-Schichten-Architektur 3/3
n Physische Datenunabhängigkeit
“Implementierungsunabhängigkeit“
l Änderungen der Dateiorganisationen und Zugriffspfade
haben keinen Einfluss auf das konzeptuelle Schema
n Logische Datenunabhängigkeit
“Anwendungsunabhängigkeit“
l eventuell externe Schemata betroffen (Ändern von
Attributen)
Existierende Systeme
Eigenschaften von RDBS im Überblick
Existierende Systeme
Entwicklungshistorie von RDBS
Existierende Systeme
Open Source RDBS – Beispiele
n MySQL (www.mysql.com)
l weit verbreitet (Linux, Solaris, Windows)
l gute SQL-Unterstützung
l keine Stored Procedures- und Trigger-Unterstützung
l eingeschränkte Transaktionsunterstützung
n Firebird (www.firebirdsql.org)
l weit verbreitet (Linux, Solaris, Windows)
l gute SQL-Unterstützung
l kompakt, geringer Speicherbedarf
l unterstützt verteilte Transaktionen
n PostgreSQL (www.postgresql.org)
l umfangreiches Angebot an Erweiterungen durch Dritthersteller,
wie z. B. PostGIS zur Verwaltung von Geo-Daten
l PostgreSQL ist in den meisten Linux-Distributionen enthalten
l Apple liefert PostgreSQL als Standarddatenbank aus
Existierende Systeme
Einsatzgebiete von RDBS
n Klassische Einsatzgebiete
l Große Datenmengen, viele Nutzer
l Wohlstrukturiertes Schema
l Redundanzfreiheit
l Flexibel abfragbar
l Von mehreren Anwendungen gleichzeitig nutzbar, bei hoher
Aktualität der Daten
l Ausfallsicherheit
l ...
n Grenzen
l Flexible Schemata
l Gezielte Redundanzen zur Performanz-Steigerung
l "Unschärfe" bei Abfragen – „similarity search“
l Flexibles Konsistenzmodell
l …
Existierende Systeme
Klassifikation von DBS
n Hierarchische Systeme
l z.B. IMS/IBM
n Netzwerkmodell-basierte Systeme
l z.B. UDS/Siemens
n (Objekt)-Relationale Systeme
l z.B. Oracle, DB2, SQLServer
n Objektorientierte Systeme
l z.B. ObjectStore, Poet, Versant, GemStone
n XML-basierte Systeme
l z.B. TAMINO/Software AG, eXcelon
n NoSQL-Systeme
l z.B. MongoDB, Hbase, Cassandra
Existierende Systeme
Non-Standard Anwendungsbereiche
n Multimedia
l Verwaltung multimedialer Objekte (Bilder, Audio, Video)
n Verteilte Datenhaltung
l Verteilung von Daten auf verschiedene Rechnerknoten
n Mobile Datenbanken
l Datenverwaltung auf Kleinstgeräten (PDA, Handy, . . . )
n Data Warehouses
l Datenverwaltung für Analysezwecke
n …
Inhalt
n Einführung
n Konzeptionelle Datenmodelle
l Modellbegriff
l Datenmodelle
l Vorgehensmodell für den DB-Entwurf
l ER-Modelle
l Objektorientierte Modelle – UML
n Realisierungs-Datenmodelle
n Datenbankentwurf
n SQL
Modellbegriff
Abbildungsmerkmal
Platz
Sitzplatz
Reihe
EndeZeit=BeginnZeit+Film.Dauer N
Assistent Mitarbeiter
EndeZeit
Kino
1 BeginnZeit
reserviert
besitzt Datum
N 1 ReservierungsNr
1 N 1 N
Saal spieltIn Vorführung gehörtZu Reservierung Verfallsdauer
1 N N N
Realitäts-
Verfallszeit
SaalNr Verfallszeit=
hat macht Vorführung.BeginnZeit -
Modell
Bezeichnung Verfallsdauer
Sicht Sicht
Anz. Reihen 1
1 ID
Anz. Plätze
ausschnitt Modell
Film Person Vorname
entwertenKarten
Code Nachname
giltFür
Titel IS_A IS_A
Dauer
Mitarbeiter Besucher
FreigegebenAb 1
Kartenabreißer SVNr
N IS_A
Platz IS_A Adresse
Eintrittskarten Preis Name
Reihe
IS_A Produkt N verkaufen 1 Verkäufer arbeitetAn Ticketschalter
GNr N N
Gutschein
Diagramme
Gültigkeit
Modellbegriff
Verkürzungsmerkmal
Bsp:
Original Modell
Ein Datenmodell
n Realisierungsmodelle
l Relationenmodell
l Objektorientierte Modelle
l Semistrukturierte Modelle
relational
(hierarchisch, objekt-
Logischer orientiert, objekt- Logisches Rechnung(RechNr, Datum, ...)
Entwurf relational, semi- DB-Schema Bestellung(BestellNr, Datum, ...)
strukturiert, ...)
Das ER-Modell
n Das Entity-Relationsship-Modell wurde 1976 in einem
wegweisenden Aufsatz von Peter Chen vorgestellt
Dr. Peter Chen
Das ER-Modell
Grundkonzepte
n Entity
l Objekt der realen oder der Vorstellungswelt, über das
Informationen zu speichern sind z.B. Produkt, Hersteller oder
Kunde
l aber auch Informationen über Ereignisse, wie z.B. Bestellungen
n Relationship
l beschreibt eine Beziehung zwischen Entities, z.B. ein Kunde
bestellt ein Produkt oder ein Hersteller liefert ein Produkt
n Attribut
l repräsentiert eine Eigenschaft von Entities oder Beziehungen,
z.B. Name eines Kunden, Bezeichnung eines Produktes oder
Datum einer Bestellung
Das ER-Modell
Beispiel
1 bezieht 1 m n
Rechnung sich Bestellung umfasst Produkt Bezeichnung
n m
ProduktNr
1
Versand bestellt liefert
Adresse
KundenNr Name
Adresse
Das ER-Modell
Einschätzung
Objektorientierte Datenmodelle
Objektorientierte Datenmodelle
Ziele von UML
Objektorientierte Datenmodelle
Historische Entwicklung von UML
Konsolidierung
2015 UML 2.5 Öffentliches
Feedback
Fundamentale UML 2
2005 Neuerungen
Erweiterung
Öffentliches
2004 Aktionsmodell Feedback
Diverse Fragmentierung
OOAD OMT OOSE
Methoden
Diagrammart
Strukturdiagramm Verhaltensdiagramm
Paketdiagramm
COOPERATIVE INFORMATION SYSTEMS Sequenzdiagramm
, JKU Linz 33/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Objektorientierte Datenmodelle
Beispiel UML-Klassendiagramm
1 1
CALENDARIUM
verwaltet verwaltet
Personengruppe *
* Eintrag
* nimmtTeil
* Benutzer 1..* * {abstract} Kalender
* 1..*
ergehtAn name /auszeichnung: Farbe gehörtZu istOffen: bool
1..* berechtigung beschreibung: String {ordered} *
* typ: Termintyp
stelltDar
Notifikation 0..3 erinnertAn 1
*
Ansicht
Termin Serie ToDoEintrag
beginn: DatumZeit whDauer fälligPer: Datum
dauer: Zeit whFrequenz 1..*
hyperlink [0..1]: URL 0..1 0..1
* anzahlTermine: Int {ordered}
/kollidiertMit
* 1..* {xor}
{ordered}
Inhalt
n Einführung
n Konzeptionelle Datenmodelle
n Realisierungs-Datenmodelle
l Relationenmodell
l NF2-Datenmodell
l Objektorientierte Modelle
l Semistrukturierte Modelle – XML
n Datenbankentwurf
n SQL
n Klassische Datenmodelle
l Hierarchisches Datenmodell
l Netzwerk-Datenmodell
l Relationenmodell
n Erweiterte relationale Datenmodelle
l NF2-Datenmodell
n Objektorientierte Datenmodelle
n Semistrukturierte Datenmodelle
l eXtensible Markup Language (XML)
Relationenmodell
Grundkonzepte 1/3
Relationenname Attribut(-namen)
R A1 ... An Relationenschema
Attributwerte
Codd E.F.: A Relational Model of Data for Large Shared Data Banks.
Communications of the ACM, Volume 13, Issue 6, 377-387, 1970
Relationenmodell
Grundkonzepte 2/3
Relationenmodell
Grundkonzepte 3/3
Relationenmodell
Schlüssel
Relationenmodell
Fremdschlüssel 1/2
102 y 77.6 60 11 11 B
103 z 55.7 2 11 12 C
Relationenmodell
Fremdschlüssel 2/2
NF2-Relationenmodell
n Zweck
l Verarbeitung komplexer Attributwerte
l Strukturierte und mengenwertige Attribute
n Merkmale
l Nichtatomare Attributwerte werden zugelassen (1.NF wird nicht
gefordert - Non First Normal Form - NFNF _ NF2)
l Attributwerte können demnach atomar oder wiederum
Relationen sein _ "geschachtelte" Relationen
l Operationen zum Schachteln (Nesting) und Entschachteln von
Relationen notwendig
NF2-Relationenmodell
Beispiel einer NF2-Relation
Lehrpersonal
Studiengang Belegschaft
PersNr Nachname Telefone Eintrittsjahr
Telefon
07236-3888-2020
101 Dobler 1996
0664-3476543
07236-3888-2023
103 Altmann 2005
0669-8765434
0732-594054
07236-3888-2024
104 Hinterholzer 1998
07236-3888-2700
Bioinformatik 144 Pröll 1999
0676-3456789
Objektorientierte Datenmodelle
n Merkmale
l Objekte
l Objektidentität (unveränderliche OIDs)
l Kapselung
l Typen, Klassen und Beziehungen
l Spezialisierung
n Entwicklungslinien
l Erweiterung objektorientierter Programmiersprachen
(z.B. ObjectStore, Poet)
l komplette Neuentwicklungen (z.B. O2)
l Erweiterung von RDBS
_ Objektrelationale DBS
z.B. Oracle, IBM DB2, SQL Server
Weiterentwicklung von SQL2 zu SQL3 (enthält oo Konzepte!)
Semistrukturierte Datenmodelle
XML 1/2
h
n Strukturierung der Daten
l nicht immer sinnvoll, oft nicht bekannt, oft nicht für alle
Dokumente gleich, oft nicht gewünscht, oft zu aufwendig,
wechselt oft, ...
l optionale Teile
l Wiederholungen
l Reihenfolge relevant
Semistrukturierte Datenmodelle
XML 2/2
Inhalt
n Einführung
n Konzeptionelle Datenmodelle
n Realisierungs-Datenmodelle
n Logischer Entwurf
l Zwei Kernaufgaben
l Abbildung ER-RM
l Verbesserung des relationalen Schemas
¡ Redundanzen und Anomalien
¡ Funktionale Abhängigkeiten
¡ Normalformen
¡ Schema-Eigenschaften
¡ Transformationseigenschaften
n SQL
Logischer Entwurf
Zwei Kernaufgaben
Abbildung auf RM
Konzeptionelles DM Realisierungs-DM
Verlag
Name Verlag Name Ort Plz
Ort
Plz
1..1
gibtHeraus
1..* Buch ISBN Titel Name
Buch
ISBN
Titel ISBN ID
0..* schreibt
schreibt
1..* ID Vorname Nachname
Autor
Autor
ID
Vorname
Nachname
Abbildung auf RM
Regeln am Beispiel 2/3
Lieferant
*
* *
Teil Lieferung Projekt
Abbildung auf RM
Zusammenfassung
n Klassen
l jeweils auf Relationenschemata abbilden
n Attribute
l Attribute des Relationenschemas, Schlüssel werden übernommen
n Kardinalitäten der Beziehungen
l durch Wahl der Schlüssel bei den zugehörigen Relationenschemata
ausdrücken
n Beziehungen
l *:*-Beziehung ist durch eine eigene Relation darzustellen
n Generalisierung/Spezialisierung
l keine direkte Unterstützung im Relationenmodell
l Auswahl einer geeigneten Abbildung hängt von konkreter
Problemstellung ab
l Abwägung von Speichereffizienz und Laufzeiteffizienz
l Relevant bei Abbildung OO ó Relational
Abbildung auf RM
Regeln am Beispiel 3/3
n Vererbungshierarchie
l Jede Klasse wird durch eine Relation abgebildet
l Jede Instanz ist genau einmal und vollständig in ihrer "Basis-
relation" gespeichert
Ø Es wird eine horizontale Partitionierung der Instanzen erreicht
111 Ernie
SVNR
FH-Angehöriger
Name
Angestellter SVNR Name Vertr.Kat.
IST-EIN
007 Garfield 2L
Angestellter Student
Vertragskategorie
.... Techniker SVNR Name Vertr.kat Erfahrung
IST-EIN
123 Donald 1A Linux
Techniker Wiss-Mitarbeiter
Erfahrung
Diplom Wiss-Mitarbeiter SVNR Name Vertr.kat Diplom Spez.Geb.
Spez-Geb.
777 Grouch 1L BIN C++
Einfügen
Schlüssel K
Schlüssel K
Attribut- abhängiges
menge X Attribut A
COOPERATIVE INFORMATION SYSTEMS , JKU Linz 63/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Schema- Kurzcharakteristik
Eigenschaft
1NF nur atomare Attribute
2NF keine partielle Abhängigkeit eines NSA
von einem Schlüssel
3NF keine transitive Abhängigkeit eines NSA
von einem Schlüssel
Transformations- Kurzcharakteristik
Eigenschaft
Abhängigkeitstreue alle gegebenen funktionalen Abhängigkeiten sind durch
Primär- und Fremdschlüssel repräsentiert
Verbundtreue die Originalrelationen können durch den Verbund der
Basisrelationen wieder gewonnen werden
Inhalt
n Einführung
n Konzeptionelle Datenmodelle
n Realisierungs-Datenmodelle
n Logischer Entwurf
n SQL
l SQL-Standardisierung
l Ausgewählte DDL-Konzepte
¡ CHECK-Bedingung
¡ DOMAIN-Definition
¡ Referentielle Integrität
l Ausgewählte Anfrage-Konzepte
¡ Outer-Join
¡ Gruppierung durch Rollup- und Cube-Operator
¡ Rekursive Anfragen
l Ausgewählte DML-Konzepte
¡ Merge-Anweisung
¡ Generierung eindeutiger Schlüssel
¡ Materialisierte Sicht
l Prozedurale Erweiterungen
¡ Stored Procedures
¡ Trigger
SQL-Standardisierung
Structured Query Language (SQL)
Lebenszyklus ISO-Standardisierung
n Weiterentwicklung des
Standards in vier Stufen
SQL-Standardisierung
Historie
DBMS-Produkte
Sprachentwicklung
Chamberlin, D., Boyce, R.F. SEQUEL: A Structured English Query
n SEQUEL (1974, IBM Research Labs San Jose) Language. Proc. ACM SIGFIDET Conf., Ann Arbor, MI, May 1974.
http://www.almaden.ibm.com/cs/people/chamberlin
n SEQUEL2 (1976, IBM Research Labs San Jose)
Codd, E.F.: A Relational Model of Data for Large Shared Data Banks,
n SQL (1982, IBM) Communications of the ACM, Vol. 13, No. 6, June 1970,
n ANSI-SQL (SQL1 oder SQL:86) http://www.acm.org/classics/nov95/toc.html
n ISO-SQL (SQL1 + Integrity Enhancement Feature oder SQL:89)
n (ANSI / ISO) SQL2 (als SQL:92 verabschiedet)
n (ANSI / ISO) SQL3 (als SQL:1999 verabschiedet)
n (ANSI / ISO) SQL:2003 (verabschiedet)
COOPERATIVE INFORMATION SYSTEMS , JKU Linz 70/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
SQL-Standardisierung
Standards im Historischen Überblick
https://modern-sql.com/de/standard
n SQL:1986 – SQL1
l erste Version der SQL-Norm 1986 veröffentlicht
l DDL, DML, eingebaute Typen, Privilegien für den Zugriff auf Tabellen, ...
n SQL:1989
l Erste Revision von SQL:1986
l Erweiterung um referentielle Integrität
n SQL:1992 – SQL2
l Zusätzliche Datentypen, OuterJoins, Kataloge, Domänen,
Zuweisungen, temporäre Tabellen, referentielle Aktionen, dynamisches SQL, ...
l laufende Revisionen: prozedurale Konstrukte wie Stored Procedures, Schema
Manipulation
n SQL:1999 – SQL3
l Standard wird in fünf Teile gegliedert
l zusätzliche Typen (wie CLOB, BLOB), objekt-relationale Erweiterungen, rekursive
Abfragen, Sicherungspunkte (Savepoints), Rollen, Trigger, ...
n SQL:2003
l neuer Teil: SQL/XML (Verknüpfung von XML und SQL)
l SQL/OLB und SQL/JRT: Verbindung zwischen SQL und Java
l generierte Spalten (berechnen sich aus anderen Spalten)
l MULTISET-Typen (speichern eine beliebige Anzahl von Werten mit Duplikaten)
l Merging (fügt zwei Tabellen zusammen)
l Identitätsspalten (stellen automatisch inkrementierte Werte bereit), ...
SQL-Standardisierung
Neue Anforderungen an SQL:1999-2007
SQL-Standardisierung
SQL:2007 – Umfang
SQL-Standardisierung
Konformität von SQL:2007: Core-SQL vs. SQL/XML
Prof. Dr. Wloka, Entwicklung des SQL-Standards – Vom Hoffnungsträger zum Ideengrab,
Hochschule für Technik und Wirtschaft, Dresden, Vortragsunterlagen, März 2007
COOPERATIVE INFORMATION SYSTEMS , JKU Linz 74/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
SQL-Standardisierung
SQL:2007
SQL-Standardisierung
SQL:2011
SQL-Standardisierung
SQL:2016 – aktuelle Version!
Ausgewählte DDL-Konzepte
DDL‘s im Überblick
n SQL
l DDL (Data Definition Language)
à Teil der Standardsprache für RDBS
l DDL-Erweiterungen von SQL:1999
à objektrelationale Konzepte
l DDL-Erweiterungen von SQL:2003
à XML-Konzepte
n XML
l DTD (Document Type Declaration)
l XML Schema
Ausgewählte DDL-Konzepte
CHECK-Bedingung
Ausgewählte DDL-Konzepte
DOMAIN-Definition
Ausgewählte DDL-Konzepte
Referentielle Integrität 1/4
Vatertabelle Kind-Tabelle
0..1 0..* FK ...
1..1 0..* FK ... NOT NULL
0..1 0..1 FK ... UNIQUE
1..1 0..1 FK ... UNIQUE NOT NULL
COOPERATIVE INFORMATION SYSTEMS , JKU Linz 81/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Ausgewählte DDL-Konzepte
Referentielle Integrität 2/4
Vater-Tabelle: Kind-Tabelle:
CREATE TABLE Verlage ( CREATE TABLE Bücher (
Verlagsname VARCHAR(30), ISBN CHAR(10),
... Titel VARCHAR(200),
CONSTRAINT PK_Verlagsname Verlagsname VARCHAR(30),
PRIMARY KEY CONSTRAINT PK_ISBN
(Verlagsname), PRIMARY KEY (ISBN),
... CONSTRAINT FK_Verlagsname
); FOREIGN KEY (Verlagsname)
REFERENCES Verlage (Verlagsname)
);
Ausgewählte DDL-Konzepte
Referentielle Integrität 3/4
Ausgewählte DDL-Konzepte
Referentielle Integrität 4/4
Ausgewählte DDL-Konzepte
Referentielle Aktionen bei ON DELETE / ON UPDATE 1/2
Ausgewählte DDL-Konzepte
Referentielle Aktionen bei ON DELETE / ON UPDATE 2/2
n RESTRICT
l Operation nur ausgeführt, wenn keine zugehörigen (FK-Werte)
l entspricht dem Fall, dass die gesamte Klausel weggelassen wird
n CASCADE
l Operation propagiert zu allen zugehörigen Sätzen
n SET NULL
l FK wird in zugehörigen Sätzen auf NULL gesetzt
n SET DEFAULT
l FK wird in den zugehörigen Sätzen auf einen
benutzerdefinierten Default-Wert gesetzt
n NO ACTION
l Für Referenz keine referentielle Aktion
l Durch DB-Op können jedoch mehrere Referenzen (mit
unterschiedlichen Optionen) betroffen sei
l Am Ende aller referentiellen Aktionen wird die Einhaltung der
referentiellen Integrität geprüft
COOPERATIVE INFORMATION SYSTEMS , JKU Linz 86/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Ausgewählte DDL-Konzepte
Abarbeitung von Referentiellen Aktionen 1/2
Ausgewählte DDL-Konzepte
Abarbeitung von Referentiellen Aktionen 2/2
à Bei NO ACTION wird Test der referenzierenden Relation ans Ende der Op verschoben
à Verletzung der referentiellen Beziehung à ROLLBACK
ð Schema ist immer sicher
Ausgewählte Anfrage-Konzepte
SFW-Block
5n SELECT
l Projektionsliste (= Ergebnisschema)
l arithmetische Operationen und Aggregatfunktionen
Auswertungsreihenfolge
1n FROM
l zu verarbeitende Relationen, evtl. Umbenennungen
2n WHERE
l Selektions-, Verbundbedingungen
l Geschachtelte Anfragen (wieder ein SFW-Block)
3n GROUP BY
l Gruppierung für Aggregatfunktionen
4n HAVING
l Selektionsbedingungen an Gruppen
COOPERATIVE INFORMATION SYSTEMS , JKU Linz 89/113
Einführung Konzeptionelle DM Realisierungs DM DB-Entwurf SQL
Ausgewählte Anfrage-Konzepte
Äußerer Verbund 1/2
n OUTER JOIN
l übernimmt alle Tupel beider Operanden
l Langfassung: (NATURAL) FULL OUTER JOIN
n LEFT OUTER JOIN
l übernimmt alle Tupel des linken Operanden
n RIGHT OUTER JOIN
l übernimmt alle Tupel des rechten Operanden
Ausgewählte Anfrage-Konzepte
Äußerer Verbund 2/2
LINKS A B RECHTS B C
NATURAL JOIN A B C
1 2 3 4
2 3 4
2 3 4 5
Ausgewählte Anfrage-Konzepte
ROLLUP-Operator
Ausgewählte Anfrage-Konzepte
CUBE-Operator
Zürich
SELECT Abflug, Ziel Abflug Ziel
London Frankfurt
FROM Flug Zürich London
Ausgewählte Anfrage-Konzepte
Rekursive Anfrage – SQL-Standard 2/3
Ausgewählte Anfrage-Konzepte
Rekursive Anfrage – Oracle 3/3
Ausgewählte DML-Konzepte
MERGE-Anweisung 1/2
n NEU in SQL:2003
n Kombination von mehreren UPDATE- und INSERT-
Anweisungen, die ausgewählte Spaltenwerte bzw. Tupel
aus einer Tabelle in eine andere Tabelle übernimmt
n Vorteile:
l Vermeidet separate Aktualisierungen
l Steigert Performanz und Benutzerfreundlichkeit
l Nützlich z.B. für Data Warehousing-Anwendungen
Ausgewählte DML-Konzepte
MERGE-Anweisung 2/2
Zieltabelle, deren Daten aktualisiert oder ergänzt werden
Ausgewählte DML-Konzepte
Generierung Eindeutiger Schlüssel – Sequenzgenerator
n Anwendung:
INSERT INTO MitarbeiterTupeltabelle (MNr, Name)
VALUES (NEXT VALUE FOR PersonIDGen, 'Harry');
Ausgewählte DML-Konzepte
Generierung Eindeutiger Schlüssel – Identitätsspalten
Ausgewählte DML-Konzepte
Sichten (Views) im Allgemeinen
n Eigenschaften
l "dynamisches Fenster" auf Basistabellen
l Sichten auf Sichten möglich
l prinzipiell wie eine Tabelle behandelbar … ABER:
n Einsatz
l logische Datenunabhängigkeit
l vorformulierte Anfragen
l Sichten als "Zwischentabellen"
l Datenschutz
Ausgewählte DML-Konzepte
Materialisierte Sichten – Vorteile & Einsatz
n = Gespeicherte Tabelle
l Daten aus einer/mehreren Basistabellen oder anderen Sichten
l wie Basistabelle verwendbar
¡ SELECT ... FROM MaterializedView WHERE ...
n Vorteile
l Überwiegend lesender Zugriff auf stabiler Datenbasis
¡ geringer Aufwand bei Sicht-Aktualisierung
l Verbesserung der Performanz (Reduktion der Antwortzeit)
¡ DBS kann automatisch Anfrageteile erkennen, deren (Teil-)
Ergebnisse durch materialisierte Sichten zur Verfügung stehen
n Einsatz
l Data-Warehouses
l Replikation in verteilten DBS
Ausgewählte DML-Konzepte
Materialisierte Sichten – Auswahl und Wartung
Ausgewählte DML-Konzepte
Materialisierte Sichten – Aktualisierungszeitpunkt
n Verzögerte Aktualisierung
l Entkoppelung der Aktualisierung von Modifikationstransaktion;
bei Zugriff auf Sicht wird diese aktualisiert
l Sicht beim Lesen immer aktuell
l Lesende Transaktion trägt die Aktualisierungskosten
l Unter Umständen müssen viele Modifikationen nachgezogen
werden, wenn auf die Sicht lange nicht zugegriffen wurde
n Snapshot-Aktualisierung
l asynchron zur Modifikation und zum Lesezugriff nach
anwendungsspezifischen Gesichtspunkten
Ausgewählte DML-Konzepte
Materialisierte Sichten in ORACLE
Ausgewählte DML-Konzepte
Materialisierte Sichten in ORACLE – Aktualisierung
Prozedurale Erweiterungen
Stored Procedures 1/2
Prozedurale Erweiterungen
Stored Procedures 2/2
Prozedurale Erweiterungen
Trigger
n Einsatzgebiete
l Wahrung von Integritätsbedingungen (z.B. onUpdateCascade)
l Zugriffsschutz (z.B. zeitabhängige Zugriffserlaubnis)
l Definition von Geschäftsregeln (z.B. Rabattberechnung)
l Protokollierung (z.B. Tracing von Zugriffen)
Prozedurale Erweiterungen
Trigger – Bestandteile
n Triggerereignis
l INSERT/DELETE/UPDATE auf Basistabelle
n Triggeraktivierungszeitpunkt
l BEFORE/AFTER Triggerereignis
n Triggergranularität
l FOR EACH ROW/STATEMENT
n Triggerbedingung CREATE TRIGGER OnUpdateCascadeMNr
l SQL-Bedingung AFTER UPDATE OF MNr ON Mitarbeiter
REFERENCING OLD AS AltMit NEW AS NeuMit
l Aktion nur dann FOR EACH ROW
ausgeführt, wenn WHEN(EXISTS(SELECT * FROM Mitarbeiter
Bedingung erfüllt ist WHERE Manager= AltMit.MNr))
n Triggeraktion BEGIN ATOMIC
UPDATE Mitarbeiter
l Sequenz von SET Vorgesetzter=NeuMit.MNr
SQL-Anweisungen WHERE Vorgesetzter=AltMit.MNr;
END;
Prozedurale Erweiterungen
Trigger – Standard vs. Systemunterstützung
AFTER-TRIGGER
INSERT-TRIGGER
UPDATE-TRIGGER
DELETE-TRIGGER
Literatur
n Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman: Concurrency control & recovery in DBS, Addison-Wesley (1987)
n Philip A. Bernstein, E. Newcomer: Principles of Transaction Processing, Morgan-Kaufmann, San Francisco, 1997.
n C.J. Date, An Introduction for Database Systems, Pearson Education, 2004
n Ramez Elmasri, Shamkant B. Navathe: Grundlagen von Datenbanksystemen – 7. Auflage, Pearson Studium (2016)
n Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, Database Systems – The Complete Book, Prentice Hall, 2002
n Jim Gray, Andreas Reuter: Transaction processing: concepts and techniques. San Mateo, Kaufmann, (1994)
n M. Tamer Özsu, Patrick Valduriez: Principles of Distributed Database Systems, Third Edition, Prentice-Hall (2011)
n Erhard Rahm, Theo Härder: Datenbanksysteme - Konzepte und Techniken der Implementierung, Springer-Verlag, (1999)
n Gunter Saake, Andreas Heuer, Kai-Uwe Sattler: Datenbanken-Implementierungstechniken, 3. Auflage, MITP Verlag (2011)
n Gunter Saake, Andreas Heuer: Datenbanken - Konzepte und Sprachen, 6. Auflage, MITP Verlag (2018)
n Gunter Saake, Andreas Heuer: Datenbanken kompakt, MITP Verlag (Neuauflage 2003)
n Dennis Shasha and Phillipe Bonnet: Database Tuning: Principles Experiments and Troubleshooting Techniques, Morgan
Kaufmann Publishers (2002)
n Michael Stonebraker, Dorothy Moore: Object-relational DBMSs: the next great wave, San Francisco, Kaufmann (1996)
n Jeffrey D. Ullman: Principles of database and knowledge-base systems. - Vol. I & II, Computer Science Press (1988)
n Gottfried Vossen: Datenbankmodelle, Datenbanksprachen und Datenbank-Management-Systeme, Oldenbourg (1999)
n Gerhard Weikum, Gottfried Vossen: Transactional Information Systems, Morgan Kaufmann Publishers (2002)
Anhang