Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
0. Organisatorisches
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
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