Datenbanksysteme - Wirtschaftsinformatik HTW Berlin
Datenbanksysteme - Wirtschaftsinformatik HTW Berlin
Datenbanksysteme - Wirtschaftsinformatik HTW Berlin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 1<br />
Lehrveranstaltung DM/DB<br />
Datenmodellierung und <strong>Datenbanksysteme</strong><br />
• Methodische Grundkenntnisse<br />
über Datenbanksoftware<br />
erwerben<br />
Wir beschäftigen uns mit der<br />
Architektur und Funktion von<br />
DBMS, lernen die grundlegenden<br />
Konzepte der DB-Technologie<br />
kennen (wird im Folgesemester<br />
erweitert) und werfen einen Blick<br />
auf die Entwicklungstendenzen<br />
der DB-Technologie.<br />
Schritt 4<br />
(Grundlegende Folien für die Wiederholung sind mit gekennzeichnet!)
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 2<br />
Definition<br />
Architektur<br />
Marktübersicht<br />
<strong>Datenbanksysteme</strong><br />
Technologien<br />
Anforderungen<br />
Datenbank<br />
- das offizielle Symbol –<br />
DIN 66001
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 3<br />
Geschwindigkeit<br />
Sicherheit<br />
<strong>Datenbanksysteme</strong> – Worum geht es?<br />
Integrität<br />
Persistenz<br />
Nochmals zur Erinnerung<br />
(Einführung DMDB.ppt, Folie 11)<br />
<strong>Datenbanksysteme</strong> müssen für<br />
extrem große Datenmengen in einer<br />
Multiuserumgebung als Server<br />
• sehr schnelle Datenmanipulationen<br />
ermöglichen,<br />
• hohe Sicherheitsstandards erfüllen,<br />
• die Datenintegrität (logische<br />
Widerspruchsfreiheit) sichern und<br />
• Daten dauerhaft sicher speichern.<br />
Diese Anforderungen an die Verwaltung großer Datenbestände müssen technologisch<br />
beherrscht werden. Deshalb sind neben der Modellierung einer<br />
Datenbank Softwaresysteme erforderlich, die den Datenbankuser bei der<br />
Nutzung dieser Technologien unterstützen. Sie werden als Datenbankmanagementsysteme<br />
(DBMS = database management system) bezeichnet.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 4<br />
DBMS +<br />
DB (-en) =<br />
DBS<br />
<strong>Datenbanksysteme</strong> - Definition<br />
Datenbanken (DB)<br />
sind Sammlungen<br />
• großer und/oder komplexer semantisch<br />
zusammenhängender Datenbestände,<br />
• strukturiert auf der Grundlage eines formalen<br />
Datenmodells,<br />
• ausgestattet mit einer offenen Nutzerschnittstelle.<br />
sie werden verwaltet durch<br />
Datenbankmanagementsysteme (DBMS)<br />
Technologie bestimmend sind<br />
- relationale DBMS ( RDBMS ),<br />
- objektrelationale DBMS ( ORDBMS) und<br />
- objektorientierte DBMS ( ODBMS)<br />
-XML-DBMS
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 5<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
6.<br />
12 Regeln für RDBMS nach E. F. Codd<br />
Teil 1: Regel 1-6<br />
Informationsregel: Alle Werte werden in Tabellenform (Relationen)<br />
dargestellt.<br />
Garantierter Zugriff: Jeder Wert muss durch Tabellenname<br />
(Relationenname), Primärschlüssel(primary key) und Spaltenname<br />
(Attributsname) erreichbar sein.<br />
Systematische Behandlung von Nullwerten:<br />
Datentypunabhängige Behandlung.<br />
Integrierter aktiver Datenkatalog: Auch Systemdaten werden in<br />
Relationen verwaltet.<br />
Umfassende Datensprache: DDL, DML, Transaktionen.<br />
(Standard-SQL)<br />
Datenmanipulation über logische Sichten: Views, unterstützen.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 6<br />
7.<br />
8.<br />
9.<br />
10.<br />
11.<br />
12.<br />
12 Regeln für RDBMS nach E. F. Codd<br />
Teil 2: Regel 7-12<br />
Mengenorientiertes Insert, Update und Delete: Datenmanipulation<br />
muss unabhängig von der Sortierfolge der Daten sein.<br />
Physische Datenunabhängigkeit: Physischer Speicherort muss<br />
nicht bekannt sein.<br />
Logische Datenunabhängigkeit: Keine Auswirkung von<br />
Tabellenänderungen auf die Software.<br />
Integrationsunabhängigkeit: Integrationsregeln im Systemkatalog,<br />
nicht (nur) in Anwenderprogrammen.<br />
Verteilungsunabhängigkeit. Aufteilung der Daten auf physische<br />
Segmente muss nicht bekannt sein.<br />
Unterwanderungsverbot: Satzorientierte Sprachelemente dürfen<br />
mengenorientierte nicht unterwandern.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 7<br />
Merkmale moderner Server-DBMS<br />
1. Integrierte Datenhaltung für alle Daten einer Anwendungsaufgabe<br />
2. Bedienung über eine Datenbanksprache (SQL für relationale DBMS)<br />
3. Integrierter Systemkatalog (data dictionary)<br />
4. Datenpräsentation über Nutzersichten (Views)<br />
5. Integritätssicherung (auch Konsistenzkontrolle)<br />
6. Datenzugriffskontrolle (Verhinderung von Datenmissbrauch)<br />
7. Datensicherung (Schutz vor technischen/technologischen Fehlern)<br />
8. Mehrbenutzerfähigkeit<br />
9. Fähigkeit zum Transaktionsmanagement
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 8<br />
Standardisierte Architektur von <strong>Datenbanksysteme</strong>n<br />
� 2-Ebenen-Architektur nach CODASYL<br />
(Conference on Data Systems Languages)<br />
� 3-Ebenen-Architektur nach ANSI/X3/SPARC-Vorschlägen<br />
(Study Group on Data Base Management Systems, Interim Report, 1975)<br />
externes<br />
Schema 1<br />
Internes Schema<br />
konzeptuelles Schema<br />
externes<br />
Schema 2<br />
...<br />
konkrete Implementierung<br />
unter einem Betriebssystem<br />
Datenunabhängigkeit<br />
Datenunabhängigkeit<br />
(physische Datenunabhängigkeit)<br />
Datenneutralität<br />
(logische Datenunabhängigkeit)<br />
externes<br />
Schema n<br />
logisches Modell der DB<br />
Datenneutralität<br />
spezielle Nutzersichten<br />
Ein<br />
schlichtes<br />
Schema, aber<br />
von enormer<br />
Bedeutung<br />
für die DB-<br />
Technologie
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 9<br />
Anforderungen an DBMS aus Rechnernetzsicht<br />
… müssen administriert<br />
werden.<br />
Datenbanken<br />
… müssen Applikationen mit<br />
Daten beliefern.<br />
Das kann sowohl auf einem Rechner als auch innerhalb eines lokalen<br />
Rechnernetzes (LAN) oder globalen Rechnernetzes (WAN) erforderlich<br />
sein ...<br />
… und muss auf unterschiedlichen Betriebssystemen (insbesondere<br />
UNIX (inklusive LINUX) und WINDOWS) funktionieren.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 10<br />
Rechnerbasis<br />
PC/Workstation<br />
Unix-/NT-Server<br />
Architektur von DBMS - Sichtenintegration<br />
(Programm-) Modulstruktur<br />
Frontend Backend<br />
Desktop-<br />
DBMS<br />
Verwaltungs-<br />
Tools<br />
Server-<br />
DBMS<br />
DB-Applikation<br />
In der Datenbanktechnologie<br />
werden je<br />
nach Sichtweise mehrere<br />
Begriffe für die gleichen<br />
Komponenten benutzt.<br />
Die wichtigsten Sichtweisen<br />
sind:<br />
• die Rechnerbasis<br />
• die Modulstruktur des<br />
DBMS<br />
• die DB-Applikation<br />
inklusive DBMS-<br />
Verwaltungstools
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 11<br />
Was gehört zu einer Datenbankverbindung ?<br />
Jeder Kontakt zwischen der Datenbankebene und der Applikations- oder<br />
Administrationsebene besteht aus<br />
1. der Datenbank-Connection � stellt die Verbindung zum DBMS her.<br />
2. der Datenbankoperation � erfolgt mittels SQL weitgehend<br />
standardisiert.<br />
3. dem Datentransfer � entfällt ggf. bei Operationen ohne Daten.<br />
4. der Rückgabenachricht � informiert über das Resultat der DB-<br />
Operation.<br />
5. dem DB-Connection-Ende � erfolgt ggf. automatisch nach Zeitüberschreitung.<br />
Die Schritte der Datenbankverbindung können sein<br />
• proprietär alles außer Datenbankoperation (2) oder<br />
• standardisiert alles, aber nur auf Client-Seite<br />
(wichtigste Anbieter Microsoft mit ODBC und OleDB<br />
sowie systemunabhängig JDBC)<br />
JDBC = Java Database Connectivity
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 12<br />
S t u f e 1<br />
Microsoft Zugriffstechnologien auf DBMS<br />
Sonstige<br />
strukturierte<br />
Daten<br />
(z. B. Excel)<br />
Jet-Datenbanken<br />
(MS-Access)<br />
ODBC-<br />
Direct<br />
Data Access<br />
Objects<br />
DAO<br />
SQL-Datenbanken<br />
(MS-SQL-Server,<br />
Oracle, ...)<br />
Open<br />
Database<br />
Connectivity<br />
ODBC<br />
Remote Data<br />
Access<br />
RDO<br />
Applikation<br />
Jet- oder SQL-<br />
Datenbanken<br />
OLE DB<br />
Active Data<br />
Objects<br />
ADO/ADO.NET<br />
S t u f e 2
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 13<br />
Grundlegende Konzepte relationaler Datenbanken<br />
Relationale Datenbankmanagementsysteme (RDBMS) als Markführer<br />
haben einen technologischen Standard erreicht, der auf<br />
� der ANSI/X3/SPARC- Architektur (3 Schichten) und<br />
� des SQL-Standard (in der Regel SQL-92)<br />
basiert. Er beinhaltet folgende grundlegende Konzepte:<br />
1. Datenbankschemata und Datentypen<br />
2. Deskriptive Datenprüfbedingungen (Constraints)<br />
3. Indizierte Dateien<br />
4. Externe Sichten (Views)<br />
5. Stored Procedures und Trigger<br />
6. Transaktionen<br />
7. Integrierter Datenschutz und Datensicherheit<br />
Einige Details dazu
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 14<br />
<strong>Datenbanksysteme</strong> � Datenbankschemata<br />
Datenbank Personalwirtschaft<br />
Schema dbo<br />
Tabelle PERSONAL<br />
PNR Name Vorname Geschl<br />
100 Adler Agnes w<br />
121 Dachs Dieter m<br />
234 Maus Mia w<br />
� Eine Relation wird zur Nutzer-Datenbank-Tabelle, identifiziert mit einem Namen,<br />
z. B. PERSONAL. Die Spalten werden mit einem Standard- oder Benutzerdefinierten-<br />
Datentyp vereinbart.<br />
� Mehrere Tabellen eines Eigners (Owner), z. B. dbo, werden zu einem Schema<br />
zusammengefasst. Der Schemaname ergänzt den Tabellennamen.<br />
� Eine Datenbank, z. B. Personalwirtschaft, kann mehrere Schemata umfassen.<br />
Die Tabellenbezeichnung nach diesem Beispiel ist "dbo.PERSONAL"
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 15<br />
Numerische Datentypen<br />
� Festkommazahlen (int, bit, bigint, smallint, …, serial)<br />
� Gleitkommazahlen (real, float, …)<br />
� Dezimalzahlen (decimal, numeric)<br />
� Währungsdaten (money, smallmoney)<br />
Zeichenfolge Datentypen<br />
� lateinische Zeichenfolgen fester und variabler Länge (char, varchar, …)<br />
� Unicode-Zeichenfolgen (nchar, nvarchar, …)<br />
Zeit Datentypen<br />
� Datumsangaben (date)<br />
� Datums-/Zeitangaben (datetime)<br />
<strong>Datenbanksysteme</strong> � Datentypen<br />
Sonstige Datentypen<br />
� große Textfelder (clob = character large objects)<br />
� große Binärfelder (blob = binary large objects)<br />
� Binärzeichenfolgen (binary, varbinary)<br />
� andere Datentypen (cursor, uniqueidentifier, …)<br />
1<br />
12. 04. 2007<br />
3,56<br />
45,98 €<br />
AB<br />
C<br />
12 h:35 m:245 s<br />
XML
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 16<br />
<strong>Datenbanksysteme</strong> � Datentypen zur Objektidentifikation?<br />
Numerische Datentypen<br />
� Festkommazahlen (int, bit, bigint, smallint, …, serial)<br />
� Gleitkommazahlen (real, float, …)<br />
� Dezimalzahlen (decimal, numeric)<br />
� Währungsdaten (money, smallmoney)<br />
Zeichenfolge Datentypen<br />
� lateinische Zeichenfolgen fester und variabler Länge (char, varchar, …)<br />
� Unicode-Zeichenfolgen (nchar, nvarchar, …)<br />
Zeit Datentypen<br />
� Datumsangaben (date)<br />
� Datums-/Zeitangaben (datetime)<br />
Sonstige Datentypen<br />
� große Textfelder (clob = character large objects)<br />
� große Binärfelder (blob = binary large objects)<br />
� Binärzeichenfolgen (binary, varbinary)<br />
� andere Datentypen (cursor, uniqueidentifier, …)<br />
Welcher Typ<br />
eignet sich als<br />
primary key<br />
und/oder<br />
foreign key?
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 17<br />
<strong>Datenbanksysteme</strong> � Deskriptive Datenprüfungen<br />
Deskriptive (beschreibende) Datenprüfungen dienen der Sicherung der Datenintegrität<br />
in einer Datenbank. Wir unterscheiden:<br />
• Implizite Datenprüfungen (z. B. Datumsprüfung,<br />
Datentypkontrollen) und<br />
• Explizite Datenprüfungen<br />
(Vergleiche (05)Relationale Algebra-SQL.ppt Folien 25-27)<br />
FOREIGN KEY<br />
CHECK<br />
Merke: Deskriptive Datenprüfungen<br />
realisieren nur einen Teil der<br />
möglichen und notwendigen<br />
Datenprüfungen und müssen deshalb<br />
ergänzt werden um<br />
• dynamische Domänen und deren Integration in das<br />
Datenmodell sowie<br />
• programmierte Datenintegritätskontrollen mittels Trigger<br />
(siehe Datenbankkonzept „Stored Procedures und Trigger“.<br />
PRIMARY KEY
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 18<br />
<strong>Datenbanksysteme</strong> � Indizierte Dateien<br />
Indizierte Dateien dienen der Beschleunigung von Datenbankzugriffen, indem sie<br />
den kompletten Tablescan (volles sequentielles Lesen einer Tabelle) ersetzen.<br />
Sie werden automatisch für jeden deklarierten primary key und foreign key<br />
erstellt und können darüber hinaus für jede beliebige Spaltenkombination<br />
einer Tabelle erstellt werden.<br />
• Vorteil: Bei allen Datenmanipulationen, v. a. aber bei der Selektion<br />
werden die Daten schneller gefunden.<br />
• Nachteil: Die Verwaltung der Indizes erfordert Datenbankkapazität.<br />
„Faustregel“: Je häufiger Daten nach den Kriterien der indizierten<br />
Spalten ausgewertet werden und je seltener sie geändert werden, um<br />
so effektiver sind Indizes.<br />
Indizierte Dateien können während des Betriebs der Datenbank verändert werden.<br />
Sie sind aber nur effektiv, wenn eine regelmäßige Reorganisation erfolgt.<br />
Ferner sollte das Änderungsdaten- und Auswertungsprofil der Datenbank im<br />
Datenbanklebenszyklus überprüft werden.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 19<br />
<strong>Datenbanksysteme</strong> � Externe Sichten (View)<br />
Definition: Durch Selektion<br />
und/oder Projektion<br />
und/oder Aggregation<br />
und/oder Joining gebildete virtuelle Nutzersicht<br />
auf eine oder mehrere Relationen einer<br />
oder mehrerer Datenbank(en).<br />
Bedingungen für eine sinnvolle Anwendung:<br />
Semantische Beziehungen zwischen den verbundenen Relationen<br />
Create View …<br />
Vorteile: Views heben virtuell die Normalisierung der Relationen auf,<br />
Views dienen zur Dekomposition komplexer Abfragen,<br />
Views erhöhen durch den Nutzerzuschnitt die „Intelligenz“ von<br />
Datenbankapplikationen erheblich,<br />
Views ermöglichen die effektive Realisierung der Datenneutralität.<br />
Views sind in der Datenbank persistent gespeicherte Berechnungsvorschriften.<br />
Die Berechnung der Ergebnisrelation erfolgt bei Aufruf der View.<br />
Basis einer View können Tabellen oder Views sein. Rekursionen sind möglich.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 20<br />
<strong>Datenbanksysteme</strong> � Stored Procedures (SP)<br />
Definition: Zentral innerhalb einer Datenbank verwalteter und auf die Daten der<br />
Datenbank Bezug nehmender Programmalgorithmus.<br />
Möglichkeiten zur Formulierung von Stores Procedures:<br />
1. SQL-Statements<br />
2. Proprietäre SPL(Stored Procedures Languages)-Statements<br />
Aufruf von Stored Procedures (SP):<br />
1. Explizit durch SQL-Statements<br />
2. Implizit durch Trigger<br />
Mehr dazu im<br />
nächsten<br />
Semester<br />
Gespeicherte Prozeduren statten Datenbanken mit datenspezifischer<br />
Funktionalität aus und sind damit ein wesentlicher Faktor der Effizienz<br />
eines DBMS.<br />
Nachteilig ist ein möglicher Verlust der Portabilität durch proprietäre SPL.<br />
SP werden z. T. durch Datenmodellierungssoftware in Form von SQL-<br />
Skripts generiert.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 21<br />
<strong>Datenbanksysteme</strong> � Trigger<br />
Definition: Mechanismus zur automatischen Auslösung von DB-<br />
Operationen (z. B. Stored Procedures) als Folge einer primären<br />
ändernden Datenbankoperation (INSERT, UPDATE, DELETE).<br />
Mehr dazu im<br />
Grundbestandteile von Triggern:<br />
nächsten<br />
1. Triggername (bezeichnet den Trigger als DB-Objekt) Semester<br />
2. Trigger-Event (Trigger auslösendes Ereignis)<br />
3. Referencing Clause (Angabe von Bezeichnern für die Bezugnahme auf<br />
das zwischengespeicherte Trigger auslösende Tupel (kann ggf. im<br />
Zustand vor und nach der Änderung zwischengespeichert werden).<br />
4. Action Clause (Angabe der auszuführenden Operation(en).<br />
Mittels Trigger werden häufig Stored Procedures ausgelöst, deren Ausführung<br />
automatisch an ein Ereignis gebunden werden soll.<br />
SP werden z. T. durch Datenmodellierungssoftware in Form von SQL-Skripts<br />
generiert.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 22<br />
<strong>Datenbanksysteme</strong> � Trigger-Anwendungen<br />
Trigger werden sowohl für die Realisierung von betriebswirtschaftlichen<br />
als auch von DB-technologischen Operationen genutzt.<br />
Typische Beispiele sind:<br />
1. Automatische Erstellung von Ablaufprotokollen,<br />
Mehr dazu im<br />
2. Installation von Geschäftsprozessregeln,<br />
nächsten<br />
3. Prüfungen der Datenintegrität ("Constraints auf Views"), Semester<br />
4. "Weitergabe" von Datenänderungen (Kaskadentrigger),<br />
5. Automatische Ergänzung/Aktualisierung von Daten über Funktionen/<br />
Literale/Berechnungen<br />
Nicht verwechseln mit aktiven Datenbanken !<br />
Nicht verwechseln mit externen Ereignissen, die Datenbankoperationen<br />
auslösen (z. B. Webzugriffe), ohne Datenmanipulationen zu bewirken !
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 23<br />
<strong>Datenbanksysteme</strong> � Transaktionen<br />
Definition: Folge von Datenbankaufrufen, die logisch zusammengehören und<br />
eine Datenbank von einem konsistenten Zustand in einen anderen<br />
konsistenten Zustand überführen. Eine Transaktion muss entweder<br />
vollständig durchgeführt oder ganz zurückgesetzt werden.<br />
Notwendige Eigenschaften einer Transaktion<br />
(nach Härder, T. and Reuter,A.: "Prinziples of Transaction-Oriented Database Recovery",<br />
ACM Computing Surveys, vol.15, no.4, Dec. 983, pp.287-317):<br />
� Atomarität (atomicity) Alles oder Nichts<br />
� Konsistenzerhaltung (consistency) Datenbank war und bleibt konsistent<br />
� Isolation (isolation) Virtueller Einzelnutzerbetrieb<br />
� Dauerhaftigkeit (durability) Nichts geht verloren<br />
Die Eigenschaften einer Transaktion werden als ACID – Prinzip bezeichnet.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 24<br />
<strong>Datenbanksysteme</strong> � Das Transaktionsparadigma<br />
Das Transaktionsparadigma befreit den DB-Anwendungsprogrammierer von<br />
allen Aspekten des Fehlerfalls (failure transparency) und der Nebenläufigkeit<br />
(concurrency transparency = Nutzung gleicher Daten durch mehrere Nutzer).<br />
Es erlaubt eine fehlerfreie Sicht auf die Daten im Zustand eines virtuellen<br />
Einzelnutzbetriebs.<br />
Folglich gehören zur Transaktionsverwaltung<br />
• die Synchronisation (concurrency control) von DB-Prozessen,<br />
• das Logging, Recovery und die Commit-Behandlung,<br />
• die Integritätssicherung.<br />
Das ist technologisch nicht einfach zu realisieren, erleichtert aber bei richtiger<br />
Nutzung außerordentlich die Programmierung von Datenbankapplikationen.<br />
Auch dazu mehr im nächsten Semester, aber vorab ein Beispiel auf der<br />
nächsten Folie
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 25<br />
<strong>Datenbanksysteme</strong> � Beispiel einer Transaktion<br />
Vermutlich hat jeder schon Geld<br />
am Bankomat abgehoben.<br />
Das Konto wird natürlich<br />
datenbankunterstützt verwaltet.<br />
Beginnend von der Identifikation<br />
der Bank-Card bis zur kompletten<br />
Auszahlung des Geldes muss<br />
alles ein kompletter<br />
Geschäftsvorfall (eine<br />
Transaktion) sein. Wenn<br />
irgendetwas „schief läuft“, muss<br />
der Zustand des Kontos so sein,<br />
als wäre nie ein<br />
Auszahlungsversuch<br />
unternommen worden. Dabei ist<br />
es gleich, ob x Leute an x<br />
Automaten gleichzeitig abheben,<br />
sogar wenn dies vom gleichen<br />
Konto geschehen würde.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 26<br />
Datenschutz und Datensicherheit in DBMS<br />
Schutz vor willkürlicher und zufälliger Verfälschung<br />
Datensicherheit<br />
- Backends mit betriebssystemunabhängiger<br />
Datenverwaltung<br />
- Transaktionen-Konzept<br />
- Integritäts-Konzept<br />
- Replikations-Konzept in verteilten<br />
Datenbanken<br />
- elementare Sicherungsmaßnahmen<br />
des Betriebssystems<br />
Schutz vor unberechtigter Einsichtnahme<br />
Datenschutz<br />
- Gesetzliche Regelungen<br />
- Erteilung / Entzug von Zugriffs-<br />
rechten (Grant / Revoke)<br />
- Views (in Verbindung mit<br />
Zugriffsrechten)<br />
- Spezielle Sicherheitssysteme<br />
- Datenverschlüsselungen<br />
(Security)<br />
- elementare Sicherungsmaßnahmen<br />
des Betriebssystems
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 27<br />
Autorisierung und Zugriffssicherheit auf DBMS-Ebene<br />
Datenbankmanagementsystem – Ebene<br />
� regelt Zugriff zum DBMS bzw. DBMS-Server,<br />
� wird durch Datenbankadministrator (DBA) und/oder Systemadministrator verwaltet.<br />
� Grundprinzip: Zugriff gewährt / verweigert<br />
Datenbank – Ebene<br />
� regelt Zugriff auf die gesamte Datenbank,<br />
� wird durch privilegierte DB-User und DBA verwaltet.<br />
� Grundprinzip: Jeweils Gewährung / Entzug von DBA-Rechten (Zugriff auf Rechte) / Resource-<br />
Rechten (Zugriff auf Struktur) / Connect-Rechten (nur Datenzugriff)<br />
Datenbankobjekt – Ebene<br />
� regelt Zugriff auf einzelne Datenbankobjekte,<br />
� wird durch privilegierte DB-User und DBA verwaltet,<br />
� ist durch SQL-2 standardisiert.<br />
� Grundprinzip: Jeweils Gewährung / Entzug von Select-, Insert-, Update-, Delete-Rechten /<br />
Create-, Alter-, Drop-Rechten / Rechte(weiter-)vergabe-Rechten (optional) oder allen Rechten.<br />
Die Rechte können über Rollen für Nutzergruppen (Standardrolle = Public) oder<br />
individuell für Nutzer vergeben/entzogen werden !
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 28<br />
Datenbankkonzepte - Zusammenfassung<br />
Durch die technologische Überlegenheit der Datenbanktechnologie gegenüber<br />
konventionellen dateiorientierten Speichertechniken insbesondere bezüglich<br />
• der Zuverlässigkeit und Sicherheit der Datenspeicherung,<br />
• der Effektivität des Datenzugriffs,<br />
• der Verwaltung extrem großer Datenbestände sowie<br />
• der Stabilität der Nutzerschnittstelle gegenüber strukturellen Veränderungen<br />
der Datenbasis<br />
haben sich <strong>Datenbanksysteme</strong> zu den wichtigsten unternehmenskritischen<br />
Informatikanwendungen entwickelt. Die Führung selbst kleiner Unternehmen<br />
ohne eine datenbankgestützte Informationsbasis ist in der heutigen<br />
Wettbewerbssituation undenkbar.<br />
Welches Datenbankkonzept unterstützt die<br />
oben genannten Faktoren der Überlegenheit<br />
der DB-Technologie gegenüber<br />
konventionellen Speichertechnologien
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 29<br />
DBMS-Marktüberblick (1)<br />
Markführende Server-RDBMS �<br />
Anbieter/Produkt Web-Verweis Bemerkungen<br />
Oracle http://www.oracle.com/de/ 39,7% / 33,9%<br />
IBM – DB2 http://www-306.ibm.com/software/de/ 33,9% / 36,2%<br />
IBM – Informix http://www-306.ibm.com/software/de/<br />
MS SQL-Server<br />
2005<br />
Weitere bekannte Server- RDBMS �<br />
http://www.microsoft.com/germany/sql/uebersicht/defa<br />
ult.mspx mit Ausblick auf SQL-Server 2008<br />
http://www.microsoft.com/germany/sql/uebersicht/futu<br />
reversion/default.mspx<br />
14 % / 18 % nur<br />
für Windows-BS<br />
Anbieter/Produkt Web-Verweis Bemerkungen<br />
Sybase http://www.sybase.de/products/databasemanagement/<br />
ADABAS-D �<br />
MaxDB<br />
http://www.softwareag.com/de/products/adabas/default<br />
.asp<br />
Ingres http://www.ingres.com/<br />
Software-AG<br />
heute frei
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 30<br />
Freeware Server-RDBMS �<br />
DBMS-Marktüberblick (2)<br />
Anbieter/Produkt Web-Verweis Bemerkungen<br />
MySQL http://www.mysql.com und http://www.mysql.de weborientiert<br />
PostgreSQL http://www.postgresql.org und http://www.pgsql.info/ jetzt auch für<br />
Windows<br />
Desktop-RDBMS �<br />
Anbieter/Produkt Web-Verweis Bemerkungen<br />
MS-Access http://www.microsoft.com/products/info/<br />
aus Anwendersicht auch http://www.fullaccess.de<br />
nur Windows<br />
dBase http://de.wikipedia.org/wiki/DBASE Klassiker<br />
Corel-Paradox http://www.corel.de/<br />
MS-Foxpro http://www.microsoft.com/products/info/ Entwickler-DB<br />
FileMaker Pro http://www.filemaker.de/ File-orientiert<br />
Alaska XBase http://www.uni-koeln.de/rrzk/software/dbms/alaskaxbase.html
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 31<br />
Objektorientierte DBMS �<br />
DBMS-Marktüberblick (3)<br />
Anbieter/Produkt Web-Verweis Bemerkungen<br />
Caché http://www.intersystems.de/cache/index.html CSP<br />
Jasmine<br />
http://www.ca-shop.de/jasmine.htm<br />
ObjectStore http://www.progress.com/progress/index.htm<br />
Poet<br />
XML DBMS �<br />
http://www.poet.com/de/<br />
Anbieter/Produkt Web-Verweis Bemerkungen<br />
Tamino<br />
http://www.softwareag.com/de/products/tamino/def<br />
ault.asp<br />
Natix http://www.dataexmachina.de<br />
Markführer<br />
Software AG
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 32<br />
1960<br />
1970<br />
1980<br />
1990<br />
2000<br />
2007<br />
DB-Systeme ein Blick in die Vergangenheit<br />
Softwareentwicklungs- Basis betrieblicher Tendenzen<br />
komponente IKS<br />
hierarchische Mainframe-DB<br />
Theoretische Arbeiten zum<br />
relationalen DM (Codd)<br />
Relationale DBMS<br />
Non-Standard DBMS<br />
SQL-1 ISO/IEC-9075-Norm<br />
verabschiedet(1986) Verteilte DBS<br />
Unternehmens-DM<br />
SQL-92<br />
Client-Server-DBMS<br />
ODBC<br />
Objektorientierte<br />
DBMS ORDBMS<br />
Data Warehouse<br />
Web-Interface für<br />
DBMS<br />
XML/Webservices<br />
Datenstrom-Analyse<br />
Data Mining<br />
Mobile Computing<br />
BI-Wissenstechniken<br />
OLTP-DBMS<br />
dominieren<br />
Erste Online-DB<br />
Multi-Media-DB<br />
DB-basierte Web-<br />
Applikationen<br />
DB sind unternehmensstrategische<br />
Kerntechnik
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 33<br />
DB-Technologie – wie geht es weiter?<br />
• Datenbanktechnologie im Sinne einer reinen Datenverwaltungs- und<br />
Datenzugriffstechnologie wird in wachsendem Maße free software.<br />
• Datenbankmanagementsysteme "punkten" durch Zusatzfunktionalität,<br />
z. B. Data Warehouse Funktionalität.<br />
• Der Einfluss des Informationsmanagements auf die Anforderungen<br />
an die DB-Technologie wächst insbesondere für kommerzielle DB-<br />
Anwendungen.<br />
• Datenbank- und Betriebssystemfunktionalität wachsen zusammen.<br />
• Auf der Grundlage einer offenen<br />
Datenbanktechnologie entwickeln<br />
sich spezielle Anwendungen,<br />
z. B. temporale Datenbanken,<br />
XML-Datenbanken usw.
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 34<br />
<strong>Datenbanksysteme</strong> sind nicht nur relationale DBMS<br />
Relationale DBMS<br />
der Standard für kommerzielle<br />
OLTP-Anwendungen<br />
Objektorientierte DBMS<br />
für Spezialgebiete<br />
Relationale DBMS dominieren im<br />
kommerziellen Bereich, sie<br />
decken aber nicht alle<br />
Bedürfnisse ab.<br />
konkurrierend erweiternd<br />
Data Warehouse DBMS<br />
für Business Intelligence<br />
Anwendungen
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 35<br />
Relationale – objektorientierte DBMS<br />
1. Gründe für Alternativen zum RDBMS<br />
• Zerteilung von Objekten durch Normalisierung.<br />
• Speicherung multimedialer und anderer nichtnumerischer Objekte.<br />
• Impedance Mismatch Diskrepanz zwischen Objektorientierung in der OO-<br />
Programmierung und Mengenlogik in RDBMS (siehe auch:<br />
http://www.intersystems.de/cache/whitepapers/matchwp.html).<br />
2. Basisobjekte OODBMS<br />
• Objekte bestehen aus Attributen und Methoden und kommunizieren über<br />
Nachrichten.<br />
• Klassen beschreiben Gruppen von Objekten mit ähnlichen Eigenschaften und<br />
gemeinsamen Verhalten (Methoden).<br />
• Instanzen sind die einzelnen Objekte einer Klasse.<br />
3. Definition:<br />
"Ein objektorientiertes Datenbankverwaltungssystem integriert die Merkmale von<br />
objektorientierten Programmiersprachen mit den Merkmalen von DB. Aus der Sicht<br />
einer oo Programmiersprache erscheinen Datenbankobjekte eines OODBMS als<br />
Programmiersprachenobjekte. OODBMS ermöglichen die Repräsentation von<br />
komplexen Sachverhalten … und erlauben komplexe Datentypen als Attribute."<br />
(Hansen/Neumann: <strong>Wirtschaftsinformatik</strong>, UTB 2002)
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 36<br />
Data Warehouse<br />
Ein Data Warehouse ist eine sachverhaltsbezogene, integrierte,<br />
unveränderliche und zeitraumbezogene Datensammlung zur Unterstützung<br />
von Managementent-scheidungen.<br />
W. H. Inmon (USA 1996)<br />
Ein Data Warehouse ist eine Sammlung von integrierten Informationen,<br />
welche von den betrieblichen operativen Systemen und anderen externen<br />
Datenquellen gewonnen werden. Der spezielle Zweck ist die Unterstützung<br />
von betrieblichen Entscheidungen, nicht betrieblichen Tätigkeiten.<br />
M. J. Corey, M. Abbey (USA 1997)<br />
Mit dem Begriff Data Warehouse i.e.S. wird generell eine von den operationalen<br />
DV-Systemen isolierte Datenbank umschrieben, die als unternehmensweite<br />
Datenbasis für alle Ausprägungen managementunterstützender<br />
Systeme dient und durch eine strikte Trennung von operationalen<br />
und entscheidungsunterstützenden Daten und Systemen gekennzeichnet<br />
ist.<br />
Mucksch, Behme (BRD 1997)
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 37<br />
Grundlegende Architektur eines Data Warehouse<br />
( frei nach Quelle: Anahory/Murray: Datawarehouse, S. 59 )<br />
Operationale<br />
Daten<br />
Externe<br />
Daten<br />
Einfügemanager<br />
Ausführliche<br />
Informationen<br />
Meta-Daten<br />
Warehouse-Manager<br />
Archivierte<br />
ausführliche<br />
Informationen<br />
Zusammenfassungsinformationen<br />
Abfragemanager<br />
OLAP-Werkzeuge<br />
Data Mining
<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenmodellierung/Datenbanken (08)<strong>Datenbanksysteme</strong>.ppt Folie 38<br />
Klausur-Schwerpunkte<br />
Mit der Klausur sollen Ihre Leistungen bewertet und Ihre Voraussetzungen<br />
geprüft werden, das Fach ‘Datenbanktechnologien' erfolgreich zu absolvieren.<br />
Schwerpunkte sind deshalb der Nachweis<br />
• praktischer Fähigkeiten zur Erstellung eines konzeptuellen Datenmodells<br />
(ERM);<br />
• praktischer Fähigkeiten zur Normalisierung (3NF) einer Relation;<br />
• der Beherrschung der elementaren Standard-SQL-Befehle (außer SP,<br />
Trigger, Transaktionen und Rechteverwaltung) für die Lösung praktischer<br />
Informatikaufgaben ;<br />
• des sicheren Umgangs mit den Begriffen der DB-Technologie und der Kenntnis<br />
der grundlegenden Zusammenhänge zwischen den wesentlichen Konzepten<br />
und Komponenten relationaler DBMS.<br />
Zur Klausur viel Erfolg und eine weitere Wissensvertiefung im Fach<br />
Datenbanktechnologien !