Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Inhalt Motivation Grundlegende Begriffe Geschichte Aufgabenfelder / Tätigkeitsbereiche Grundlagen Formalisierung der Realität Modelle Datenmodellierung Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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, Daten- banksprachen und Datenbankmanagement- systeme, 4. Auflage Oldenburg, München. Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Motivation Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Vorher Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Nachher Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
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
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
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
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
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
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
Grundlegende Begriffe
Definitionen Datenbank Daten Datenbankmanagementsystem Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Beispiele für Datenbanken Mitarbeiterdatenverwaltung Kundendatenverwaltung Auftragsverwaltung Produktkatalog Bibliotheksverwaltung Lagerhaltung Bundes-Bahn-Fahrplan Veranstaltungsmanagement Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Daten - Beispiele Zahlen: „12646“ Namen: „Herbert“ 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
Datenbankmanagementsystem (DBMS) Software-System zur Verwaltung von Datenbanken und Datenbankzugriffen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
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
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
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
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
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
Aufgabenfelder
Aufgabenfelder Nutzung durch Anwender Entwicklung (Entwickler) Verwaltung (Administrator) Datenarchitektur (Datenarchitekt) Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Aufgaben Entwickler Datenmodellierung Ansichten generieren 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
Aufgaben Administrator Implementation DBMS Datensicherung (Back-up) Benutzerverwaltung Tuning (Performance-Optimierung) Replikation im Rahmen verteilter DBen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Datenbankmanagementsystem (DBMS) Zugriffsformen Administrator Anwender Entwickler Datenbankmanagementsystem (DBMS) Entwicklungs- tool Verwaltungs- tool Anwender- tool DB1 DB2 DB3
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
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
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 Web-Publishing Schnittstellen zu DBMS und DMS Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Datenbanktypen / (Modelle) Hierarchische Datenbanken Netzwerk Datenbanken Relationale Datenbanken Objektrelationale Datenbanken Objektorientierte Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Datenbanktypen Föderierte Datenbanken Multimedia Datenbanken Temporale Datenbanken Deduktive Datenbanken XML-Datenbanken Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Desintegrierte Datenhaltung Client1 Client2 Client3 Anw.1 Anw.2 Anw.3 Datei1 Datei2 Datei3
Integrierte Datenhaltung in mehreren DB Client1 Client2 Client3 Anw.1 Anw.2 Anw.3 Datenbankmanagementsystem (DBMS) DB1 DB2 DB3
Integrierte Datenhaltung in einer DB Client1 Client2 Client3 Anw.1 Anw.2 Anw.3 Datenbankmanagementsystem (DBMS) Daten- bank
Komplette Integration Anw.1 Client Anw.2 S6 Middleware S1 S7 S2 Komponenten Services Komponenten/ Services S3 S8 S4 S9 S5 Datenbankmanagementsystem (DBMS) Daten- bank
ANSI (SPARC) DB-Architektur Benutzer1 Benutzer2 Benutzer3 Sicht1 Sicht2 Sicht3 Sichten der einzelnen Benutzer externe Ebene Konzeptionelle Ebene / Logisches Datenmodell Physikalische Ebene Datei1 Datei2 Datei3 Datei4 Datei5 Physikalische Datenorganisation und Zugriff
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
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
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
Formalisierung der Realität Begriffe Klassen Objekttypen Ding is-a Idee is-a is-a Lebe- wesen Sache is-a is-a is-a is-a Mensch Tier Pflanze Haus Stein is-a is-a is-a Teil-von Hund Baum Mitar- beiter is-a Birke instanz instanz Oberbegriffe Unterbegriffe Hasso Paul Objekte Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Formalisierung der Realität Extensional: „G ist Teilmenge von H“ Paul . Mensch Tier Lebewesen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
Formalisierung der Realität grün(Bank1) Farbe(Bank1, grün). schwer(Bank1) Gewicht(Bank1,schwer). Tabelle Objektname Farbe Gewicht Bank1 grün schwer Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Formalisierung der Realität Eigenschaft Farbe Gewicht grün blau schwer Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
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
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
Die methodisch geleitete Tätigkeit der Erstellung von Modellen Modellierung Die methodisch geleitete Tätigkeit der Erstellung von Modellen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
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
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
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
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
Datenmodellierung im Relationalen Modell Tabellen Tabellenname Zeilen, Spalten, Zellen Merkmale, Attribute Spalten Datensätze Zeilen Datenelemente Zellen Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Datenmodellierung im Relationalen Modell Beispiel Mitarbeiter Spalte / Attribut M# Name Ort M1 Becker Basel M2 Meier Lörrach Datensatz Datenelement / Datenwert Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Datenmodellierung im Relationalen Modell Beziehung Tabelle / Relation R= {(M1, Becker, Basel), (M2, Meier, Lörrach)} M# Name Ort M1 Becker Basel M2 Meier Lörrach Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
Relationen / Tabellen / ERM Prof. Dr. Fabian Glasen, Datenbanken, Januar 2002
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
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
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
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
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