[edit] [comment] [remove] |2008-06-26| e1 # Bedeutung von Datenbanksystemen

  • Datenbanksysteme sind heute ein zentraler Bestandteil fast jedes Software-Systems.
  • Sie stellen einen kritischen Teil vieler Unternehmen und Behörden dar.
  • Von der Verfügbarkeit, Vollständigkeit und Richtigkeit der Daten hängt die Aktionsfähigkeit eines Unternehmens ab.
  • Die Datensicherheit ist ein wichtiger und gesetzlich vorgeschriebener Bestandteil der IT eines Unternehmens oder einer Behörde.
 

[edit] [comment] [remove] |2008-06-26| e2 # Datenbanksystem - Definition

Datenbanksysteme (DBS) dienen der Verwaltung und Weiterverarbeitung von Informationen und gehören zu den wichtigsten Computeranwendungen.

Wikipedia

Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen.

Ein Datenbanksystem besteht aus:

  1. Verwaltungssoftware, die Daten strukturiert speichert und lesende/schreibende Zugriffe auf die Daten erlaubt (Datenbankmanagementsystem / DBMS).
  2. Menge der zu verwaltenden Daten, der eigentlichen Datenbank (DB).
 

[edit] [comment] [remove] |2008-06-26| e3 # Aufgaben eines Datenbanksystems

  1. Daten Speichern und Verwalten – Sprachkonzept zur Kommunikation und Abstraktion
  2. Bereitstellen von Daten in Form von Anfragen.
  3. Gleichzeitiger Zugriff durch mehrere Benutzer – Zugriffskontrolle und Sperrmechanismen
 

[edit] [comment] [remove] |2008-06-26| e4 # Dateisystem vs. Datenbanksystem

Nachteile des Dateisystems

  • keine Trennung von Programm und Daten (Daten/Programm Abhängigkeit)
  • Redundanzen durch anwendungsbezogende Dateistrukturen
  • Inkonsistenz schnell vorhanden, da keine Schutzmechanismen

Vorteile des Datenbanksystems

  • Trennung von Programm und Daten
  • Datenintegrität durch Redundanzvermeidung
  • Auswertbarkeit der Daten
  • Zentralisierung der Dienstleistungen (Parser, Recovery…)
 

[edit] [comment] [remove] |2008-06-26| e5 # Eigenschaften eines Datenbanksystems

  • Datenunabhängigkeit
  • Effiziente Organisation
  • Datensicherheit
  • Datenschutz
  • Datenmodell
 

[edit] [comment] [remove] |2008-06-26| e6 # Datenunabhängigkeit

Ein Drei-Ebenen-Modell (ANSI-SPARC) macht Datenunabhängigkeit möglich.

Physische Datenunabhängigkeit

Anwenderprogramme müssen sich nicht um die interne Speicherung und Verwaltung der Daten kümmern.

Logische Datenunabhängigkeit

Ein Datenbestand und seine Zusammenhänge können für verschiedene Anwendungen aus unterschiedlich interpretiert werden.

 

[edit] [comment] [remove] |2008-06-26| e7 # Effiziente Organisation

Anfragen an das DBMS müssen in akzeptabler Zeit beantwortbar sein.

Es müssen geeignete Organisationsformen zur Verfügung gestellt werden, nach denen Daten effizient von externen Speichern gelesen und dorthin geschrieben werden können.

 

[edit] [comment] [remove] |2008-06-26| e8 # Datenschutz und -sicherheit

Datenschutz

  • Sensible Daten sind durch geeignete Vorkehrungen zu schützen.
  • Verschiedenen Nutzern haben ggfs. unterschiedliche Zugriffsrechte.
  • Datensicherheit und Datenintegrität sind Gegenstand der Sparc Drei-Sichten-Architektur.

Datensicherheit

  • Ein möglicher Betriebsmittelsausfalles kann den interne Zustand einer Datenbank in einen nicht definierten Zustand versetzen.
  • Das DBMS stellt Funktionen bereit, welche solche Ereignisse überwachen und gegebenenfalls Schäden reparieren (Recovery).
  • Datensicherheit und -integrität sind Gegenstand der Drei-Ebenen-Architektur.
 

[edit] [comment] [remove] |2008-06-26| e9 # Drei-Ebenen-Modell

Externe Ebene Verschiedene Ansichten der Nutzer als Ausschnitte der gesamten Datenmenge (z.B. SQL-Anweisung).
Konzeptuelle Ebene Logische Gesamtsicht der Daten und ihrer Beziehungen untereinander, sowie Integritätsbedingungen und Zugriffsrechte.
Interne Ebene Interne Datenstruktur der Informationen und Steuerung des physikalischen Speicherzugriffs über Dienste des Betriebssystems.
 

