Einführung in Datenbanksysteme. Donald Kossmann Institut für Informationssysteme ETH Zürich

Ähnliche Dokumente
Datenbanksysteme. Donald Kossmann TU München

Datenbanken. Veranstalter: Prof. Norbert Fuhr. Mi., , LB 131 Do., , LB 107

Datenbanken. Prof. Dr. Gerd Stumme Dipl.-Inform. Christoph Schmitz. FG Wissensverarbeitung FB Mathematik/Informatik

Datenbanken. Prof. Dr. Steffen Staab. Institut für Informatik ISWeb Information Systems & Semantic Web

Datenbanken. Prof. Dr. Gerd Stumme Dr. Andreas Hotho Dipl.-Inform. Christoph Schmitz. FG Wissensverarbeitung FB Mathematik/Informatik

Grundlagen Datenbanken (GDB)

Datenbanken. Prof. Dr. Gerd Stumme Dr. Andreas Hotho Dipl.-Inform. Christoph Schmitz. Organisatorisches. Organisatorisches.

Einführung und Überblick

Datenbanken. Einführung. Tobias Galliat. Sommersemester 2012

Datenbanken. Prof. Dr. Steffen Staab. Institut für Informatik ISWeb Information Systems & Semantic Web

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Datenmodellierung VU Einführung SS 2015

Einführung. Kapitel 1 2 / 508

Datenmodellierung VU Einführung SS 2016

Datenbanken. Prof. Dr. Steffen Staab. Organisatorisches. Organisatorisches. Vorlesung

Wiederholung VU Datenmodellierung

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

Wiederholung VU Datenmodellierung

Datenbanksysteme. Thomas Neumann 1 / 31

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells)

Datenbanken I - Einführung

Datenmodellierung. Ausschnitt der Realen Miniwelt. Manuelle/intellektuelle Modellierung. Konzeptuelles Schema (E/R- oder UML-Schema)

Datenbanksysteme SS 2011

Datenbanken & Informationssysteme (WS 2016/2017)

Sommersemester Vorlesung: Dr. Matthias Schubert

Informatik II. Vorlesung am D-BAUG der ETH Zürich. Dr. Felix Friedrich und Dr. Hermann Lehner

Dr. Angelika Reiser Lehrstuhl für Informatik III: Datenbanksysteme TU München / Garching. reiser@in.tum.de

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

Informationssysteme für Ingenieure

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

Entwicklung der Datenbanksysteme

Einführung in Datenbanksysteme +++ Datenbanken für Bioinformatiker

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Einsatz und Realisierung von Datenbanken. Prof. Alfons Kemper Lehrstuhl für Informatik III: Datenbanksysteme

1. Einführung. Datenbanken Grundlagen

Das relationale Modell (Teil 1)

Datenbanken. Grundlagen

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger

Datenbanksysteme SS 2015

DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL UND DAS RELATIONALE MODELL

Grobübersicht. Web Informationssysteme. Übersicht (2) Übersicht (1) Übersicht (3) Allgemeine Literaturhinweise. XML Technologie.

Datenbanksysteme SS 2011

1. Einführung und Grundbegriffe. Vorlesung "Informationssysteme" Sommersemester 2017

Bibliothekssysteme / Verbundsysteme / Netze

Datenbanken I. Karczewski Datenbanken I 1. Produkt (0,*) (0,*)

Einführung in Datenbanken

Einführung. Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) schwache Entities

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Informatik II Vorlesung am D-BAUG der ETH Zürich

Grundlagen von Datenbanken

SS 2010 IBB4C Datenmanagement Fr 15:15 16:45 R Vorlesung #1. Datenmanagement

Gegenstand-Beziehungs Modell (ERM, Entity-Relationship Model)

PRG2 Folien Zicari Teil 1 Einführung in Datenbanken SS 2007

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer Belegnummer

Kapitel 1: Einführung 1.1 Datenbanken?

Relationale Datenbanken Kursziele

Einführung. Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008

Datenbanken Unit 1: Einleitung

Informatik II Vorlesung am D-BAUG der ETH Zürich

Grundlagen von Datenbanken. Wolfram Wingerath, Steffen Friedrich Informationssysteme (ISYS)

Kapitel 1: Einführung

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Anmerkungen zum Foliensatz Datenbanken und Datenbanksysteme im Rahmen der Vorlesung Betriebliche Informationssysteme 4.Q. 2011

Literatur. Informatik II Vorlesung am D-BAUG der ETH Zürich. Ziele. Datenbankverwaltungssysteme

Rückblick: Relationales Modell

