Modul Datenbanksysteme (auch Teil des Moduls Informationssysteme) Prof. Dr. Heinrich Jasper TU Bergakademie Freiberg Künstliche Intelligenzund Datenbanken
Zielsetzung Die Studierenden sollen die Prinzipien relationaler Datenbanksysteme und die Datenmodellierung beherrschen. Themen: Datenmodellierung und Datenmanagement Das relationale Datenmodell einschließlich Algebra und Kalkül Datenbankdesign, vom Entity Relationship Modell über Transformationen, logischem Design und Normalisierung zum physischen Design Datenbankadministration, SQL und Metadaten Integrität: logische und physische Integrität, Synchronisation und Transaktionen Architektur, Schnittstellen und Funktionen von Datenbankmanagementsystemen Im praktischen Teil zu den Übungen ist ein Datenbanksystem im Team zu erstellen. 2
Inhalte / Gliederung Einführung: Begriffe und Herangehensweise (E)ER Modellierung: Beschreibung der Welt Das relationale Datenmodell Abbildung ERM > > RDM / Sh Schemata Qualität von Datenbankschemata SQL: Der Standard d der Dt Datenverwaltung Implementierungsaspekte von Datenbankmanagementsystemen Transaktionen und ihre Korrektheit Datensicherheit und Datenschutz Objektorientierte und objektrelationale Datenbanken Verteilte, aktive und temporale Datenaspekte 3
Literatur Es gibt es viele il gute Lehrbücher hbüh zum Thema Datenbanksysteme Beispiele: Kemper/Eickler: Datenbanksysteme: Eine Einführung, Oldenbourg, 1999 Vossen: Datenmodelle, Datenbanksprachen und Datenbank Management Systeme, Addison Wesley, 1994 Kifer/Bernstein/Lewis: Database Systems, Pearson/Addison Wesley, 2005 Date: An Introduction to Database Systems, Addison Wesley, 1995 Diese Vorlesung orientiert sich (teilweise exakt) an: Elmasri/Navathe: Fundamentals of Database Systems, 5th ed., Pearson/Addison Wesley, 2007 (Achtung: komplette englische Ausgabe!) 4
Organisation und Prüfungsmodalitäten Vorlesung Dienstags (7.30 09.00 Uhr) Donnerstags (14.00 15.30) 30)ACHTUNG RAUMÄNDERUNG Übungen Freitags (16.00 17.30) Praktikumsaufgabe (ebenso wie die Übungsblätter) im Team (3 Personen) Erfolgreiche Bearbeitung der Praktikumsaufgabe hilft bei der Klausur! System MySQL 5 (siehe Übungen); (ORACLE 10g) Leistungsnachweis (Klausur) 5
Geregelte Verwaltung von gemeinschaftlich genutzten Daten: Die Bedeutung der dauerhaften (persistenten) digitalen Datenspeicherung wird immer größer. Datenbestände existieren über eine längere Zeit, verschiedene Interessenten (Benutzer) benutzen sie - zumindest partiell - gemeinsam und sind somit an einem geregelten Datenunterhalt, an einer zentralen Datenverwaltung, interessiert. Datenbestände Benutzer 1 Benutzer 2 Benutzer n Beispiele: Kundendaten, Adressen, Bankkonten, Banktransaktionen, Umweltdaten, Kartenwerke, Web-Inhalte, Audio- und Videodaten. 6
Begriffsbildung: Datenbankterminologie Ein Datenbankverwaltungssystem (DBMS: database management system) organisiert einen auf Dauer angelegten Datenbestand und macht ihn mehreren Benutzern (Anwendern) zugänglich. Die Daten einschließlich ihrer Beschreibung (Schema) bilden eine Datenbank (DB). Ein DBMS kann mehrere Datenbanken verwalten. Eine Datenbank zusammen mit dem sie verwaltenden DBMS wird auch Datenbanksystem (DBS) genannt Daten Schema Datenbank 1 Daten Schema Datenbank 2 DBMS Benutzer 1 Benutzer 2 Benutzer n Datenbanksysteme Benutzer 7
Typische Aktivitäten mit/auf Datenbanksystemen: Festlegung der relevanten Daten, ihrer Struktur und der Zusammenhänge zwischen diesen Daten; Ergebnis sind Metadaten Einfügen, Ändern, Löschen von Daten, evtl. Laden großer Datenmengen Abfrage von Dt Daten nach beliebigen blibi Kriterien Kit i Auswertung von Daten und Datenmengen, evtl. automatisch Kontinuierliche (automatische) Überwachung der Qualität der Daten und der Effizienz der Datenstrukturen Zugriffskontrolle füralle Nutzer / Nutzergruppen Erstellung von Programmen oder Web Anwendungen, die die vom DBMS verwalteten t Dt Daten nutzen und ändern Einrichtung von Datenbanken, Nutzer(gruppen), Speichersystemen, Backupund Recovery Komponenten 8
Ein Beispiel: Studierendenverwaltung einer Universität: 9
Eigenschaften von Datenbanksystemen: Ein Datenbanksystem ist eine selbständige (sich selbst beschreibende), auf Dauer und für flexiblen und sicheren ih Gb Gebrauch ausgelegte Datenorganisation, i die einen Datenbestand (Daten und deren Metadaten) und die dazugehörige Verwaltung umfasst. Strukturierung der Daten: Der Datenbestand hat einen nachvollziehbaren "logischen" inneren Aufbau so dass ein Benutzer sich auf bestimmte Daten und Datengruppen beziehen kann; es gibt keine ungeordnete Mehrfachspeicherung (kontrollierte Redundanz). Trennung der Daten und dihrer Organisation von den Anwendungen, was beidseitig iti unabhängiges Arbeiten ermöglicht: Datenunabhängigkeit: die Anwendungsprogramme sind "datenunabhängig", d.h. interne Reorganisationen innerhalb des Datenbanksystems tangieren die Anwendungsprogramme nicht. Flexibilität: Die Datenbank ist nicht nur für die momentan vorhandenen Anwendungen einsetzbar; auch neue Bedürfnisse der Benutzer an die Daten sollen nachträglich befriedigt werden können. Datenintegrität: Die zur Wahrung der Datenintegrität wichtigsten Maßnahmen sind Eingabekontrolle zur Vermeidung der Aufnahme widersprüchlicher Daten (Datenkonsistenz). Datensicherung gegen Verlust und Verfälschung der gespeicherten Daten (Hauptgefahr: technische und manuelle Fehler). Datenschutz gegen missbräuchliche Verwendung der Daten (insbesondere durch Regelung der Zugriffsberechtigungen, Zweckkonformität der Datenverwendung usw.). 10
Typische Anwendergruppen: Nutzer des Datenbanksystems Dt Datenbankadministrator: kd iit t Ressourcen und Zugriffsrechte, Überwachung, Optimierung auf Hard und Softwareebene; versteht das DBMS und die zugrundeliegende Hard und Softwarelandschaft Datenbankdesigner: Dfiii Definition der Inhalte und des (konzeptionellen) Verhaltens des Datenbanksystems; versteht die Bedürfnisse der Anwendergruppen und des Geschäfts Endanwender: Gelegenheitsnutzer: seltener Zugriff bei Bedarf Parametrisierte (naive) Nutzer: vordefinierte Funktionen (canned transactions) für die Mehrzahl hlder DB Nutzer Power User : Kennen die DBS Funktionen und nutzen komplizierte Funktionen (direkt oder indirekt) Entwickler des Datenbanksystems DBMS Entwickler: Implementieren das DBMS bei einem Hersteller Tool Entwickler: Implementieren universelle Tools zur Unterstützung von Nutzern 11
Abstaktionsebenen bei Datenbanksystemen: 3 Ebenen der Abstraktion nach ANSI SPARC Internes Schema Sh beschreibt ibtdie physische h Darstellung der Dt Daten, z. B. als Array, Verbund etc. und ihre Ablage auf dem System (Datei, Speicherplatte) Konzeptionelles (logisches) Schema beschreibt die Datenbank universell in einem Modell Externes Schema liefert eine spezifische Sicht für einen Benutzer oder eine Benutzergruppe Datenbankadministrator konzeptionelles Schema Datenbasis internes Schema externes Schema A externes Schema B Benutzer A Benutzer B 12