[edit] [comment] [remove] |2008-06-26| e10 # Datenbankmodelle

hierarchisch
die Datensätze stehen in einer Eltern/Kind Beziehung zueinander und bilden eine Baumstruktur. Es ist sind zwar variable Datensatzlängen erlaubt, jedoch ist lediglich eine 1:n Abbildung möglich.
netzwerkartig
Die Datensätze bilden untereinander ein Netz (gerichteter Graph). Das Netzwerkmodell ist leistungsfähiger als das Hierarchische, ist jedoch schwieriger zu implementieren und aufwändiger zu navigieren.
relational
Die Datensätze (Entities/Tupel) bilden die Zeilen einer Tabelle (Relation). Die Tabellenspalten kennzeichnen die Attribute eines Datensatzes. Hier sind nur Datensätze gleicher Länge möglich.
objektorientiert
Die Datensätze bzw. –objekte gehorchen einem Klassenkonzept und können ihre Struktur durch Vererbung an andere Klassen weitergeben.
 

[edit] [comment] [remove] |2008-06-26| e11 # Datenintegrität

Wenige fehlerhafte Daten können u.U. den gesamten Datenbestand einer Datenbank zerstören. Die logische Datenintegrität ist so nicht mehr gegeben.

Das DBMS wacht daher selbstständig über korrekte Beziehungen zwischen Datensätzen und den Randbedingungen von Attributen. Dadurch ist das Gesamtsystem jederzeit in einem konsistenten Zustand.

 

[edit] [comment] [remove] |2008-06-26| e12 # Transaktionen

Eine Transaktion ist ein Benutzerauftrag, der die Datenbank von einem konsistenten Zustand in einen anderen ebenfalls konsistenten Zustand überführen soll.

Wenn mehrere Benutzer gleichzeitig an einer Datenbank arbeiten, kann es zu Problemen kommen, wenn diese auf identische Daten zugreifen.

Transaktionen sollten aus Performance-Gründen parallel ausgeführt werden. Zwei Transaktion

  • können parallel ausgeführt werden, wenn
    • sie nur lesend auf Datensätze zugreifen.
    • sie keine gemeinsamen Daten benötigen.
  • müssen ansonsten sequentiell ausgeführt werden.
 

[edit] [comment] [remove] |2008-06-26| e13 # ACID - Paradigma

ACID-Paradigma

Atomicity (Atomar)
Transaktionen werden ganz oder gar nicht durchgeführt.
Consistency (Konsistenz)
Transaktionen sind konsistent und gehorchen den Integritätsbedingungen des DBMS.
Isolation
Transaktionen werden ggfs. parallelen Prozessen zugeordnet, die isoliert voneinander laufen und sich keinesfalls beeinflussen können.
Durability (Persistenz)
erfolgreiche Transaktionen müssen geänderte Daten permanent (physikalisch) in der Datenbank gespeichert haben.
 

[edit] [comment] [remove] |2008-06-26| e14 # Datenbank - Fehler

lokale Fehler
Anwendungsprogramm-Fehler, expliziter Abbruch, systemgesteuerter Abbruch (relativ häufig)
Fehler mit Hauptspeicherverlust
Betriebssystem-Fehler, Hardwareausfall, Stromausfall (selten)
Fehler mit Hintergrundspeicherverlust
bei head crash, Feuer/Erdbeben, Systemprogramm-Fehler, Plattentreiberfehler (sehr selten)
 

[edit] [comment] [remove] |2008-06-27| e15 # Datenbank-Abfragesprachen

Datenbank-Management-Systeme bieten Schnittstellen zu anderen Softwareprodukten als

  • prozedurale Sprache - enge Anbindung über Programmiersprachen.
  • deskriptive Sprachen - lose Anbindung über DBMS-eigenen Parser.
 

[edit] [comment] [remove] |2008-06-27| e16 # SQL - Structured Query Language

SQL

  • ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken.
  • ist von ANSI und ISO standardisiert.
  • wird von fast allen gängigen Datenbanksystemen unterstützt.
  • umfasst die folgenden Datenbanksprachen:
    • Data Manipulation Language
    • Data Definition Language
    • Data Control Language
  • hat eine relativ einfach aufgebaute Syntax.
  • ist semantisch an die englische Umgangssprache angelehnt.