Datenbanksysteme I. Lehrveranstaltungen zu Datenbanken (SS 07) DBS 2 (2+1) DBS2 IDBS2. Datenschutz und Datensicherheit. Data-Warehouse- Praktikum

Objektrelationale Datenbanken

SS 2011 IBB4C Datenmanagement Fr 15:15 16:45 R Vorlesung #1

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I.

Grundlagen von Datenbanken. Wolfram Wingerath, Steffen Friedrich, Fabian Panse Informationssysteme (ISYS)

Lehrplan. Datenbanken. Höhere Berufsfachschule für Automatisierungstechnik. Ministerium für Bildung

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Modul Datenbanksysteme. (auch Teil des Moduls Informationssysteme) TU Bergakademie Freiberg

Datenbanksysteme I. Lehrveranstaltungen zu Datenbanken (WS 07/08) DBS 2 (SS, 2+1) DBS2. Implementierung von DBS 2 IDBS2

Informationssysteme Übersicht Sommersemester 2017

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Datenbankmodelle und Datenbanksprachen

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Datenbanken Grundlagen und Design

Grundlagen der Datenbanksysteme I

Zusammenfassung. Vorlesung Webbasierte Informationssysteme (CS4130) Zusammenfassung

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Datenbanken und Informationssysteme. Datenbanken und Informationssysteme

Datenbanken und Informationssysteme

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Einführung in Datenbanksysteme ++ Datenbanken für Bioinformatiker

Transkript:

Einführung in Datenbanksysteme Donald Kossmann Institut für Informationssysteme ETH Zürich kossmann@inf.ethz.ch www.dbis.ethz.ch

Vorlesungen Termine Mittwoch: 10 Uhr bis 12 Uhr Übungen (Start am 2. April) Montag: 13 Uhr bis 14 Uhr (3 x) Dienstag: 15 Uhr bis 16 Uhr Dienstag: 16 Uhr bis 17 Uhr Mittwoch: 13 Uhr bis 14 Uhr Eintragen zur Übung bis 28. März 2006: www.dbis.ethz.ch/education/ss2007/07_dbs_introdb

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)

Ü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 1 21.3.2007 Einführung, DB Architekturen - 2 28.3.2007 ER Modellierung I - 3 4.4.2007 ER Modellierung II ER Modellierung, Start Projekt 4 11.4.2007 Relationales Modell - 5 18.4.2007 SQL I - 6 25.4.2007 SQL II ER, Relat. Modell 7 2.5.2007 SQL III SQL (Maifeiertag!) 8 9.5.2007 Integritätsbedingungen SQL 9 16.5.2007 Entwurfstheorie I Ende Projekt I 10 23.5.2007 Entwurfstheorie II Entwurfstheorie 11 30.5.2007 Entwurfstheorie III - 12 6.6.2007 Transaktionsbegriff Entwurfstheorie 13 13.6.2007 Sicherheit Transaktionen 14 20.6.2007 Ausblick Ende Projekt II 15??.?.2007 - Final Klausur

Kein Testat (!) Projekt Hinweise zu Übungen 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 einfache Textinterfaces zur Administration Terminals Batch Jobs Hier spielt die ganze Musik Großrechner (Anwendung + DB)

Anwendungslogik, GUIs Client-Server Client Client Datenhaltung Datenbankserver

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 PC PC PC PC PC Application- Server Application- Server Datenbankserver

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

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 PC PC PC PC PC Application- Server Application- Server DB1 DB2 DB3

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 Client Internet /Intranet Client DB2 DB3

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.

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

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

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

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 MatrNr 26120 25403... Name Fichte Jonas... MatrNr 25403 26120... hören VorlNr 5022 5001... VorlNr 5001 5022... Vorlesungen Titel Grundzüge Select Name From Studenten, hören, Vorlesungen Where Studenten.MatrNr = hören.matrnr and hören.vorlnr = Vorlesungen.VorlNr and Vorlesungen.Titel = `Grundzüge ; update Vorlesungen set Titel = `Grundzüge der Logik where VorlNr = 5001; Glaube und Wissen...

Architekturübersicht eines DBMS Naive Benutzer Fortgeschrittene Benutzer Anwendungs- Programmierer Datenbankadministratoren Anwendung Interaktive Anfrage Präcompiler Verwaltungswerkzeug DML-Compiler Anfragebearbeitung DDL-Compiler DBMS Mehrbenutzersynchr. Fehlerbehandlung Datenbankmanager Schemaverwaltung Dateiverwaltung Logdateien Indexe Datenbasis Datenwörterbuch Hintergrundspeicher