Datenbanken · 5 Vorlesung § Zwei Vorlesungstermine § Montag, 14:00 – 15:30 (4.Stunde), Raum...

Preview:

Citation preview

Datenbanken(WS 2016/2017)

Klaus Berberich(klaus.berberich@htwsaar.de)

Wolfgang Braun(wolfgang.braun@htwsaar.de)

0. Organisatorisches

4

Dozenten§ Klaus Berberich (klaus.berberich@htwsaar.de)

§ Sprechstunde nach Vereinbarung per E-Mail

§ Wolfgang Braun (wolfgang.braun@htwsaar.de)

§ Sprechstunde nach Vereinbarung per E-Mail

Datenbanken / Kapitel 0: Organisatorisches

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

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

7

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

§ Termin wird rechtzeitig in der Vorlesung bekannt gegeben

Datenbanken / Kapitel 0: Organisatorisches

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

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

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

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

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

13

Inhalt§ 7. Transaktionsverwaltung

§ 8. Datenbanktuning

§ 9. Sicherheitsaspekte

§ 10. Programmieren mit SQL

§ 11. Datenbankschnittstellen

§ 12. NoSQL

Datenbanken / Kapitel 0: Organisatorisches

1. Einführung

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

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

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]

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

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

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

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

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 ’

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

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

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

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

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

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

29

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

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

Datenbanken / Kapitel 1: Einführung

Recommended