Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in Datenbanksysteme Donald Kossmann Systems Group ETH Zürich

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in Datenbanksysteme Donald Kossmann Systems Group ETH Zürich"—  Präsentation transkript:

1 Einführung in Datenbanksysteme Donald Kossmann Systems Group ETH Zürich kossmann@inf.ethz.ch www.systems.ethz.ch

2 Termine Vorlesungen –Mittwoch: 10 Uhr bis 12 Uhr Übungen (Start am 3. März) –Montag: 13 Uhr bis 14 Uhr (2 x) –Montag: 16 Uhr bis 17 Uhr (2 x) –Dienstag: 16 Uhr bis 17 Uhr –Mittwoch: 13 Uhr bis 14 Uhr Eintragen zur Übung bis 25. Februar 2008: www.dbis.ethz.ch/education/ss2008/ss08_dbs_introdb

3 Literatur Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 6. Auflage, 2006. (Kap. 1-6, 9, 12) oder Elmasri, Navathe: Grundlagen von Datenbanksysteme (Ausgabe Grundstudium). Pearson Studium, 3. Auflage 2005. (praktisch komplett)

4 Übersicht Wie benutze ich ein Datenbanksystem? –Datenmodellierung (ER, UML, Theorie) –Datenbankprogrammierung (SQL) Wie baue ich ein Datenbanksystem? –Anfrageoptimierung –Transaktionsverwaltung Wie sieht die nächste Generation aus? –Objektorientierte, objektrelationale Datenbanken –Data Warehousing, Decision Support, Data Mining –XML, verteilte Datenbanken, WWW

5 Vorlesungsplan Week No.Date (Mi)Topic LectureÜbungen Topic 120.2.2008Einführung, DB Architekturen- 227.2.2008ER Modellierung I- 35.3.2008ER Modellierung IIER Modellierung, Start Projekt 412.3.2008Relationales ModellER, Modellierung 519.3.2008SQL IRelationales Modell 62.4.2008SQL IISQL 79.4.2008SQL IIISQL 816.4.2008Integritätsbedingungen- (Sechseläuten) 923.4.2008Entwurfstheorie IProjekt: Etappe I 1030.4.2008Entwurfstheorie IIIntegritätsbed. 117.5.2008Entwurfstheorie IIIEntwurfstheorie 1214.5.2008TransaktionsbegriffEntwurfstheorie (?) 1321.5.2008SicherheitTransaktionen 1428.5.2008AusblickEnde Projekt II 15??.?.2008-Final Klausur

6 Hinweise zu Übungen Kein Testat (!) Projekt –Gruppen von ca. drei Studierenden –Pflicht (sonst keine Zulassung zur Klausur) –Keine Note Übungen –Ausgabe in der Vorwoche –Besprechung in der Woche darauf –Bitte vorbereiten!

7 Was ist ein Datenbanksystem? Ein Datenbanksystem ist ein Werkzeug zur Entwicklung von datenintensiven Anwendungen: –großer Datenbestand –große Datenströme

8 Vision Alles Wissen dieser Welt elektronisch speichern und jederzeit und an jedem Ort jedem autorisierten Benutzer zur Verfügung stellen. Status: Technologie ist da (Karteikästen). Das Modell fehlt (Beschriftung der Kästen).

9 Typische Anwendungen Bank (Buchungen Kontoverwaltung) Bibliothek (Volltextsuche, Entleihe) Redaktionssysteme im Internet (Dokumente erstellen, Struktur einer Website) E-Business (Auftrag, Katalog) ERP (Personal, Buchhaltung, Controlling) Decision Support (statistische Auswertungen)

10 Motivation für den Einsatz eines Datenbanksystems Redundanz und Inkonsistenz Beschränkte Zugriffsmöglichkeiten des Filesystems Probleme beim Mehrbenutzerbetrieb Verlust von Daten bei Systemausfällen Sicherheitsprobleme / Authorisierung Hohe Entwicklungskosten von Anwendungen

11 Architekturen und Ausprägungen Großrechner Client-Server Multi-Tier Architekturen Parallele Datenbanksysteme Verteilte, Peer-to-peer Datenbanken

12 Großrechner Großrechner (Anwendung + DB) TerminalsBatch Jobs einfache Text- interfaces zur Administration Hier spielt die ganze Musik

13 Client-Server Datenbankserver Client Anwendungslogik, GUIs Datenhaltung

14 Vorteile von Client/Server Skalierbarkeit: Clientrechner übernehmen einen Teil der Last – je mehr Nutzer desto mehr Clientrechner Verfügbarkeit: Hardware am Server kann redundant ausgelegt werden Sicherheit: Beschütze Server und Zugang zum Server Administrierbarkeit: Backups nur am Server Nachteil: Komplexität (Caching, usw.)

15 Three-Tier Datenbankserver Application- Server Application- Server PC

