Nexus

Datenbanksysteme

4 min

Contents
Was ist ein Datenbanksystem (DBS)?

Ein System zum speichern und Verwalten von Daten

Warum kein herkömmliches Dateisystem verwenden?

Ausfallsicherheit und Skalierbarkeit nur mit hohem Aufwand erreichbar.

Typische Probleme ohne DBS
  • Redundanz und Inkonsistenz
  • Verschiedene Datenformate
  • Probleme beim Mehrbenutzerbetrieb
  • Verlust von Daten
  • Integritätsverletzungen
  • Sicherheitsprobleme
  • Hohe Entwicklungskosten für Anwendungsprogramme
Gründe für den DBS-Einsatz

Datenunabhängigkeit

database three level architecture

Sicht: beschreibt wie ein Benutzer die Daten sieht Logische Ebene: beschreibt wie die Daten strukturiert sind Physische Ebene: beschreibt wie die Daten gespeichert wird

  • DBS entkoppelt Anwendungen von der eigentlichen Struktur und Speicherung der Daten
  • Logische Datenunabhäangigkeit
    • Änderungen auf der logischen Ebene haben keinen Einfluß auf Anwendungen
  • Physische Datenunabhäangigkeit
    • Änderungen auf der physischen Ebene haben keinen Einfluß auf Anwendungen
    • Wird in fast allen modernen DBS durchgesetzt

Deklarative Anfragesprache

  • Benutzer sagt DBS was für Daten geholt werden sollen ...
  • ... und nicht wie die Daten geholt werden sollen
  • Weniger fehleranfällig (beim Formulieren von Anfangen / Entwickeln von Anwendungen), da kein wissen über die tieferen Schichten des DBS nötig sind.

Mehrbenutzersynchronisation

  • Wenn mehrere Benutzer ohne jegliche Kontrolle gleichzeitig Daten ändern können, gibt es große Probleme
  • DBS erlaubt gleichzeitigen Zugriff und verhindert schlimme Seiteneffekte

Fehlerbehandlung

  • DBS kann Zustand zum Zeitpunkt eines Absturzes rekonstruieren
  • Dafür werden Logdateien vom DBS angelegt und verwaltet

Datenintegrität

  • Datenverarbitung in einer anwendung läuft nicht völlig zufallig ab, sondern folgt gewissen Prinzipien
  • DBS befolgt (angegebene) Prinzipien und schützt so vor:
    • Benutzerfehlern
    • Programmfehlern

Effizienz und Skalierbarkeit

  • DBSe sind für groß angelegte Anwendungen konzipiert
  • In DBSen sind Techniken integriert, die mit großen Datenvolumen umgehen können

Grobe Architektur

database management system architecture

Detalierte Übersicht

database management system internal architecture

Datenmodellierung

Ein Benutzer muss immer noch die Anforderungen einer Anwendung und die Art von daten die gespeichert werden sollen spezifieren

Zwei wichtige konzepte beim Entwurf

Datenmodell

Es legt fest, welche Konstrukte zum Beschreiben der Daten existieren

Beispiel

→ SQL: Das relatione Modell ist dein Datenmodell. Deine "Lego-Bausteine" sind Konzepte wie Tabellen, Spalten (mit Datentypen wie VARCHAR, INT, BOOLEAN) Primärschlüssel und Fremdschlüssel. Das Modell gibt vor, dass Daten in Tabellen organisiert werden und wie diese Tabellen miteinander in Beziehung stehen können

Schema

eine konkrete Bescreibung einer bestimmten Datensammlung (unter Verwendung eines Datenmodells)

Beispiel

→ SQL: deine CREATE TABLE Anweisungen sind dein Schema. Wenn man schreibt:

sql
CREATE TABLE Kunden (
    kunden_id INT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255),
    age INT
);

... dan hast du gerade das Schema für eine Kundendatenbank definiert-

Datenmodelle

Konzeptuelle Modelle:
  • Entity-Relationship-Modell (ER-Modell)
  • Unified Modeling Language (UML)
Logische Modelle:
  • Hierarchisches Modell
  • Netzwerkmodell
  • Relationales Modell
  • Objekt-orientiertes Modell
  • Objekt-relationales Modell
  • Semistrukturiertes Modell
  • Graphstrukturiertes Modell

Schritte der modellierung

conceptual to logical database schema transformation

Beispiel

university entity relationship model

Beispiel(2)

university relational database schema

Zusammenfassung
  • Viele Anwendungen haben ähnliche Erfordernisse, was die Datenverwaltung angeht
  • Ein DBS bildet eine gemeinsame Basis und bietet eine Infrastruktur, die diese Anwendungen unterstützt
Local graph 0 backlinks