29

Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung
Page 2: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

Datenbanken(WS 2016/2017)

Klaus Berberich([email protected])

Wolfgang Braun([email protected])

Page 3: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

0. Organisatorisches

Page 4: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

4

Dozenten§ Klaus Berberich ([email protected])

§ Sprechstunde nach Vereinbarung per E-Mail

§ Wolfgang Braun ([email protected])

§ Sprechstunde nach Vereinbarung per E-Mail

Datenbanken / Kapitel 0: Organisatorisches

Page 5: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

5

Vorlesung§ Zwei Vorlesungstermine

§ Montag, 14:00 – 15:30 (4. Stunde), Raum 4301

§ Dienstag, 8:15 – 9:45 (1. Stunde), Raum 5104(entfällt, wenn eine Übung stattfindet)

Datenbanken / Kapitel 0: Organisatorisches

Page 6: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

6

Übung§ Zwei Übungstermine

§ Dienstag, 8:15 – 9:45 (1. Stunde), Raum 7110

§ Freitag, 11:45 – 13:30 (3. Stunde), Raum 7110

§ Bitte entscheiden Sie sich für einen der beiden Termineund tragen Sie sich in die ausgeteilten Listen ein

§ Übungsblatt 1 (Ausgabe am 25.10) wird in den Übungen nächste Woche am 08.11/11.11 besprochen

Datenbanken / Kapitel 0: Organisatorisches

Page 7: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

7

Prüfung§ Mündliche Prüfung am Ende des Semesters

§ Termin wird rechtzeitig in der Vorlesung bekannt gegeben

Datenbanken / Kapitel 0: Organisatorisches

Page 8: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

8

Webseite§ Webseite zur Vorlesung:

§ Ankündigungen

§ Folien und Übungsblätter zum Download

§ Sonstige Ressourcen (z.B. Software und Daten)

§ http://swl.htwsaar.de/lehre/ws16/dbs/

Datenbanken / Kapitel 0: Organisatorisches

Page 9: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

9

Literatur zur Vorlesung

§ A. Kemper und A. Eickler:Datenbanksysteme – Eine Einführung,De Gruyter Oldenbourg, 2015

§ G. Saake, K.-U. Sattler und A. Heuer:Datenbanken - Konzepte und Sprachen,mitp Professional, 2013

Datenbanken / Kapitel 0: Organisatorisches

Page 10: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

10

Literatur zur Vorlesung

§ E. Schicker:Datenbanken und SQL,Springer-Vieweg, 2013[Online Ausgabe]

§ H. Garcia-Molina, J. D. Ullman und J. Widom:Database Systems – The Complete Book,Pearson, 2013

Datenbanken / Kapitel 0: Organisatorisches

Page 11: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

11

Software und Daten§ Praktische Übungen zur Vorlesung mit

§ MS SQL Server 2014 im Softwarelabor

§ SQLite (verfügbar für Windows, Mac, Linux) für zu Hause

Datenbanken / Kapitel 0: Organisatorisches

Page 12: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

12

Inhalt§ 1. Einführung

§ 2. Datenbankentwurf

§ 3. Relationales Modell & Algebra

§ 4. SQL – Structured Query Language

§ 5. Relationale Entwurfstheorie

§ 6. Datenintegrität

Datenbanken / Kapitel 0: Organisatorisches

Page 13: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

13

Inhalt§ 7. Transaktionsverwaltung

§ 8. Datenbanktuning

§ 9. Sicherheitsaspekte

§ 10. Programmieren mit SQL

§ 11. Datenbankschnittstellen

§ 12. NoSQL

Datenbanken / Kapitel 0: Organisatorisches

Page 14: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

1. Einführung

Page 15: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

15

Relationale Datenbanksysteme§ Relationale Datenbanksysteme (RDBMS)

§ sind die heute vorherrschende Art von Datenbanksystemen

§ basieren auf mehr als 40 Jahren Forschung & Entwicklung§ gibt es in Form kommerzieller und/oder offener Systeme