16 Datenbanken im Web Datenbankserver Application- Server Application- Server Browser Web-Server Browser Internet

17 Multi-Tier-Architekturen Schichtenarchitektur: –Jede Ebene implementiert einen anderen Aspekt (Datenbank, Anwendungen, GUI,...) –Unterschiedliche Anbieter für einzelnen Schichten (Oracle für die Datenbank, sd&m für die Anwendung, Apache für den Webserver, Microsoft fürs GUI) Jede Schicht kann auf einem eigenen Rechner implementiert werden. Es können aber auch mehrere Schichten auf einem Rechner installiert werden. Skalierbarkeit auf jeder Schicht bis auf Datenbank.

18 Paralleles Datenbanksystem Application- Server Application- Server PC DB1DB2DB3

19 Paralleles Datenbanksystem Das Datenbanksystem selber ist aus mehreren Knoten (Festplatten, CPUs) aufgebaut. Die Knoten sind durch ein schnelles Netzwerk verbunden. Ziele: –Höheren Durchsatz (Inter-Query Parallelität) –Niedrigere Antwortzeiten (Intra-Query Parall.) –Höhere Verfügbarkeit –Kosten, Erweiterbarkeit, Skalierbarkeit Wichtig: Transparenz

20 Verteiltes Datenbanksystem DB1 Internet /Intranet DB1 DB2DB3 Client

21 Verteilte Datenbanken Die einzelnen Datenbanken sind autonom und durch ein langsames, instabiles Netzwerk verbunden. Zugriff von überall auf alles möglich. Großen Organisationen mit vielen Filialen. Prinzip: Speichere Daten, wo sie gebraucht werden. Eventuell: Replikation. Transparenz: –Benutzer weiß nicht, wo Kopien, welcher Daten liegen. Aus Sicht des Benutzers ist der Zugriff auf das gesamte System wie bei einem zentralen System.

22 Stream Data Management (Hub) DB

23 Stream Data Management „Am Anfang war das Wasser…“ „Alles ist im Fluss …“ –Ursprung aller Daten ist ein „Eventstrom“ –(z.B. Clickstrom, Sensormessungen, …) Daten werden „on the fly“ bearbeitet –Behandele Daten während sie fließen –Teilweise ohne Speicherung / Archivierung –Teilweise mit Speicherung und vorberechnete Reports Selben Ziele und Abstraktionen –Z.B. SQL oder XQuery als Programmiersprache

24 Die Abstraktionsebenen eines Datenbanksystems Datenunabhängigkeit Physische Ebene Logische Ebene Sicht1Sicht 2Sicht 3... Logische Datenunabhängigkeit Physische Datenunabhängigkeit Änderungen auf einer Ebene betreffen die andere Ebene nicht!

25 Datenmodellierung Relationales Schema Netzwerk Schema Objektorientiertes Schema Konzeptuelles Schema (ER-Schema) Manuelle/intellektuelle Modellierung Halbautomatische Transformation Ausschnitt der Realen Miniwelt XML

26 Modellierung einer kleinen Beispielanwendung Studenten Vorlesungen Professoren Reale Welt: Universität PersNrMatrNr Name StudentenProfessoren hören lesen Vorlesungen Titel VorlNr Konzeptuelle Modellierung

27 Logische Datenmodelle Netzwerkmodell (z.B. CODASYL/COBOL) Hierarchisches Datenmodell (IBM IMS/FastPath) Relationales Datenmodell (SQL) Objektorientiertes Datenmodell (ODMG 2.0) Semistrukturiertes Datenmodell (XML) Deduktives Datenmodell (Datalog)

28 Das relationale Datenmodell Studenten MatrNrName 26120 25403... Fichte Jonas... hören MatrNrVorlNr 25403 26120... 5022 5001... Vorlesungen VorlNrTitel 5001 5022... Grundzüge Glaube und Wissen... Select Name From Studenten, hören, Vorlesungen Where Studenten.MatrNr = hören.MatrNr and hören.VorlNr = Vorlesungen.VorlNr and Vorlesungen.Titel = `Grundzüge´; updateVorlesungen setTitel = `Grundzüge der Logik´ whereVorlNr = 5001;

29 LogdateienIndexeDatenbasisDatenwörterbuch Dateiverwaltung Mehrbenutzersynchr. Fehlerbehandlung DatenbankmanagerSchemaverwaltung Anfragebearbeitung DBMS DML-CompilerDDL-Compiler Anwendung Interaktive Anfrage Verwaltungs- werkzeug Präcompiler „Naive“ Benutzer Fortgeschrittene Benutzer Anwendungs- Programmierer Datenbank- administratoren Hintergrundspeicher Architekturübersicht eines DBMS


Herunterladen ppt "Einführung in Datenbanksysteme Donald Kossmann Systems Group ETH Zürich"

Ähnliche Präsentationen


Google-Anzeigen