Uploaded by shake.oyster-0d

DB 01 (16.10.2017)

advertisement
Vorlesung Informationssysteme
BA-INF 012
PD Dr. Andreas Behrend
Institut für Informatik III
Universität Bonn
Wintersemester 2017/2018
Einordnung ins Studium/Vertiefungsmöglichkeiten
1. Sem.
Informationssysteme
...
4. Sem.
5. Sem.
Relationale Datenbanken
Web-und XML-Technologien
6. Sem.
Projektgruppe
Bachelormodul
Schwerpunkt im Masterstudium:
Information and Communication Management
2
© 2017 Manthey, Bode, Behrend
Informationssysteme
Zeitplan im WS 2017/2018
Mo. 16.10.2017
1. Termin
Mo.
01.01.2018
Frei
Mo. 23.10.2017
2. Termin
Mo.
08.01.2018
10. Termin
Mo. 30.10.2017
Frei
Mo.
15.01.2018
11. Termin
Mo. 06.11.2017
3. Termin
Mo.
22.01.2018
12. Termin
Mo. 13.11.2017
4. Termin
Mo.
29.01.2018
13. Termin
Mo. 20.11.2017
5. Termin
Mo. 27.11.2017
6. Termin
Mo. 04.12.2017
7. Termin
Mo. 11.12.2017
8. Termin
Mo. 18.12.2017
9. Termin
Mo. 25.12.2017
Frei
Vorlesungstermin:
Prüfungsanmeldung:
3
© 2017 Manthey, Bode, Behrend
Klausur 1 – 14.02.18 13-15 Uhr
Klausur 2 – 29.03.18 13-16 Uhr
14:30 – 16:00 Uhr s.t. (sine tempore)
1. Dez. – 21. Dez.
Informationssysteme
(basis.uni-bonn.de)
Übungen
Übungsteilnahme ist extrem wichtig!
•
Vorlesung IS ist sehr praxisorientiert:
Ohne gute SQL-Kenntnisse bestehen sie nicht!
•
•
Verantwortlich für den Übungsbetrieb: Christian Sorgatz
Ziele:
 praktisches Arbeiten mit PostgreSQL
 praktisches Arbeiten mit SQL
•
4
Es gibt keine Zulassungskriterium zur Prüfung.
© 2017 Manthey, Bode, Behrend
Informationssysteme
Übungsanmeldung
•
Anmeldung:
 über Tutorienvergabesystem (TVS)
 URL: https://puma.cs.uni-bonn.de
 Erstanmeldung aus universitätsinternem Netzwerk
 maximale Größe für „gemeinsame Gruppenanmeldung“: 3
 Anmeldung bis spätestens 22.10., 23:59 Uhr
•
Übungszettel:
 wöchentliche Veröffentlichung über eCampus (mittwochs)
 Übungszettel werden nicht bewertet
