Modul Datenbanksysteme (auch Teil des Moduls Informationssysteme) Prof. Dr. Heinrich Jasper Prof Dr Heinrich Jasper TU Bergakademie Freiberg Künstliche Intelligenz und Datenbanken Künstliche Intelligenz und Datenbanken Zielsetzung • Die Studierenden sollen die Prinzipien relationaler Datenbanksysteme und die Datenmodellierung beherrschen. • Themen: – Datenmodellierung d lli und Datenmanagement d – Das relationale Datenmodell einschließlich Algebra und Kalkül – Datenbankdesign, vom Entity Datenbankdesign vom Entity‐Relationship‐Modell Relationship Modell über Transformationen, ü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 Architektur Schnittstellen und Funktionen von Datenbankmanagementsystemen – Im praktischen Teil zu den Übungen ist ein Datenbanksystem im Team zu erstellen. ll 1. Prof. Jasper: Datenbanksysteme 2 Inhalte / Gliederung • • • • • • • • • • • Einführung: Begriffe und Herangehensweise (E)ER Modellierung: Beschreibung der Welt (E)ER‐Modellierung: Beschreibung der Welt Das relationale Datenmodell Abbild Abbildung ERM ‐> RDM / Schemata ERM > RDM / S h t Qualität von Datenbankschemata SQL D St d d d D t SQL: Der Standard der Datenverwaltung lt Implementierungsaspekte von Datenbankmanagementsystemen T Transaktionen und ihre Korrektheit ki d ih K kh i Datensicherheit und Datenschutz Objektorientierte und objektrelationale Datenbanken Verteilte, aktive und temporale Datenaspekte 1. Prof. Jasper: Datenbanksysteme 3 Literatur • Es gibt es viele gute Lehrbücher zum Thema Datenbanksysteme ib i l h bü h h b k • Beispiele: 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 Kifer/Bernstein/Lewis: Database Systems Pearson/Addison‐ Wesley, 2005 – Date: An Introduction to Database Systems, Addison‐Wesley, 1995 • Diese Diese Vorlesung orientiert sich (teilweise exakt) an: Vorlesung orientiert sich (teilweise exakt) an: – Elmasri/Navathe: Fundamentals of Database Systems, 5th ed., Pearson/Addison‐Wesley, 2007 (Achtung: komplette englische Ausgabe!) 1. Prof. Jasper: Datenbanksysteme 4 Organisation und Prüfungsmodalitäten • Vorlesung l – Dienstags (7.30‐09.00 Uhr) – Donnerstags (14.00 Donnerstags (14 00 – 15.30) ACHTUNG RAUMÄNDERUNG 15 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) 5 (siehe Übungen); (ORACLE 10g) • Leistungsnachweis (Klausur) g ( ) 1. Prof. Jasper: Datenbanksysteme 5 Datenbanksysteme: Einführung • Geregelte Verwaltung von gemeinschaftlich genutzten Daten: – Die Bedeutung der dauerhaften (persistenten) digitalen Datenspeicherung wird immer größer 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. Benutzer 1 Datenbestände Benutzer 2 Benutzer n – Beispiele: Kundendaten, Adressen, Bankkonten, Banktransaktionen, Umweltdaten, Kartenwerke, Web-Inhalte, Audio- und Videodaten. 1. Prof. Jasper: Datenbanksysteme 6 Datenbanksysteme: Einführung • 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 (DB). Ei DBMS kkann mehrere h D Datenbanken t b k verwalten. lt Ei Eine Datenbank zusammen mit dem sie verwaltenden DBMS wird auch Datenbanksystem (DBS) genannt Daten Benutzer 1 Schema Datenbank 1 DBMS Benutzer 2 Daten Benutzer n Schema Datenbank 2 Datenbanksysteme 1. Prof. Jasper: Datenbanksysteme Benutzer 7 Datenbanksysteme: Einführung • Typische Aktivitäten mit/auf Datenbanksystemen: – Festlegung Festlegung der relevanten Daten, ihrer Struktur und der Zusammenhänge 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 Daten nach beliebigen Kriterien Abf D t h b li bi K it i – Auswertung von Daten und Datenmengen, evtl. automatisch – Kontinuierliche (automatische) Überwachung der Qualität der Daten und der Effizienz der Datenstrukturen – Zugriffskontrolle für alle Nutzer / Nutzergruppen Zugriffskontrolle für alle Nutzer / Nutzergruppen – Erstellung von Programmen oder Web‐Anwendungen, die die vom DBMS verwalteten Daten nutzen und ändern lt t D t t dä d – Einrichtung von Datenbanken, Nutzer(gruppen), Speichersystemen, Backup‐ und Recovery‐Komponenten 1. Prof. Jasper: Datenbanksysteme 8 Datenbanksysteme: Einführung • Ein Beispiel: Studierendenverwaltung einer Universität: 1. Prof. Jasper: Datenbanksysteme 9 Datenbanksysteme: Einführung • Eigenschaften von Datenbanksystemen: – Ein Datenbanksystem ist eine selbständige (sich selbst beschreibende), auf Dauer und für fl ibl und flexiblen d sicheren i h G b Gebrauch h ausgelegte l D Datenorganisation, i i di einen die i D Datenbestand b d (Daten und deren Metadaten) und die dazugehörige Verwaltung umfasst. – Strukturierung der Daten: Der Datenbestand hat einen nachvollziehbaren "logischen" logischen inneren Aufbau so dass ein Benutzer sich auf bestimmte Daten und Datengruppen beziehen kann; es gibt keine ungeordnete Mehrfachspeicherung (kontrollierte Redundanz). – T Trennung der d D Daten t undd Ihrer Ih Organisation O i ti von den d A Anwendungen, d was beidseitig b id iti unabhängiges bhä i Arbeiten ermöglicht: • Datenunabhängigkeit: die Anwendungsprogramme sind "datenunabhängig", d.h. interne Reorganisationen innerhalb des Datenbanksystems tangieren die Anwendungsprogramme nicht. 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.). 1. Prof. Jasper: Datenbanksysteme 10 Datenbanksysteme: Einführung • Typische Anwendergruppen: – Nutzer des Datenbanksystems • D Datenbankadministrator: Ressourcen und Zugriffsrechte, Überwachung, t b k d i it t R d Z iff ht Üb h Optimierung auf Hard‐ und Softwareebene; versteht das DBMS und die zugrundeliegende Hard‐ und Softwarelandschaft • Datenbankdesigner: Definition der Inhalte und des (konzeptionellen) Verhaltens D b kd i D fi i i d I h l d d (k i ll ) V h l 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 der DB‐Nutzer h hl d – „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 1. Prof. Jasper: Datenbanksysteme 11 Datenbanksysteme: Einführung • Abstaktionsebenen bei Datenbanksystemen: – 3‐Ebenen der Abstraktion nach ANSI‐SPARC • IInternes Schema t S h b h ibt di h i h D t ll beschreibt die physische Darstellung der Daten, z. B. als Array, d D t B l A Verbund etc. und ihre Ablage auf dem System (Datei, Speicherplatte) • Konzeptionelles (logisches) Schema beschreibt die Datenbank universell in einem M d ll Modell • Externes Schema liefert eine spezifische Sicht für einen Benutzer oder eine Benutzergruppe Datenbankadministrator konzeptionelles Schema Datenbasis internes Schema 1. Prof. Jasper: Datenbanksysteme externes Schema A B t A Benutzer externes Schema B B t B Benutzer 12