Objektorientierte Datenbanken - fbi.h-da.de

Werbung
fbi
h_da
Datenbanken
Belegnummer NFA008
WS 2010/11 (Cnam)
Materialien zur Vorlesung
Inge Schestag
Hochschule Darmstadt
Fachbereich Informatik
Schestag
Datenbanken (Cnam)
Organisatorisches - 1
fbi
h_da
Motivation
Schwerpunkte der Grundvorlesungen des Anfangszyklus im Bereich
Anwendungsentwicklung:
•
Einführung in die objektorientierte Programmiersprache Java (oder C++)
→
Im Kontext dieser Programmiersprache(n) wurden (bisher) ausschließlich objektorientierte Konzepte besprochen und angewandt.
•
Objektorientierte Analyse und –Design (OOA / OOD) mit UML (= Unified Modeling Language)
als Beschreibungssprache für objektorientierte Systeme werden im Rahmen der Lehrveranstaltungen „Systementwicklung“ und „Softwaretechnik“ eingeführt.
→
Konzepte zu dauerhaft gespeicherten Daten (= persistente Daten
→ Persistenzschicht) beinhalten bisher nur die selbst organisierte Verwaltung von Daten in Dateien (Textdateien, Binärdateien) – Nachteile?
Datenbanken
•
nutzen die Dienste von zugrunde liegenden Datenbankservern
(Datenbank-Managementsystemen = DBMS), um das Datenmanagement effizient, performant und sicher zu unterstützen.
Schestag
Datenbanken (Cnam)
Organisatorisches - 2
fbi
h_da
Ziele der Lehrveranstaltung
•
Verständnis entwickeln für die Integration der Persistenzschicht in allen
Phasen des Software-Lifecycle
•
Besonderheiten und Einschränkungen relationaler DBMS gegenüber
den objektorientierten Paradigmen verstehen und beherrschen
•
ER-Diagramm und Relationenmodell mit ihren Analogien zum Klassendiagramm der OOA und OOD verstehen und die Unterschiede kennen
•
SQL als standardisierte Data Sub-Language für relationale Datenbanksysteme verstehen und einsetzen können
•
Konzepte der objektorientierten Anwendungsentwicklung im Kontext
relationaler Datenbanksysteme kennen lernen
•
Konzepte zur Berücksichtigung des konkurrierenden Zugriffs mehrerer
Benutzer und der Behandlung von Fehlersituationen kennen und anwenden können
Schestag
Datenbanken (Cnam)
Organisatorisches - 3
Vorlesungsinhalte: Überblick
•
Einführung
•
Semantische Datenmodellierung
•
Relationenmodell
•
Interne Datenorganisation
•
SQL - Structured Query Language
•
Datenbank-Anwendungsentwicklung
•
Transaktionsmanagement
•
Objekt-relationales Mapping
•
Rückblicke und Ausblicke
Schestag
Datenbanken (Cnam)
fbi
h_da
Organisatorisches - 4
Praktikum: Vertiefung DB-AE ⋅ NFA011
fbi
h_da
Ziel des Praktikums
•
Datenmodellierung relationaler Schemata verstehen und im Umgang mit
entsprechenden CASE-Tools *) vertraut werden
•
Datenbankschemata implementieren, Daten manipulieren und
recherchieren
•
DB-Anwendungsentwicklung auf dem DB-Server und im Kontext von
(objektorientierten) Host-Sprachen kennen lernen
•
Transaktionsmanagement für konkurrierende DB-Zugriffe verstehen
Organisatorisches
•
Termine und Aufgabenstellungen auf der Homepage
•
Leistungsnachweis durch Testat
*) CASE = Computer Aided Software Engineering
Schestag
Datenbanken (Cnam)
Organisatorisches - 5
Praktikum: Vertiefung DB-AE ⋅ NFA011
fbi
h_da
Praktikumsinhalte
•
Erstellung eines ER-Diagramms (CASE-toolbasiert); Algorithmen zum
effizienten Datenmanagement (Java)
•
Erstellung eines Relationenmodells (CASE-toolbasiert)
•
Generierung eines relationalen Datenbankschemas, SQL DDL und DML
•
Abfragen auf relationalen Datenbanken, Umgang mit Views
•
Generierung und Einsatz von Stored Procedures und Triggern
•
JDBC und Transaktionsmanagement
•
Einsatz eines OR-Mappers (Hibernate)
Tools, IDEs, DBMS, die im Praktikum zum Einsatz kommen:
•
Sybase, Power Designer 15 (CASE-Tool zur Datenmodellierung)
•
Oracle mit Oracle SQL Developer als Client und DB2 als DBMS
•
Eclipse als IDE zur Java-Anwendungsentwicklung
→
Schestag
Am ersten Praktikumstermin findet eine Einführung zu Installation und Konfiguration für alle
Tools statt, die im Rahmen des Praktikums genutzt werden.
Datenbanken (Cnam)
Organisatorisches - 6
fbi
h_da
Literatur
•
Heuer, Andreas, Saake, Gunter. Datenbanken: Konzepte und Sprachen.
MITP-Verlag, Bonn, 2. Auflage 2000.
•
Date, C.J. An Introduction to Database Systems. International Edition. AddisonWesley Systems. 8th ed. 2003.
•
Alfons Kemper, Andre Eickler: Datenbanksysteme. Eine Einführung, Oldenbourg,
6. Auflage März 2006
•
Zehnder, Carl August. Informationssysteme und Datenbanken.
VdF Hochschulverlag, 8. Auflage 2005.
•
G. Vossen, Datenbankmodelle, Datenbanksprachen und DatenbankmanagementSysteme, 3. Auflage 1999, Oldenbourg .
•
Erbs, Karczewski, Schestag. Datenbanken. Datenmodelle, Objekte, WWW,
XML. VDE Verlag 2003
•
Saake, Gunter, Sattler, Kai-Uwe. Datenbanken & Java. JDBC, SQLJ, ODMG und
JDO. dpunkt.verlag, 2. Auflage 2003.
Schestag
Datenbanken (Cnam)
Organisatorisches - 7
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 Szeanarien 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.
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
•
Semantische Datenmodellierung
•
Relationenmodell
•
Interne Datenorganisation
•
SQL - Structured Query Language
•
Datenbank-Anwendungsentwicklung
•
Transaktionsmanagement
•
Objekt-relationales Mapping
•
Rückblicke und Ausblicke
Schestag
Datenbanken (Cnam)
fbi
h_da
Kapitel 1 - 17
Herunterladen