5
© 2017 Manthey, Bode, Behrend
Informationssysteme
Übungsgruppen “Informationssysteme”
6
Wochentag
Uhrzeit (c.t.)
Raum
Tutor
Montag
10-12
A6c
Maximilian Häring
Dienstag
12-14
A7b
Elizaveta Orlova
Dienstag
14-16
A7b
Maximilian Häring
Dienstag
16-18
A6c
Elizaveta Orlova
Mittwoch
8-10
A7b
Joshua Könen
Mittwoch
10-12
A6c
Dominik Wührer
Mittwoch
12-14
A6c
Joshua Könen
Mittwoch
14-16
A6c
Christian Sorgatz
Mittwoch
16-18
A7b
Christian Sorgatz
Donnerstag
10-12
A6c
Nils Dengler
Donnerstag
12-14
A121
Dominik Wührer
Donnerstag
14-16
A6c
Nils Dengler
Freitag
10-12
A6c
Torben Plitt
Freitag
12-14
A6c
Torben Plitt
© 2017 Manthey, Bode, Behrend
Informationssysteme
Prüfungen
• Die Modulprüfung findet für alle Teilnehmer schriftlich statt (Klausur)
• zur
•
•
•
Erinnerung (BaPO):
Es gibt zwei Termine zu Anfang und am Ende der vorlesungsfreien Zeit.
Wer beim 1. Termin nicht besteht, kann zum 2. Termin erneut antreten.
Wer beide Male nicht besteht, hat das Modul insgesamt einmal nicht bestanden
(und muss im nächsten Jahr wieder antreten).
• Wer das Modul als Ganzes dreimal nicht besteht „ist raus“!
• in der DOP nachlesen: Regelungen zur Notenverbesserung
• Termin der 1. Klausur: 14. Februar 2018
• Abmeldungen möglich bis 1 Woche vor der 1. Klausur!
• Termin der 2. Klausur: 29. März 2018
•
7
Meldung zur Prüfung:
• für Informatik-Erstsemester (Bachelor und Lehramt):
über BASIS-System online – 1.12.2017 - 21.12.2017
• für Bachelor-Wiederholer und Nachzügler: ebenfalls BASIS
• für Nebenfächler in „BASIS-fähigen“ Fächern: via BASIS mit Fristen wie oben
• für alle anderen (FFF, restliche Nebenfächer, Diplom):
zeitgleich mit BASIS-Termin in den Übungen per Meldebögen
© 2017 Manthey, Bode, Behrend
Informationssysteme
Literatur
•
•
Es gibt (leider) kein „Buch zur gesamten Vorlesung“ !
stattdessen: spezifische Quellenangaben für die einzelnen
Themenbereiche
•
Folien zur Vorlesung:
 durchgängig elektronisch erstellt (PowerPoint)
 Werden im eCampus zugänglich sein (im PDF-Format)
Anmeldung bei eCampus mit eMail-Adresse
der Uni Bonn erforderlich!
 Foliensatz wird im Laufe des Semesters sukzessive aufgebaut
(i.d.R. am Abend nach der Vorlesung)
http://ecampus.uni-bonn.de/
8
© 2017 Manthey, Bode, Behrend
Informationssysteme
Vorlesungs-Homepage (eCampus)
•
Kursanmeldungen
 Kein Passwort
 möglich vom 16.10 bis zum 31.12., 23:59 Uhr
9
© 2017 Manthey, Bode, Behrend
Informationssysteme
Literatur (1)
Alfons Kemper, André Eickler:
„Datenbanksysteme - Eine Einführung“
8., akt. und erw. Auflage, 2011
792 Seiten
Oldenbourg
€ 39,80
ISBN 978-3-486-59834-6
Hauptquelle für die
Vorlesung
http://www-db.in.tum.de/research/publications/books/DBMSeinf/
Webseite mit Materialien (u.a. Foliensatz und Bsp.-Datenbanken):
10
© 2017 Manthey, Bode, Behrend
Informationssysteme
Literatur (2)
Andreas Heuer, Gunther Saake:
„Datenbanken: Konzepte und Sprachen"
3., aktualisierte und erweiterte Auflage, (2007)
720 Seiten
mitp-Verlag
€ 39,95
ISBN-10: 3-8266-1664-2
ISBN-13: 978-3826616648
Webseite mit Materialien (u.a. Foliensatz und Bsp.-Datenbanken):
http://wwwdb.informatik.uni-rostock.de/biber/
11
© 2017 Manthey, Bode, Behrend
Informationssysteme
Literatur (3)
Gottfried Vossen:
„Datenmodelle, Datenbanksprachen und
Datenbankmanagementsysteme“
4., korrigierte und ergänzte Auflage, 2000
812 Seiten
Oldenbourg
€ 49,80
ISBN 3-486-25339-5
Webseite mit Materialien (u.a. Foliensatz) erreichbar über:
http://dbms.uni-muenster.de/
12
© 2017 Manthey, Bode, Behrend
Informationssysteme
Lernziele der Vorlesung IS
•
•
•
•
Klassifikation von Informationssystemen
Datenrepräsentationsformate
 Text, XML, RDF, Relationen
Entity-Relationship Modellierung
Grundlagen relationaler Datenbanken




