Lehrkräfte: Datenbanken (DB) 1.) Prof. Dr.-Ing. Martin Pollakowski Fachbereich Elektrotechnik Raum C-4.03, Tel.: - 226, E-Mail: martin.pollakowski@fh-gelsenkirchen.de 2.) Dipl.-Ing. Peter Mroczek Raum: C-4.04, Tel.: - 227 E-Mail: mroczek@fh-gelsenkirchen.de Web-Server: http://elektrotechnik.fh-gelsenkirchen.de/informatik/index.html Folien werden vor der Vorlesung per E-Mail verschickt. Folie 1 Methodik der Lehrveranstaltung Dauer: ein Semester, 2 V + 2 Ü Vorlesung (2 V) -Konzepte -Methoden Übung (2 Ü) - Programmiersprachen - SQL, PHP Klausur 2 Stunden Folie 2 1
1. Datenbank-Grundlagen Inhaltsangabe 2. Entwurfsmethoden für Datenschemata - Relationenmodell, Konsistenzbedingungen 3. Datenmanipulationen - Transaktionstypen, Suchmethoden 4. Programmierung mit SQL - Einrichten von Datenbanken - Informationsgewinnung - Weitere Datenbearbeitung 5. Datenbankverwaltungssysteme () - MySQL für LINUX 6. Interaktive Web-Seiten - PHP (Hypertext Preprocessor) Folie 3 Literatur zu Datenbanken" Bücher Zehnder, Carl August: Informationssysteme und Datenbanken, vdf Hochschulverlag und B. G. Teubner, Stuttgart, 1998. Misgeld, Wolfgang D.: SQL Einstieg und, Hanser Verlag, München, 2001. Dubois, Paul: MySQL - Entwicklung, Implementierung und Referenz, Markt + Technik Verlag, München, 2000. Stoll, R. D; Leierer, G. A.: PHP4 + MySQL, Data Becker Verlag, Düsseldorf, 2000 Heuer, Andreas; Saake, Gunter: Datenbanken: Konzepte und Sprachen, mitp-verlag, Bonn, 2000 Internet: www.mysql.com/doc.html = Dokumentation zu MySQL www.php.net = PHP Tutorial www.apache.org = Informationen zum Apache Web-Server Folie 4 2
Was ist eine Datenbank? Beispielkonfiguration: Web-Browser Lokales sprogramm sprogramm Internet Web-Server Fernzugriff über das Internet Datenbanksystem Datenbankverwaltungssystem () Datenbank = database management system database = Datenbank, Datenbasis Folie 5 Abgrenzung zu anderen Informationssystemen Datenbanksystem ( Database ): - aktualisierende, schnelle, stabile Datenverwaltung - Datenbestände werden nachgeführt und bearbeitet Data-Warehouse ( Datenlager ) - schnelle Abfrage von großen Datenbeständen - Daten werden nur eingelagert und ergänzt Datawarehouse system Vernetzte, offene Informationssysteme (z.b.: WWW) - Daten unterschiedlicher Anbieter werden verknüpft - Keine systematische Verwaltung der Inhalte kennzeichnend für Datenbanken ist die systematische Datenpflege Folie 6 3
Warum Datenbanken? Vermeidung von Datenredundanz: - Daten nur an einer Stelle speichern: spart Speicherplatz - Änderungen nur an einer Stelle nötig: Daten bleiben konsistent Effiziente Datenverwaltung: - spezialisierte Algorithmen für große Datenbestände z.b: Suchalgorithmen, Sortieralgorithmen, Backup-Methoden Konfliktfreier Mehrbenutzerbetrieb: - zentrale Zugriffsteuerung verhindert gegenseitige Störungen und unkontrolliertes Überschreiben (Datensicherheit) Datenunabhängigkeit durch standardisierte Schnittstellen: - interne Darstellung der Daten wird verborgen - unabhängig von Speichermedium und Rechnerarchitektur Folie 7 Einsatzgebiete von Datenbanken Klassische Einsatzgebiete: - Buchhaltungssysteme - Auftragserfassungssysteme - Bibliothekskataloge - Personaldatenbanken Im technischen Bereich: - Computer Aided Design (CAD) mit Objektdatenbanken - Expertensysteme ( Knowledge Base ) - Netzwerk-Management-Systeme - Trouble-Ticket -Systeme (Verwaltung von Fehlermeldung und Überwachung des Entstörprozesses) Folie 8 4
Nutzergruppen und Sichten Drei Nutzergruppen mit unterschiedlichen Datenbank-sprogrammen Sicht = vordefinierte Abfolge von Abfrageoperationen 1) Gelegentlicher Nutzer (z.b.: Kunde eines Web-Shops) - wenige Sichten, schrittweise Anleitung, - Sicherheit ist sehr wichtig 2) Professioneller Nutzer (z.b.: Betreiber eines Web-Shops) - viele Sichten, Nutzer sind ausgebildet, - Effizienz ist wichtig 3) Administratoren und Programierer (z.b.: Systemadministrator) - freie Abfragemöglichkeiten (keine vordefinierte Sichten) - nutzten eine standardisierte Datenmanipulationssprache 2 s- Programm 2 1 s- Programm 1 3 Direkter Zugriff Folie 9 Historische Entwicklung 1) Dateisysteme (Anfang 60er Jahre) - anwendungsspezifische Datenorganisation - geräteabhängig, redundant, inkonsistent Datei 1 Datei 2 2) Dateiverwaltungssysteme (Ende 60er Jahre) - Beispiel: SAM = Sequential Access Method - geräteunabhängig aber redundante Daten Dateiverwaltung Datei 1 Datei 2 3) Datenbanksysteme (seit 70er Jahren) - zentrale Datenhaltung mittels - geräteunabhängig, redundanzfrei, konsistent Datei Folie 10 5
Aufgaben eines Datenbank-Management-Systems - Daten-Integration = einheitliche Verwaltung aller Daten - Operationen bereitstellen: Speichern, Suchen, Ändern etc. - Datenbeschreibungen (Datenbankmodelle) verwalten ( data dictionary ) - Sichten realisieren = für Nutzer relevante Daten auswählen - Konsistenz überwachen: Änderungen auf korrekte Ausführung prüfen - Zugriff kontrollieren: nur autorisierte Zugriffe, Datenschutz - Transaktionen bilden = Datenbankänderungen zu Einheiten zusammenfassen, die als Ganzes ausgeführt werden - Benutzerzugriffe synchronisieren: z.b.: Schreibkonflikte vermeiden Folie 11 - Daten sichern: Wiederherstellung nach Systemabstürzen Quelle: Heuer/ Saake Architektur eines Datenbank-Management-Systems Administrator Abfragen und Eingaben Optimierer Auswertung Plattenzugriff Datei 1 n Datenbank-Operationen (Abfragen / Eingaben) Schnittstellen (API) für Progammiersprachen Masken-Tools für Benutzeroberfläche Datenwörterbuch Sichtdefinition Datendefinition Dateiorganisation Folie 12 Datenwörterbuch = data dictionary Quelle: Heuer/ Saake 6