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

Slides:



Advertisements
Ähnliche Präsentationen
Einführung "Datenbanksysteme"
Advertisements

Datenbanken Einführung.
PC-Cluster.
Vorlesung: Prof. Norbert Fuhr
Einführung in Informationssysteme
Datenbankzugriff im WWW (Kommerzielle Systeme)
Datenbanken für Mathematiker
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
FH-Hof DBS II: Übersicht über die Vorlesung Richard Göbel.
Client-Server-Architekturen
Web-Datenbanken Ein Ausblick. © Prof. T. Kudraß, HTWK Leipzig Ausblick auf aktuelle Trends Web 2.0 (Social Web) Informationsintegration: (Web) Content.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Projekt Web Engineering
Fachbereich Mathematik/Informatik Universität Osnabrück
Informationssysteme SS Informationssysteme Grundvorlesung Informatik Sommersemester 2004 Universität des Saarlandes, Saarbrücken Dr. Ralf Schenkel.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Grundlagen Datenbanken (GDB)
Volumenorientierte Modellierung als Grundlage einer vernetzt- kooperativen Planung im konstruktiven Ingenieurbau Antragsteller: Prof. E. Rank, Prof. H.-J.
1 MEDEA3 / IWC-RLO Medea3 System-Übersicht Haupt-Komponenten von Medea 3 –Medea 3 SERVER SUN/SOLARIS System ORACLE 8i Datenbank Server Medea 3 Kernel Apache.
Datenbanken und Datenmodellierung
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Replikation und Synchronisation
Vorlesung #10 Physische Datenorganisation
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Datenbanken im Web 1.
Oracle Portal think fast. think simple. think smart. Dieter Lorenz, Christian Witt.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #1 Datenmanagement.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Grundlagen Datenbanken (GDB)
Objektorientierte Datenbanken
Mönchengladbach Tchibo Filial-Manager Erste Ideen.
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
WS 2015/16 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #1 Einführung.
IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?
Vorlesung Grundlagen der computergestützten Produktion und Logistik W1332 Fakultät für Wirtschaftswissenschaften W. Dangelmaier.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
Vorlesung #2 Einführung
Datenaustausch und Interoperabilität
Vorlesung #2 Einführung
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Non-Standard-Datenbanken
Cloud Computing.
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
Basiskomponente Bibliothek Informationsveranstaltung
Einführung "Datenbanksysteme"
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
Grundlagen Datenbanken (GDB)
Datenbank WI WAHB12 Carolin & Sarah.
Abfragestrategien in verteilten Systemen
Datenbanken Von Zoe und Carem.
Präsentation von Darleen und Michèle
Datenbanken Von Jan und Cedric.
Von Diana Braun und Daria Bures
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
Datenbanken
 Präsentation transkript:

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

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:

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

Ü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

Vorlesungsplan Week No.Date (Mi)Topic LectureÜbungen Topic Einführung, DB Architekturen ER Modellierung I ER Modellierung IIER Modellierung, Start Projekt Relationales ModellER, Modellierung SQL IRelationales Modell SQL IISQL SQL IIISQL Integritätsbedingungen- (Sechseläuten) Entwurfstheorie IProjekt: Etappe I Entwurfstheorie IIIntegritätsbed Entwurfstheorie IIIEntwurfstheorie TransaktionsbegriffEntwurfstheorie (?) SicherheitTransaktionen AusblickEnde Projekt II 15??.?.2008-Final Klausur

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!

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

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).

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)

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

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

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

Client-Server Datenbankserver Client Anwendungslogik, GUIs Datenhaltung

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.)

Three-Tier Datenbankserver Application- Server Application- Server PC

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

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.

Paralleles Datenbanksystem Application- Server Application- Server PC DB1DB2DB3

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

Verteiltes Datenbanksystem DB1 Internet /Intranet DB1 DB2DB3 Client

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.

Stream Data Management (Hub) DB

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

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!

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

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

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)

Das relationale Datenmodell Studenten MatrNrName Fichte Jonas... hören MatrNrVorlNr Vorlesungen VorlNrTitel 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;

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