•
13
Entwurf
Anfragesprachen (relationale Algebra, SQL)
Aufbau eines DBMS
Transaktionen
Spezielle Datenbanksysteme
© 2017 Manthey, Bode, Behrend
Informationssysteme
Wo sind wir?
Kapitel 0: Vorbemerkung
Kapitel 1: Einleitung und Motivation
14
© 2017 Manthey, Bode, Behrend
Informationssysteme
DB und/oder IS: terminologischer Wirrwarr ?
Information Retrieval System
Datenbasis
?
Datenbank
Informationssystem
?
?
Datenbanksystem
?
Datenbankmanagementsystem
?
15
Datenmodell
Datenbankmodell
© 2017 Manthey, Bode, Behrend
Informationssysteme
?
IS und DB: Warnung vor unpräziser Verwendung
Vorsicht !
Die zentralen Begriffe 'Informationssystem'
und 'Datenbank' werden "in der Praxis" oft
sehr uneinheitlich, unpräzise und bestenfalls
intuitiv verwendet, . . .
. . . obwohl es relativ präzise wissenschaftliche
Festlegungen der Bedeutung dieser Begriffe
gibt.
16
© 2017 Manthey, Bode, Behrend
Informationssysteme
Informationen und Daten ?
Was unterscheidet Informationen von Daten ?
•
•
Das ist eine anspruchsvolle Fragestellung, auf die es keine einfache
Antwort gibt !
im Zusammenhang mit DB/IS:


•
intuitiv:





•
17
nur informelles/intuitives Verständnis der Begriffe
Präzisierung höchstens im speziellen Kontext (Datenmodell, Anwendung)
"Information" ist Oberbegriff von "Daten".
"Daten" sind spezielle, einfache "Informationen".
"Daten" werden oft als atomar (unzerlegbar) angesehen.
aber: Es gibt auch komplexe (zerlegbare) "Daten" (z.B. Objekte).
ganz sicher: Es gibt "Informationen", die keine "Daten" sind !
(z.B. Gesetzmäßigkeiten, Zusammenhänge, Kommentare)
mathematisch-philosophische Überlegungen zum Informationsbegriff:
Informationstheorie
© 2017 Manthey, Bode, Behrend
Informationssysteme
Definition Informationssystem
Ein Informationssystem ist ein System zur Speicherung, Verknüpfung
und Auswertung von Daten. Es unterstützt die Gewinnung von
problembezogener nützlicher Information aus seiner Datenbasis. Es ist
in der Lage, (evtl. auch unscharfe) Anfragen der Nutzerinnen oder der
Nutzer zu bearbeiten und in automatisch ausführbare Suchaufträge zu
transformieren. Auf der Basis der Suchergebnisse wird vom
Informationssystem eine Antwort generiert, die den
Informationswunsch der Nutzerinnen und Nutzer befriedigt. Die
gelieferte Information kann auf verschiedene Weise aufbereitet sein,
etwa als Kurzantwort mit einigen relevanten Daten, als komplexer
Bericht in zusammenhängendem Text, als Tabelle oder als grafische
Übersicht. Zur Aufgabe eines Informationssystems gehört auch die
Verwaltung des internen Datenbestands. Damit verbunden ist die
Bereitstellung von Kommunikations- und Koordinationsdiensten für die
Personen, die mit der Pflege des Wissens betraut sind.
angelehnt an: www.die.informatik.uni-siegen.de/e-learning/iml/is/ifs/ifs_3.html
18
© 2017 Manthey, Bode, Behrend
Informationssysteme
Aufgaben eines Informationssystems
• Ein Informationssystem dient der rechnergestützten Erfassung,
Speicherung, Verarbeitung, Pflege, Analyse, Benutzung, Verbreitung,
Disposition, Übertragung und Anzeige von Information bzw. Daten.
•
Es besteht aus Hardware (Rechner oder Rechnerverbund), Datenverwaltungssystem(en), Software, Daten und all deren Anwendungen
•
Ein Informationssystem erweitert das Datenverwaltungssystem um eine
Reihe von anwendungsbezogenen Werkzeugen zur Abfrage, Darstellung,
Transformation und Analyse von Daten.
Informationssystem
+ externe
Kommunikationsmedien
19
© 2017 Manthey, Bode, Behrend
Datenverwaltungssystem
Informationssysteme
+ anwendungsspezifische
Methoden
Verschiedene Formen von Informationssystemen
je nach Anwendungsbereich finden wir unterschiedlichste Ausprägungen
von Informationssystemen:
•
•
•
•
•
•
•
•
•
20
Betriebliches Informationssystem
Information-Retrieval-System
Datenbanksystem
Fahrgastinformationssystem
Personalinformationssystem
Produktionsplanung-und
Produktionssteuerungsystem
Raumbezogene
Informationssysteme (RIS)
Land- bzw.
Geoinformationssystem
(Landinformationssystem, GIS)
•
•
•
•
•
•
•
Expertensystem
Knowledge Management System
Netzinformationssysteme,
Routenplaner etc.
Data-Warehouse-System
Juristisches Informationssystem
(JIS)
Bürgerinformationssystem
(BIS)
Krankenhausinformationssystem
(KIS)
 Umweltinformationssystem (UIS)