§ Oracle Database

§ IBM DB2

§ Microsoft SQL Server

§ PostgreSQL

§ MySQL

§ SQLite

§ …

Datenbanken / Kapitel 1: Einführung

Page 16: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

16

Relationale Datenbanksysteme§ Relationale Datenbanksysteme (RDBMS)

§ bilden das Rückgrat verschiedenster Anwendungen, z.B.:§ Enterprise Resource Planning Systeme (z.B. SAP)

§ Content Management Systeme (z.B. Typo3, WordPress)

§ Websites und -shops (z.B. IMDb und ebay)

§ Wikis (z.B. MySQL hinter MediaWiki)

§ Apps (z.B. SQLite in iOS SDK)

§ …

Datenbanken / Kapitel 1: Einführung

Page 17: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

17

§ American National Standards Institute (ANSI) 3-Ebenen Modell unterscheidet drei Abstraktionsebenen ineinem Datenbanksystem

§ Physische Ebene (intern):Wie sind die Daten gespeichert?

§ Logische Ebene (konzeptuell):Welche Daten sind gespeichert?

§ Sichten (extern):Welche Daten sieht ein Benutzer?

ANSI 3-Ebenen Modell / Abstraktionsebenen

Datenbanken / Kapitel 1: Einführung

Sicht 1 Sicht n…

Physische Ebene

Logische Ebene

Quelle: Kemper und Eickler [1]

Page 18: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

18

Stellen Sie Sich vor…§ Ein Bekannter betreibt einen Handel mit Werkzeugen zur

Holzbearbeitung; bisher hat er alles „auf Papier gemacht“,möchte nun jedoch einen Webshop eröffnen

§ Wie unterstützen Sie Ihn dabei?

§ Kenntnisse aus Programmierung I+II:

§ Objektorientierte Modellierung (z.B. Bestellung)

§ Schreiben und Lesen von Objekten aus dem Dateisystem

§ Datenstrukturen (Bäume, Hashing)

Datenbanken / Kapitel 1: Einführung

Page 19: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

19

Redundanz§ Sie speichern die Bestellungsobjekte mit allen benötigten

Informationen (z.B. Name und Anschrift des Kunden, Details zu den bestellten Artikeln) in einer Datei ab

§ Der Artikel „Holzhammer“ ist sehr beliebt und findet sich in 616 Bestellungen; da es nun auch ein kleineres Modell gibt, muss seine Beschreibung in „Holzhammer (groß)“ geändert werden

§ Sie ändern die Beschreibung in allen 616 Bestellungen

Datenbanken / Kapitel 1: Einführung

Page 20: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

20

Datenbankentwurf§ Es gibt etablierte Ansätze zur konzeptuellen

Modellierung der Daten einer Anwendung

§ Kapitel 2: Datenbankentwurf

§ Relationale Datenbanksysteme speichern diese Daten in sogenannten Relationen (Tabellen); man kann erreichen, dass dies ohne Redundanzen geschieht

§ Kapitel 3: Relationales Modell & AlgebraKapitel 5: Relationale Entwurfstheorie

Datenbanken / Kapitel 1: Einführung

Page 21: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

21

Welche Kunden kommen aus Mannheim?§ Nach einiger Zeit möchte Ihr Bekannter wissen, welche

seiner Kunden aus Mannheim kommen

§ Sie schreiben ein Java-Programm

§ Ein paar Tage später interessiert ihn, wo Kunden wohnen, die seine Schnitzrohlinge kaufen

§ Sie schreiben noch ein Java-Programm

§ …Datenbanken / Kapitel 1: Einführung

Page 22: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

22

Anfragesprachen§ Relationale Datenbanksysteme unterstützen SQL als

standardisierte Anfragesprache, mit denen Sie oder Ihr Bekannter Anfragen formulieren kann, z.B.:

