fbi h_da Datenbanken Kapitel 1: Einführung Schestag Datenbanken (Cnam) Kapitel 1 - 1 Einführung fbi h_da Inhalte des Kapitels • Einsatzgebiete von Datenbanken • Datenbank – Datenbanksystem – Datenbankmanagementsystem • Historische Entwicklung unterschiedlicher Datenbankmodelle Lernziele • Sensibilisierung für die Vielfalt von Datenbanksystemen • Grundlegende Begriffsklärung im Datenbankkontext • Einordnung relationaler Datenbanksysteme in der Historie Schestag Datenbanken (Cnam) Kapitel 1 - 2 fbi h_da Einsatzgebiete von Datenbanken • Banken und Versicherungen • • Kontoverwaltung, Finanzprodukte, Handel, Controlling, ... ERP-Systeme (Enterprise Resource Planning) z. B. SAP R/3, Navision für KMU (Kleine und mittelständische Unternehmen), etc. • Personal (HR), Buchhaltung, Bestellwesen, Lagerverwaltung, Logistik, ... • zentrale Abrechnungssysteme • • • Auskunftssysteme / Kundendaten • • Telefonauskunft, ... Buchungssysteme • • Telekommunikationsbranche Gastronomiebetriebe deutscher Autobahn-Raststätten, Kaufhäuser etc. ? Reisebüros, Flugunternehmen, Hotels etc. ... Screenshot aus einem Navision-System → Welche Arten von Daten werden in solchen Systemen primär verwaltet? Schestag Datenbanken (Cnam) Kapitel 1 - 3 fbi h_da Einsatzgebiete von Datenbanken • eBusiness • • Bibliotheken • • hier auch Volltextsuche geographische Datenbanken • • online-Shops, online Auktionen (eBay), ... topologische Daten, Satellitenbilder, ... ? Produkt-Datenbanken • strukturierte Daten, Konstruktionsdaten (CAD), ... … → Welche Arten von Daten werden in diesen Systemen darüber hinaus verwaltet? → Datenbanken müssen nicht immer "groß" sein! Schestag Datenbanken (Cnam) Kapitel 1 - 4 Anwendungsszenarien fbi h_da Wir unterscheiden zwei grundsätzlich unterschiedliche Szenarien … OLTP- Online Transaction Processing OLTP-Systeme nennt man häufig auch Operativsysteme • • • • • lesende und schreibende Zugriffe transaktionsorientiert online viele gleichzeitige Benutzer kurze Antwortzeiten erforderlich DB eines Operativ-Systems Schestag Datenbanken (Cnam) Kapitel 1 - 5 fbi h_da Anwendungsszenarien DSS - Decision Support Systems • • • • ausschließlich lesende Zugriffe kein Transaktionsmanagement notwendig Antwortzeiten unkritisch(er) Reports OLAP (Online Analytical Processing) auf Basis eines Data Warehouse, Data Mining z.B. im CRM – Customer Relationship Management Data Warehouse … beide Szenarien wachsen immer mehr zusammen! Schestag Datenbanken (Cnam) Kapitel 1 - 6 Einführung fbi h_da 9 Einsatzgebiete von Datenbanken • Datenbank – Datenbanksystem – Datenbankmanagementsystem • Historische Entwicklung unterschiedlicher Datenbankmodelle Schestag Datenbanken (Cnam) Kapitel 1 - 7 fbi h_da Begriffsklärungen Datenbanksystem DatenbankManagementsystem Datenbank EndAnwender Anwendungsprogramme in Anlehnung an Date, An Introduction … Schestag Datenbanken (Cnam) Kapitel 1 - 8 Begriffsklärungen fbi h_da Datenbanksystem Ein Datenbanksystem ist im weitesten Sinne ein System zur rechnerunterstützten Verwaltung von Daten und umfasst die Gesamtheit aller im folgenden beschriebenen Komponenten (vgl. auch die vorhergehende Grafik). Datenbank Die Daten stellen in ihrer physischen Speicherform die eigentliche Datenbank dar und bilden den Kern eines jeden Datenbanksystems. Datenbank-Managementsystem (DBMS) Die proprietäre Software eines Datenbanksystems ist das Datenbank-Managementsystem (DBMS). Das DBMS besteht aus einer Vielzahl komplexer Dienste, die zur Verwaltung der Daten zur Verfügung stehen und die Konsistenz der Daten zu jedem Zeitpunkt gewährleisten. Man spricht deshalb auch von einem Datenbankserver. Das DBMS stellt die Schnittstelle zwischen einer Datenbank und den Anwendern des Datenbanksystems dar. Schestag Datenbanken (Cnam) Kapitel 1 - 9 fbi h_da Begriffsklärungen Datenbankmodell Ein Datenbankmodell definiert die Speicherstruktur, die ein DBMS zur internen Datenverwaltung verwendet (vgl. auch Folie 12 ff). Datenbanksprache In der Regel stellt ein Datenbank-Managementsystem eine spezifische Datenbanksprache (Data Sub-Language - DSL) zur Verfügung, die einen Zugriff auf die Daten ermöglicht, ohne dass der Anwender selbst Kenntnisse von der internen, physischen Datenorganisation hat. Mit Hilfe der DSL eines Datenbanksystems kann man – Informationen / Daten verwalten (Insert, Update und Delete), und – Informationen / Daten auf Anfrage (Query) verfügbar machen (Retrieval). Hardware In Bezug auf die Hardware unterscheidet man den Plattenspeicher (mit dazugehöriger Ein-/ Ausgabeperipherie) und den Hauptspeicher sowie die Prozessoren zur Ausführung der Datenbank-Systemsoftware. Schestag Datenbanken (Cnam) Kapitel 1 - 10 Einführung fbi h_da 9 Einsatzgebiete von Datenbanken 9 Datenbank – Datenbanksystem – Datenbankmanagementsystem • Historische Entwicklung unterschiedlicher Datenbankmodelle Schestag Datenbanken (Cnam) Kapitel 1 - 11 fbi h_da Historische Entwicklung … … von Datenbankmodellen DB2 v9 Oracle (2007, IBM) (1979) CODASYL Relational / XML System R (1977) → DB2 Tamino (1983 unter MVS) IMS/VS seit 1968 (IBM) (2000, SAG, Darmstadt) ObjectStore (1988, ObjectDesign) 1960 Hierarchisches Datenbankmodell 1970 1980 1990 2010 NoSQL Objektorientiertes Datenbankmodell Netzwerk Datenbankmodell (1971, Data Base Task Group) Relationales Datenbankmodell (1970, Edgar F. Codd) Schestag 2000 Datenbanken (Cnam) ??? Objektrelationales Datenbankmodell Semistrukturierte Datenbankmodelle z.B. XML-Datenbanken Kapitel 1 - 12 fbi h_da Historische Entwicklung Hierarchische Datenbanken Die Daten lassen sich über hierarchische Strukturen (Baumstrukturen) in Beziehung zueinander setzen. Einsatzbereiche heute: Großrechnerbereich (Mainframes) von Banken, Versicherungen etc., z.B. IMS-DB (Information Management System). Netzwerk-Datenbanken Die zugrunde liegende Struktur stellt einen Graphen mit beliebigen Navigationsmöglichkeiten über Cursortabellen dar. Heute nicht mehr häufig im Einsatz. CODASYL. Relationale Datenbanken Die mathematische Basis dieses Datenbank-Modells ist die Relationenalgebra. Datensätze werden als „Relationen“ (Menge von Tupeln gleicher Länge) angesehen ⇒ Als Speicher- und Darstellungsform bieten sich Tabellen an. Schestag Datenbanken (Cnam) Kapitel 1 - 13 fbi h_da Historische Entwicklung Die standardisierte Abfragesprache für relationale Datenbanken ist SQL (Structured Query Language). Im Bereich relationaler Datenbank-Managementsysteme (RDBMS) unterscheidet man - RDBMS aus dem „personal“ Bereich, wie MS-ACCESS und FoxPro, und - Datenbankserver wie z. B. DB2 (IBM), Oracle, Sybase, Informix (IBM), Ingres, MS SQL-Server, MySQL, PostgreSQL, Adabas etc. Objektorientierte Datenbanken Diese Datenbanken haben sich aus objektorientierten Sprachen entwickelt. Gespeichert werden Objekte auf der Basis objektorientierter Klassenstrukturen mit Attributen und Methoden, die i.d.R. komplexere Datentypen als die relationalen Datenbanken zulassen. Navigation ist möglich über direkte Referenz der Objekte durch Object Ids (OID = physische Adresse, pointer). Beispiele objekt-orientierter Datenbanken: ObjectStore, Versant, FastObjects (Poet), Jasmine, etc. Schestag Datenbanken (Cnam) Kapitel 1 - 14 Historische Entwicklung fbi h_da Objektrelationale Datenbanken Dies sind relationale Datenbanken mit objektorientierten Erweiterungen. Sie werden mittlerweile von allen Herstellern großer relationaler Systeme angeboten. Ziel der objekt-relationalen Datenbanken ist das „Mapping“ objektorientierter Datenstrukturen aus dem Applikationsbereich auf relationale Datenstrukturen in der Persistenzschicht. weitere Nicht-Standard Datenbanken und NoSQL Neben den objektorientierten und objekt-relationalen Datenbanken zählen zu den Nicht-Standard Datenbanken u.a. die – XML-Datenbanken (wie z.B. Tamino von der Software AG) – geographische Datenbanken – deduktive Datenbanken Die parallele Verwaltung von relationalen Schemata und XML-Schemata wird ermöglicht ab der Version DB2 v9 (IBM). Unter der Bezeichnung NoSQL – „Not only SQL“ werden unterschiedlichste, nichtrelationale DBMS bzw. Speicherkonzepte subsumiert, die entsprechend ihrer Architektur und Anwendungsdomänen in unterschiedliche Kategorien unterteilt sind (→ s. auch Kapitel 7,Transaktionsmanagement) ⋅ nosql-database.org/ Schestag Datenbanken (Cnam) Kapitel 1 - 15 Zusammenfassung • fbi h_da Datenbanksysteme erfordern vor allem in großen und verteilten Architekturen spezifisches Wissen über – den Aufbau und – die Administration einer Datenbank sowie – die Integration als Persistenzschicht in (objektorientierte) Anwendungsarchitekturen. • Die relationalen DBMS sind bereits vor der Entwicklung objektorientierter Systeme entstanden. Dennoch stellen sie heute immer noch – zusammen mit den hierarchischen Datenbanken – den größten Anteil an Datenbankservern in bestehenden und neu entwickelten Anwendungssystemen dar. Schestag Datenbanken (Cnam) Kapitel 1 - 16 Datenbanken 9 Einführung 2. Semantische Datenmodellierung 3. Relationenmodell 4. Interne Datenorganisation 5. SQL - Structured Query Language 6. ESQL, Stored Procedure und Trigger 7. Transaktionsmanagement 8. Objekt-relationales Mapping (eine Einführung) Schestag Datenbanken (Cnam) fbi h_da Kapitel 1 - 17