Management-Informationssystem
(MIS)
© 2017 Manthey, Bode, Behrend
Informationssysteme
Informationssystem: Beispiel
Geo-Informationssystem
Satellitennavigationssystem
(GPS)
Bildschirmkarte
Datenverwaltungssystem
21
© 2017 Manthey, Bode, Behrend
Informationssysteme
Datenverwaltungssystem
Bestandteile:
• Datenbestand
 Menge zusammengehöriger Daten (Sicht der
Systembetreiber)
 weitere Daten, die das Datenverwaltungssystem zur
Erfüllung seiner Aufgaben benötigt
•
Software zur Verwaltung des Datenbestands
 Anfragen
 Änderungen
• Einfügen, Löschen, Verändern
 Schutz der Daten
• Zugriffsschutz
• Integrität („Korrektheit“ der Daten)
• Sicherung gegen Datenverlust
 Mehrbenutzerzugriff
22
© 2017 Manthey, Bode, Behrend
Informationssysteme
Klassifikation von Datenverwaltungssystemen
Kriterien
• „Verwaltungssoftware“
 anwendungsunabhängig
 Speziallösung
die erlernten Konzepte sind natürlich
auch für Spezialimplementierungen
einsetzbar
in dieser Vorlesung interessieren wir uns ausschließlich für
anwendungsunabhängige Datenverwaltungssysteme
•
Information bzw.
Multimedia RetrievalStruktur der Daten
 unstrukturiert (Texte, Bilder, Audiodaten, Video) System
 strukturiert
Datenbanksystem
• statische Struktur (Tabellen, Objekte)
• dynamische Struktur (XML)
alternative Bezeichnung: semistrukturiert
23
© 2017 Manthey, Bode, Behrend
Informationssysteme
Datenbanksystem: Präzisierung
Datenbanksystem
DBMS
DB
....
Datenbanken
Anwender und
Anwendungsprogramme
24
© 2017 Manthey, Bode, Behrend
DBMS: Datenbank-Management-System
Informationssysteme
Grundlegende Datenbankterminologie
"Merkformel":
DBS
Datenbanksystem
25
© 2017 Manthey, Bode, Behrend
= DBMS + n ∗ DB
Datenbankmanagement
system
Datenbank
anwendungsunabhängige
Dienste
anwendungsspezifische
Informationen
Informationssysteme
Schwerpunkt der Vorlesung: DBMS
Der Schwerpunkt dieser Vorlesung liegt auf
(relationalen)
Datenbankmanagementsystemen
manchmal auch:
DB-Verwaltungssysteme
DB-Betriebssysteme
26
© 2017 Manthey, Bode, Behrend
Informationssysteme
Wann können wir von einem echten DBMS sprechen?
•
Betrachten wir unterschiedliche Programme die tabellarisch
strukturierte Daten verwalten können:
Programm
Repräsentation der Daten
Text Editor
(reine) Textdatei
Textverarbeitung (MS Word)
.doc-Datei
Tabellenkalkulation (MS Excel)
.xls-Datei
relationales DBMS (MS Access)
.mdb-Datei
•
Alle Programme ermöglichen die Suche nach bestimmten Daten
und das Ändern (Einfügen, Verändern, Löschen) des
Datenbestandes.
•
Erfüllen diese Kombinationen unsere Gleichung zu DBS?
27
© 2017 Manthey, Bode, Behrend
Informationssysteme
Aufgaben eines Datenbankmanagementsystems
Aufgaben eines DBMS:
 Integrierte Datenhaltung
 Datenunabhängigkeit (log,/phys.)
