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