13.01.2013 Aufrufe

Datenbanksysteme - Wirtschaftsinformatik HTW Berlin

Datenbanksysteme - Wirtschaftsinformatik HTW Berlin

Datenbanksysteme - Wirtschaftsinformatik HTW Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 !

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!