Transaktionen
 Hardwareunabhängigkeit
 Schutz der Daten (Konsistenz, Zugriffsschutz, Recovery,..)
 Mehrbenutzersynchronisation (Scheduler)
 Effizienter Zugriff (effektive Speicherstrukturen, Anfrageoptimierung)
Optimierer
28
© 2017 Manthey, Bode, Behrend
Informationssysteme
Aufgaben von DBMS: Integrierte Datenhaltung
Problem:
• Unterschiedliche Anwendungen
greifen zum Teil auf identische
Daten zu
Universitätsverwaltung
Prüfungsamt
Informatik
DBMS
Ziel:
• Integrierte Datenhaltung
 Vermeidet Redundanz
 Vermeidet Inkonsistenzen
Studiengänge
Module
Studenten
Mitarbeiter
29
© 2017 Manthey, Bode, Behrend
Informationssysteme
Prüfungen
Aufgaben von DBMS: Datenunabhängigkeit
Problem:
• Anforderungen einer Anwendung an die
benötigten Daten kann sich ändern.
 neue Felder
 geänderte Formate
 geänderte Speicherungsstrukturen
•
Was geschieht mit anderen Anwendungen
die noch die ursprünglichen Daten
verwenden?
Ziel:
• DBMS kann individuelle Sichten auf die
Daten erzeugen.
 logische Datenunabhängigkeit
•
Änderungen auf der physischen Ebene
bleiben Anwendungen verborgen
 physische Datenunabhängigkeit
30
© 2017 Manthey, Bode, Behrend
Informationssysteme
externe Ebene
Sicht 1
…
Sicht n
logische Ebene
physische Ebene
Aufgaben von DBMS: Hardwareunabhängigkeit
Problem:
• Geänderte Anforderungen können den Einsatz
neuer/verbesserter Hardware erfordern.
 neue Speichermedien
• Festplatten
• RAID-Systeme
 neue Rechnerarchitekturen
• z.B. mehr CPUs
 räumliche Verteilung der eingesetzten Systeme
Ziel:
• Schnittstelle zwischen DBMS und Anwendungen
konstant halten.
31
© 2017 Manthey, Bode, Behrend
Informationssysteme
Aufgaben von DBMS: Schutz der Daten
•
vor Verfälschung/Inkonsistenzen
 Falsche Eingaben
• z.B. Geburtsdatum: 31.02.2006
 Unzulässige oder unvollständige
Operationen
• z.B. Löschung eines Studenten, zu dem
noch Daten über Prüfungen existieren
Reale Welt: ZR
ZR'
Miniwelt:
ZM '
 gleichzeitigen Zugriff mehrerer
Benutzer
•
vor unberechtigtem Zugriff
•
vor Systemfehlern und äußeren
Bedrohungen




32
Rechnerabsturz
Stromausfall
Hardwaredefekte
Katastrophen
© 2017 Manthey, Bode, Behrend
Informationssysteme
ZM
Aufgaben von DBMS: Mehrbenutzerbetrieb
Problem:
• durch den gleichzeitigen Zugriff
mehrerer Benutzer können Daten
verfälscht werden
Ziel:
• Aufbau der „Illusion“, das jeder
Benutzer exklusiv und sequentiel
mit dem System arbeitet.
Beispielszenario:
• Benutzer A liest Wert w
• Benutzer B liest Wert w
• A erhöht w um 10% und schreibt
den neuen Wert wA in die
Datenbank
• B erhöht Wert um 20% und
schreibt den neuen Wert wB in die
Datenbank
•
33
© 2017 Manthey, Bode, Behrend
Informationssysteme
Welchen Wert hat w?
Aufgaben von DBMS: Performanter Zugriff
Problem:
• Der Zugriff auf die Daten sollte so
performant wie möglich erfolgen.
•
Zugriffscharakteristika können sich
im Laufe der Zeit ändern
Ziel:
• DBMS stellt spezielle
Datenstrukturen und Algorithmen
zur Beschleunigung des Zugriffs
bereit.
•
Deklarative Anfragen
 Benutzer sagt was er haben möchte
 Optimierer des DBMS entscheidet,