§ Das Datenbanksystem entscheidet selbst, wie die Anfragen auf den gespeicherten Daten ausgewertetwerden soll; Sie müssen keinen Code schreiben!

§ Kapitel 4: Structured Query Language (SQL)

Datenbanken / Kapitel 1: Einführung

1 select KundenNr , Vorname , Name

2 from Kunden

3 where Wohnort = ’Mannheim ’

Page 23: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

23

Datenintegrität und Transaktionen§ Der Strom ist ausgefallen, während viele Kunden im

Webshop ihres Bekannten am Bestellen waren.Nach dem Neustart gibt es viele Bestellungen, die unvollständig sind oder gar keine Artikel enthalten

§ Relationale Datenbanksysteme bieten Mechanismen, um zu garantieren, dass die Daten in einem konsistenten Zustand sind und bleiben

§ Kapitel 6: Datenintegrität

§ Kapitel 7: Transaktionsverwaltung

Datenbanken / Kapitel 1: Einführung

Page 24: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

24

Standardisierte Schnittstellen§ Ein Lieferant möchte Daten direkt in die Anwendung Ihres

Bekannten einspielen; sein Entwickler kann nur X++

§ Sie dokumentieren das verwendete Dateiformat sorgfältig

§ Relationale Datenbanksysteme bieten standardisierte Schnittstellen (z.B. ODBC) für gängige Programmiersprachen

§ Kapitel 11: Datenbankschnittstellen

Datenbanken / Kapitel 1: Einführung

Page 25: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

25

Sicherheitsaspekte§ Ein Mitarbeiter soll die Beschreibungen von Artikeln

überarbeiten; auf Kunden darf er keinen Zugriff haben

§ Sie übertragen die Beschreibungen von Artikeln in eine Excel-Datei und pflegen die geänderten Daten später ein

§ Relationale Datenbanksysteme erlauben eine genaue Kontrolle von Zugriffsmöglichkeiten auf Ebene von Benutzern und Rollen

§ Kapitel 9: Sicherheitsaspekte

Datenbanken / Kapitel 1: Einführung

Page 26: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

26

Datenbanktuning§ Ihr Bekannter greift häufig auf Artikel anhand ihrer

Beschreibung zu; das muss jedoch schneller gehen!

§ Sie halten eine passende Datenstruktur (z.B. TreeMap)im Hauptspeicher, um diese Zugriffe zu beschleunigen

§ Relationale Datenbanksysteme bieten verschiedene Arten von Indexstrukturen, halten diese mit den Daten aktuell und entscheiden, wann es Sinn macht sie zu verwenden

§ Kapitel 8: Datenbanktuning

Datenbanken / Kapitel 1: Einführung

Page 27: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

27

Gibt es nur relationale Datenbanksysteme?§ Nein, es gab Vorläufer (z.B. hierarchische Datenbanken

und Netzwerkdatenbanken); diese sind jedoch nur noch von historischem Interesse

§ Nein, Vielzahl von Alternativen in den letzten 10 Jahren

§ verteilte Verarbeitung großer Datenmengen(z.B. MapReduce, Spark)

§ alternative Modellierung der Daten(z.B. als Graph oder Dokumente)

§ Kapitel 12: NoSQL

Datenbanken / Kapitel 1: Einführung

Page 28: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

28

Zusammenfassung§ Relationale Datenbanksysteme

§ sind heute vorherrschende Form von Datenbanksystemen

§ bilden das Rückgrat vielfältiger Anwendungen

§ Drei Abstraktionsebenen in einem Datenbanksystem

§ physische Ebene

§ logische Ebene

§ Sichten

Datenbanken / Kapitel 1: Einführung

Page 29: Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum 4301 § Dienstag, 8:15 – 9:45 (1.Stunde), Raum 5104 (entfällt, wenn eine Übung

29

Literatur[1] A. Kemper und A. Eickler: Datenbanksysteme – Eine

Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 1)

Datenbanken / Kapitel 1: Einführung