Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 Inhalt 1. 2. 3. 4. 5. 6. 7. 8. Motivation Grundlegende Begriffe Geschichte Aufgabenfelder / Tätigkeitsbereiche Grundlagen Formalisierung der Realität Modelle Datenmodellierung Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 2 Literatur Meier, Andreas, [2001]: Relationale Datenbanken – Leitfaden für die Praxis, Springer, Berlin. Heuer, Andreas / Saake, Gunter [2000]: Datenbanken: Konzepte und Sprachen, 2. Auflage, mitp, Bonn. Vossen, Gottfried, [2000]: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 4. Auflage Oldenburg, München. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 3 Motivation Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 4 Vorher Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 5 Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 6 Nachher Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 7 Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 8 Datenbanken - Motivation Die ganze Datenbankproblematik beginnt damit, dass “man” “Daten” längerfristig, d.h. über die Laufzeit eines Programmes hinaus, auf einem Computer speichern will. Computer / Rechner EDV (elektronische Datenverarbeitung) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 9 Datenbanken - Anforderungen • Schnelle, flexible Suchmöglichkeiten im Datenbestand • Gezielter schneller Zugriff auf bestimmte Eigenschaften eines Objektes • Einfache gezielte Änderung der Daten • Paralleler Zugriff mehrerer Mitarbeiter oder Programme auf die Daten, ohne dass die Daten fehlerhaft werden • Datenunabhängigkeit Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 10 Datenbanken - Anforderungen • Unterstützung von Transaktionen, (d.h. mehrere sequentiell durchgeführte Änderungen von Daten werden zusammenhängend behandelt. Entweder werden alle Änderungen durchgeführt oder keine) • Gezielte Vergabe von Zugriffsrechten für Anwender und Entwickler • Datenkonsistenz /-integrität • Datensicherung Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 11 Datenbanken - Anforderungen • Gute Weiterverarbeitungs- bzw. Auswertungsmöglichkeiten der Daten durch Programme • Hohe Leistungsfähigkeit auch bei der Verarbeitung von sehr grossen Datenmengen und sehr vielen gleichzeitigen Zugriffen • Synchronisierte effiziente Verteilung der Daten im Netzwerk (Replikation) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 12 Grundfunktionen von DBen • Anwender – Suche und Anzeige von Daten – Eingabe von Daten – Löschen von Daten – Veränderung von Daten • Entwickler – Datenbank anlegen – Tabellen definieren – Verknüpfungen zwischen Tabellen definieren Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 13 Vorteile DB gegenüber Datei • Einfachere Strukturierbarkeit der Daten • schnellerer systematischerer Zugriff auf die einzelne Daten • Vorhandene Suchfunktionen bzw. Anfragesprachen (SQL, QBL) • Flexible Verknüpfbarkeit von Daten Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 14 Vorteile von zentraler gegenüber lokaler DB • Massiver kontrollierter Parallelzugriff • Alle berechtigten Mitarbeiter können von ihrem Arbeitsplatz aus auf die gleichen Daten zugreifen • Alle berechtigten Mitarbeiter können Daten manipulieren • Zugriffsrechte können flexibel vergeben werden • Integrierte Datenhaltung aller Daten (ohne Redundanzen) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 15 Grundlegende Begriffe Definitionen • Datenbank • Daten • Datenbankmanagementsystem Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 17 Datenbank - Definition Eine Datenbank ist eine strukturiert bzw. geordnet , elektronisch gespeicherte Sammlung von Daten(elementen). Die dabei berücksichtigen Objekte, Eigenschaften und deren technische Organisation ergeben sich im Rahmen der Datenmodellierung – aus den Aufgaben, für die sie modelliert werden, und – aus den technischen Möglichkeiten des Datenbankverwaltungssystems (DBMS). Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 18 Beispiele für Datenbanken • • • • • • • • Mitarbeiterdatenverwaltung Kundendatenverwaltung Auftragsverwaltung Produktkatalog Bibliotheksverwaltung Lagerhaltung Bundes-Bahn-Fahrplan Veranstaltungsmanagement Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 19 Daten - Definition • Daten sind einzelne oder aneinander gereihte Zeichen mit einer Bedeutung • Daten sind Informationen in einer zur technikgestützten Darstellung und Verarbeitung geeigneten Form. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 20 Daten - Beispiele • Zahlen: „12646“ z.B. interpretiert als Kosten in DM oder als Postleitzahl eines Ortes • Namen: „Herbert“ z.B. interpretiert als Vorname eines Mitarbeiters • Datumsangabe: „10.02.02“ interpretiert als 10. Februar 2002 Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 21 Datenbankmanagementsystem (DBMS) Software-System zur Verwaltung von Datenbanken und Datenbankzugriffen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 22 Reale DBMS auf dem Markt • • • • • • • • DB2 /UDB (IBM) Oracle (Oracle) MS SQL Server (Microsoft) MySQL (Linux / Open Source) Sybase (Sybase) Informix (IBM) Tamino (Software AG) MS Access (Microsoft) (Desktop) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 23 Geschichte der Datenbanktechnologie Datenbanken - Geschichte 1. Generation • Speicherung der Daten auf Lochkarten oder Magnetbändern • Offline-Betrieb / Batchverarbeitung (Berichte) • Sequentieller Zugriff auf die Daten Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 25 Datenbanken - Geschichte 2. Generation • Speicherung der Daten auf Magnetplatten • Online-Betrieb (interaktiv am Terminal) • Direkter Zugriff auf die Daten • Parallelzugriff auf die Datenbank • Hierarchisches Datenmodell (IMS / IBM) • Netzwerkmodell (UDS / Siemens) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 26 Datenbanken - Geschichte 3. Generation • Nichtprozedurale DB-Sprachen (was statt wie) • Relationales Datenmodell (DB2, Oracle) • Entity Relationschip Model (Chang) • SQL (Structered Query Language) • Datenunabhängigkeit Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 27 Datenbanken - Geschichte 4. Generation • Datenbanken auf PC-Basis (dbase / MS-Access) • Objektorientierte Datenbanken (Poet / O2) • Client-Server-Architekturen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 28 Datenbanken - Geschichte 5. Generation • Offene Schnittstellen (ODBC) • Integration mit Internettechnik (JDBC) • Objektrelationale Datenbanken • Zeitdatenbanken • Deduktive Datenbanken • Multidimensionale Datenbanken • Verteilte Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 29 Aufgabenfelder Aufgabenfelder • • • • Nutzung durch Anwender Entwicklung (Entwickler) Verwaltung (Administrator) Datenarchitektur (Datenarchitekt) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 31 Anwendertätigkeiten • Daten suchen, anschauen • Datenpflege (Aktualisierung der Daten) – neue Daten eingeben – vorhandene Daten löschen – vorhandene Daten verändern Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 32 Aufgaben Entwickler • Datenmodellierung – Konzeptionelles Schema entwerfen – Tabellen und Verknüpfungen definieren • • • • • Ansichten generieren Formulare / Masken entwerfen Standard-Berichte erstellen Anwendungsentwicklung mit DBen Konsistenzsicherung der Datenbasis Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 33 Aufgaben Administrator • • • • • Implementation DBMS Datensicherung (Back-up) Benutzerverwaltung Tuning (Performance-Optimierung) Replikation im Rahmen verteilter DBen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 34 Aufgaben Datenarchitekt • Konzept für ein möglichst redundanzfreies unternehmensweites Datenmodell erstellen und pflegen • Konzept zur Verteilung der Daten im Netzwerk erstellen und pflegen • Beratung und Koordination von Entwicklern und Administratoren Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 35 Zugriffsformen Entwickler Administrator Anwender Entwicklungstool Verwaltungstool Anwendertool Datenbankmanagementsystem (DBMS) DB1 DB2 DB3 36 Grundlagen Unterschied: Daten - Dokumente • Daten setzen sich aus terminologisch kontrollierten und systematisch verknüpften Datenelementen zusammen • Daten sind durch Datenfelder stark strukturiert (Beispiel: Tabelle) • Dokumente sind schwach strukturierte und terminologisch wenig kontrollierte Informationen (Beispiel: Text, Multimedia) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 38 Unterschied: DBMS- DMS/CMS • DBMS: Datenbankmanagementsystem – speichert Daten in einzelnen Feldern – erlaubt direkten Zugriff und kombinierte Suche über jedes Datenfeld – kontrollierte Terminologie • DMS Dokumentenmangementsystem – speichert Dokumente – Zugriff mittels Index oder Volltextsuche • CMS: Content Management System Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 39 Unterschied: DBMS- DMS/CMS • CMS: Content Management System – speichert Dokumente – Zugriff mittels Index, Volltextsuche, Link – Web-orientiert (Hypermedia) – Trennung von Inhalt und Form – Site-Management – unterstützt kooperatives / paralleles WebPublishing – Schnittstellen zu DBMS und DMS Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 40 Datenbanktypen / (Modelle) • Hierarchische Datenbanken • Netzwerk Datenbanken • Relationale Datenbanken • Objektrelationale Datenbanken • Objektorientierte Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 41 Datenbanktypen • • • • • Föderierte Datenbanken Multimedia Datenbanken Temporale Datenbanken Deduktive Datenbanken XML-Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 42 Datenbankanwendungen • • • • • • • WEB-Datenbanken CAD-Datenbanken Data-Warehouse-Systeme Volltext-Datenbanken Geographische Informationssysteme Dokumenten- /Content-Management Suchmaschinen / Information Retrieval Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 43 Desintegrierte Datenhaltung Client1 Client2 Client3 Anw.1 Anw.2 Anw.3 Datei1 Datei2 Datei3 44 Integrierte Datenhaltung in mehreren DB Client1 Client2 Client3 Anw.1 Anw.2 Anw.3 Datenbankmanagementsystem (DBMS) DB1 DB2 DB3 45 Integrierte Datenhaltung in einer DB Client1 Client2 Client3 Anw.1 Anw.2 Anw.3 Datenbankmanagementsystem (DBMS) Datenbank 46 Komplette Integration Anw.1 Komponenten Services S6 S7 Anw.2 Client S1 Middleware S8 S9 S5 S2 S3 S4 Komponenten/ Services Datenbankmanagementsystem (DBMS) Datenbank 47 ANSI (SPARC) DB-Architektur Benutzer1 Sicht1 Benutzer2 externe Sicht2 Benutzer3 Ebene Sichten der einzelnen Benutzer Sicht3 Konzeptionelle Ebene / Logisches Datenmodell Physikalische Ebene Physikalische Datenorganisation und Zugriff Datei1 Datei2 Datei3 Datei4 Datei5 48 Datenunabhängigkeit • Die ANSI SPARC 3 Schema-Architektur ermöglicht Datenunabhängigkeit • An jedem Schema können Änderungen vorgenommen werden, ohne dass die anderen Schemata davon betroffen sind. • Am der konzeptionellen Schemata können Änderungen durchgeführt werden, ohne dass Anwendungen, die auf dem externen Schema aufsetzen, dadurch angepasst werden müssten. • Gleiches gilt für Änderungen auf dem internen Schema Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 49 Datenqualität • • • • • • Korrektheit der Daten Aktualität der Daten Vollständigkeit der Daten Widerspruchsfreiheit der Daten Relevanz der Daten „Algorithmen und Datenstrukturen“ Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 50 Formalisierung der Realität Formalisierung der Realität • Gegenstände, Individuen, Objekte – Eigennamen (Peter, Hasso, USA) – Kennzeichnungen (der Pförtner von IBM) – Nominalphrasen (der Chef von IBM) • Begriffe, Klassen, Objekttypen, Eigenschaften, Attribute, Merkmale (Mensch, Tier, Lebewesen, Staat) • Relationen (z.B.: grösser als, höher als) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 52 Formalisierung der Realität Begriffe Klassen Objekttypen is-a Ding is-a Lebewesen Sache is-a is-a Mensch instanz Paul is-a is-a Tier Pflanze is-a is-a Mitarbeiter Idee is-a Hund Baum instanz Hasso Haus is-a Stein Teil-von is-a Birke Oberbegriffe Unterbegriffe Objekte Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 53 Formalisierung der Realität Logik: is-a(Mensch, Lebewesen) Mensch(Paul), Lebewesen(Paul) G H is-a(G,H) ( x G(x) H(x)) instanz(Paul,Mensch), Mensch(Paul) x G instanz(x,G) G(x) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 54 Formalisierung der Realität Extensional: „G ist Teilmenge von H“ Paul . Mensch Tier Lebewesen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 55 Formalisierung der Realität Eigenschaften / Attribute • Klassenzugehörigkeit (Lebewesen) • „pure“ Eigenschaft (Attribut) Beispiele: Gewicht, Grösse, Alter,Farbe, Name, Gehaltsstufe, Höchstgeschwindigkeit Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 56 Formalisierung der Realität grün(Bank1) Farbe(Bank1, grün). schwer(Bank1) Gewicht(Bank1,schwer). Tabelle Objektname Farbe Bank1 grün Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 Gewicht schwer 57 Formalisierung der Realität Eigenschaft Farbe grün Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 Gewicht blau schwer 58 Modelle Modelle • Bilden die Wirklichkeit ab durch – Zweckbezogene Abstraktion – Zweckbezogene Reduktion der Komplexität • schaffen bessere Einsicht in die relevanten Zusammenhänge relevanten Eigenschaften relevanten Beziehungen der relevanten Komponenten. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 60 Modelle • Zwischenrepräsentationen für die Entwicklung komplexer Systeme • Darstellungen, Muster, oder Schemata gegebener oder erst noch zu schaffender Phänomene, • Dienen in einem gegebenen Kontext bestimmten Personen bei der Verfolgung bestimmter Ziele und Zwecke. • Sind für gewisse Aufgaben und innerhalb eines gewissen pragmatischen Kontextes geschaffen • Unterstützen die Kommunikation zwischen Entwicklern und Anwendern • Ermöglichen übersichtliche Spezifikation und Dokumentation Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 61 Modelle - Merkmale • Abbildungsmerkmal (Modell von was?) • Verkürzungsmerkmal (Selektionsmerkmal) • Pragmatisches Merkmal (Funktion - Intention, Modell wozu? für wen? wann?) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 62 Modellierung Die methodisch geleitete Tätigkeit der Erstellung von Modellen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 63 Modellierungsansatz ist eine aufeinander abgestimmte Kombination von • Methoden (wie ist etwas zu tun?) • Vorgehen (was ist wann zu tun?) • Werkzeugen (Womit ist etwas zu tun?) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 64 Datenmodellierung Datenmodellierung • Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur computerunterstützten Arbeit mit einem DBMS benötigten Gegenstände, Begriffe und deren Zusammenhänge. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 66 Datenmodellierung im Relationalen Modell • Bestimmung der relevanten Objekttypen • Bestimmung der relevanten Eigenschaften (Attribute) • Bestimmung der Beziehungen zwischen den Objekttypen • Abbildung der Objekttypen und der Beziehungen auf Tabellen • Normalisierung der Tabellen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 67 Datenmodellierung im Relationalen Modell Objekte (Entities) können sein: • Dinge • Personen • Gegenstände • Vorgänge alles was Eigenschaften hat!!! Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 68 Datenmodellierung im Relationalen Modell Definition: Relation Eine Relation R ist eine Teilmenge des kartesischen Produktes von Domänen Di (1 i n): R D1 x ... x Dn. Endliche Relationen kann man auch als zweidimensionale Tabellen darstellen. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 69 Datenmodellierung im Relationalen Modell Tabellen • Tabellenname • Zeilen, Spalten, Zellen • Merkmale, Attribute Spalten • Datensätze Zeilen • Datenelemente Zellen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 70 Datenmodellierung im Relationalen Modell Beispiel Spalte / Attribut Mitarbeiter Datensatz M# M1 M2 Name Becker Meier Ort Basel Lörrach Datenelement / Datenwert Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 71 Datenmodellierung im Relationalen Modell Beziehung Tabelle / Relation R= {(M1, Becker, Basel), (M2, Meier, Lörrach)} M# Name Ort M1 M2 Becker Meier Basel Lörrach Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 72 Relationen / Tabellen / ERM Relation Tabelle ERM Objekttyp Relation Tabelle Entity-Typ Objekt Tupel Zeile Entity Eigenschaft "Stelle" in der Spalte mit Relation Attributname Mittels Durch eigener Verknüpfung Relation von zwischen SchlüsselObjektnamen attributen Beziehung zwischen Objekten Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 Attribut Relationship 73 Datenmodellierung im Relationalen Modell Tabellendefinition • Eindeutiger Tabellenname • Eindeutiger Merkmalsname pro Tabelle • Reihenfolge der Merkmale ist egal • Anzahl der Merkmale ist beliebig (endlich) • Anzahl der Datensätze ist beliebig (endlich) • Die Reihenfolge der Datensätze ist beliebig • Mit jedem Merkmal wird ein Datentyp verknüpft • Schlüsselfeld dient der eindeutigen Identifikation eines Datensatzes • Es gibt keine 2 Datensätze mit identischen Schlüsselwerten Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 74 Datenmodellierung im Relationalen Modell Atomare Attributwerte: Für das Relationale Modell gilt folgende wesentliche Einschränkung: • Der Wert eines Attributs darf nur aus einem „atomaren“ Attributwert bestehen. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 75 Datenmodellierung im Relationalen Modell Beispiel: Die Relation Hobby(Name, Hobbies) enthalte die folgenden Tupel: • (Huber, {Drachenfliegen,Segeln, Bergsteigen}) • (Meier, Musik) • (Mueller, {Musik, Literatur, Theater}) Nicht-atomare Attributwerte sind • {Drachenfliegen, Segeln, Bergsteigen} und {Musik, Literatur, Theater}. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 76 Datenmodellierung im Relationalen Modell Definition: erste Normalform Eine Relation ist in erster Normalform (1NF), wenn alle ihre Attribute nur atomare Attributwerte besitzen. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 77 Datenmodellierung im Relationalen Modell Beispiel: Normalisierung in 1NF Die Relation Hobby kann auf einfache Weise in eine Relation „Hob“ in erster Normalform überführt werden: Relationenschema Hob(Name: varchar(20), Hobby: varchar(30)) und folgenden Tupeln (Huber, Drachenfliegen) (Huber, Segeln) (Huber, Bergsteigen) (Meier, Musik) (Mueller, Musik) (Mueller, Literatur) (Mueller, Theater) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002 78