wie diese Anfrage am effizientesten
ausgeführt werden kann
34
© 2017 Manthey, Bode, Behrend
Informationssysteme
Typen von Datenbanknutzern
•
End User
 greift nur indirekt über Anwendungsprogramme auf das DBS zu
 keine oder nur wenig DB-Kenntnisse
•
Anwendungsentwickler
 realisiert Anwendungen die eine DBS verwenden
 Gute Kenntnisse über Schnittstellen (und Internata) des
verwendeten DBMS
• insbesondere SQL
•
Datenbankadministrator (DBA)
 verwaltet das DBS
 sehr gute Kenntnisse über das verwendete DBMS
 Datenbankentwurf und Schemamodifikationen, Datenschutz,
Datensicherung, Leistungsüberwachung und –optimierung
35
© 2017 Manthey, Bode, Behrend
Informationssysteme
Datenmodelle
•
Generische DBS werden meist nach dem unterstützten
Datenmodell klassifiziert:





relationale Datenbanken
objekt-orientierte Datenbanken
hierarchische Datenbanken
Entity-Relationship-Datenbanken
u.v.a.
•
Ein Datenmodell besteht aus einer bestimmten
Zusammenstellung von Konzepten zum Modellieren von Daten in
der realen Welt und/oder im Rechner.
(z.B. Tabellen im relationalen Modell, Klassen in OO-Modellen)
•
Die alternative Bezeichnung 'Datenbankmodell' wird selten
gebraucht und suggeriert eher die Modellierung der
Datenstrukturen im Rechner als die von Konzepten in der realen
Welt.
36
© 2017 Manthey, Bode, Behrend
Informationssysteme
Ausblick
•
In den nächsten Stunden werden wir PostgrSQL verwenden, um
das relationale Datenmodell und die zugehörige DB-Sprache SQL
(Structured Query Language) genauer kennen zu lernen.
•
Selbst mit Datenbanken arbeiten zu können, ist eine unerlässliche
Voraussetzung für ein tiefes und solides Verständnis aller Themen
dieser Vorlesung.
•
Beispieldatenbanken finden Sie über die Vorlesungs-Homepage –
oder bauen Sie gleich mal Ihre eigene Datenbank.
•
Informatiker müssen genauso mit Datenbanken umgehen können,
wie sie programmieren können müssen:
SQL ist in der Praxis sehr wichtig!
37
© 2017 Manthey, Bode, Behrend
Informationssysteme
Wo sind wir?
Kapitel 0: Vorbemerkung
Kapitel 1: Einleitung und Motivation
Kapitel 2: Relationale Datenbanken
38
© 2017 Manthey, Bode, Behrend
Informationssysteme
Vorgehensweise in Kapitel 2
Methodische Vorgehensweise in diesem Kapitel:
Grundbegriffe
relationaler
Datenbanken
PostgreSQL
for Beginners
•
•
•
•
•
•
Praxis
anwendungsorientiert
"Schnupperkurs"
Beide Seiten sind wichtig:
Lernen ohne Anwenden nützt nicht viel !
39
© 2017 Manthey, Bode, Behrend
Informationssysteme
Theorie
Prinzipdiskussion
wissenschaftliches
Fundament
Relationale Datenbanken: Allgemeines
•
Der DB-Markt wird heute völlig dominiert von DB-Systemen, die das relationale
Datenmodell unterstützen.
•
Führende (kommerzielle) Hersteller von relationalen DB-Produkten:
Oracle
Microsoft (Access, SQL Server)
IBM (DB2, Informix)
Sybase
PostgreSQL (Freeware)
MySQL (Freeware)
•
Die Bezeichnung "relational" ist motiviert durch das mathematische Konzept der
Relation.
•
Relationale Datenbanken sind im wesentlichen Sammlungen von Relationen.
•
Man kann sich Relationen praktisch als Tabellen vorstellen, die aus einzelnen
Datensätzen bestehen, die alle dieselbe (homogene) Feldstruktur aufweisen.
•
In der Wissenschaft gibt es ein weites Spektrum an theoretischen Grundlagen für
relationale Datenbanken.
40
© 2017 Manthey, Bode, Behrend
Informationssysteme
Relationen: etwas "Nachhilfe"
mathematisches Relationskonzept
•
Jede Teilmenge R eines Produkts D1×…×Dn von n (n > 1) nicht
notwendig verschiedenen Mengen D1,…, Dn heisst (n-stellige) Relation
über D1,…, Dn.
•
Das (kartesische) Produkt (oder: Kreuzprodukt) von D1,…, Dn ist die
Menge aller (n-)Tupel, die aus Elementen von D1,…, Dn gebildet werden
können:
D1
•
×
...
×
Dn
=def
{ ( d1, . . . , dn ) | di ∈ Di }
Mengen sind duplikatfreie, ungeordnete Sammlungen von Objekten.
„Unter einer Menge verstehen wir eine Zusammenfassung von
bestimmten wohlunterschiedenen Objekten unserer Anschauung
oder unseres Denkens zu einem Ganzen.“
Georg Cantor (1845-1918), Begründer der Mengenlehre
41
© 2017 Manthey, Bode, Behrend
Informationssysteme
Beispiel für Produktbildung bei Mengen
B
A
5
1
7
A
42
×
B
(
, 1)
(
, 5)
(
, 7)
(
(
, 1)
, 1)
(
(
, 5)
, 5)
(
(
, 7)
, 7)
(
, 1)
(
, 5)
(
, 7)
© 2017 Manthey, Bode, Behrend
Informationssysteme
Relation als Teilmenge eines Produkts und
Tabellendarstellung
2-stellige Relation
über A, B
A
×
B
(
, 1)
(
, 5)
(
, 7)
(
(
, 1)
, 1)
(
(
, 5)
, 5)
(
, 7)
(
, 7)
(
, 1)
(
, 5)
(
, 7)
A
Darstellung dieser Relation
im Tabellenformat:
B
5
5
5
5
43
© 2017 Manthey, Bode, Behrend
Informationssysteme
Relationale Datenbanken: Geschichte
•
Die Idee, Daten in Tabellen zu halten,
ist uralt.
•
Die Idee, diese Form der Darstellung
mit Mitteln der Relationentheorie zu
untersuchen, stammt von diesem
Mann:
Edgar F. Codd
•
Er veröffentlichte 1970 eine
bahnbrechende Arbeit mit dem Titel
"A Relational Model of Data for Large
Shared Data Banks",
Edgar F. Codd
Für diese Pionierleistung erhielt
Codd 1982 den Turing Award der
ACM, den "Nobelpreis der
Informatik".
44
© 2017 Manthey, Bode, Behrend
in der er alle Grundlagen der heutigen
relationalen DB in bestechender
Klarheit niederlegte (s. Webseite
„Literatur“).
•
Codd ist Anfang 2003 gestorben.
Informationssysteme
Der Gründungsartikel des Relationenmodells
45
© 2017 Manthey, Bode, Behrend
Informationssysteme
“Die” Sprache für relationale Datenbanken: SQL
46
© 2017 Manthey, Bode, Behrend
Informationssysteme
“Unser” relationales DBMS im Übungsbetrieb
47
© 2017 Manthey, Bode, Behrend
Informationssysteme
Wo sind wir?
Kapitel 0: Vorbemerkung
Kapitel 1: Einleitung und Motivation
Kapitel 2: Relationale Datenbanken
2.1: SQL in a Nutshell
48
© 2017 Manthey, Bode, Behrend
Informationssysteme
SQL: Geschichte
•
SQL (Structured Query Language) ist heute die populärste und verbreitetste
relationale Datenbanksprache. Jedes relationale DBMS "versteht„ SQL!
•
SQL wurde Anfang der 1970er Jahre bei IBM entwickelt (als Sprache für das
relationale Prototyp-DBMS "System R"). Interessante Quelle zur „Geschichte“
von SQL: „The 1995 SQL Reunion“ (s. Literaturwebseite dieser Vorlesung)
•
ursprüngliche Bezeichnung: SEQUEL (Structured English Query Language)
•
erste SQL-Normung (SQL 1) 1986 durch ANSI in den USA, revidiert 1989
•
wesentliche Erweiterung 1992: SQL2 bzw. SQL92 (standardisiert, heute üblich)
•
1999, 2003, 2006 und 2008 jeweils neue Standards: SQL:1999, ... , SQL:2011
(Neuerungen sind oft erst ansatzweise in kommerziellen Systemen zu finden.)
•
Vorsicht ! Nahezu jedes kommerzielle DB-Produkt hat seinen eigenen "Dialekt"
von SQL, der mehr oder weniger gut mit dem Standard kompatibel ist!
49
© 2017 Manthey, Bode, Behrend
Informationssysteme
SQL ist eine sehr mächtige Sprache
Beispielanfrage zur Prädiktion eines Herzstilstands in einer Patienten-DB:
CREATE
SELECT
FROM
WHERE
50
VIEW cardiac_arrest AS
patientId, heartRate, bloodPressure
patientData pd
bloodPressure > 80 AND heartRate > 120 AND
NOT EXISTS (SELECT *
FROM patientData
WHERE patientID = pd.patientID AND
bloodPressure <= 120 AND
timestamp > NOW() - timestamp1
)
AND (
bloodPressure < 0.8*(SELECT max(bloodPressure)
FROM patientData
WHERE patientId = pd.patientID AND
timestamp > timestamp1 AND
timestamp < timestamp1 - 6 hours)
AND
heartRate > 1.5*( SELECT min(heartRate)
FROM patientData
WHERE patientId = pd.patientID AND
timestamp > timestamp1 AND
timestamp < timestamp1 - 6 hours)
AND timestamp1 < NOW - 1 hour,
AND timestamp1 > NOW - 20 minute );
© 2017 Manthey, Bode, Behrend
Informationssysteme
SQL: Weiterführende Literatur
"klassische" (und vermutlich immer noch beste)
Quelle zu SQL:
Chris Date, Hugh Darwen:
"SQL - Der Standard"
ISBN 3-8273-1345-7
Addison Wesley, 1998
€ 44,95
•
•
51
im Kemper-Buch: relativ kurze Abhandlung von SQL in Kapitel 4
gutes Buch zum Standard SQL:1999:
Melton/Simon: "SQL:1999 Understanding Relational Language
Components", Morgan Kaufman, 2001
© 2017 Manthey, Bode, Behrend
Informationssysteme
Tabelle vs. Relation
•
terminologischer "Konflikt" bei der Bezeichnung für die wichtigste Form von
Datenbankobjekten:
Tabelle oder Relation?
•
Praxis: Betonung auf optischer Darstellung in Tabellenform
•
Wissenschaft: Betonung der mathematischen Grundlage als Relation
•
prinzipielle Unterschiede zwischen beiden Bezeichnungen:
Tabelle
− 2-dim. Array aus Zeilen/Spalten
− geordnet
− doppelte Zeilen möglich
•
Relation
− Menge von Tupeln
− ungeordnet
− duplikatfrei
aber:
 Relationen lassen sich in Tabellenform visualisieren, wenn man eine bestimmte
Anordnung wählt.
 Tabellen lassen sich als Relationen formalisieren, wenn man keine Duplikate
zulässt und von der Anordnung absieht.
52
© 2017 Manthey, Bode, Behrend
Informationssysteme
Grundbegriffe für relationale DB im "SQL-Dialekt"
SQL hat seine eigene Terminologie für die relationalen Grundbegriffe, die von
der Terminologie der mathematischen Mengenlehre deutlich abweicht:
Spalte
Tabelle
Royals
Title
Name
Born
Prince
Charles
1948
…
…
…
Text
Zahl
Text
Died
Sex
m
Zeile
…
Zahl
Char
Wertebereich
Wichtig sind die englischen Formen dieser Grundbegriffe, weil SQL mit
englischen Schlüsselworten arbeitet:
Tabelle
Spalte
Zeile
Wertebereich
53
© 2017 Manthey, Bode, Behrend
Informationssysteme
table
column
row
domain
Download