Grundlagen der Datenbanken: Architektur und Konzepte
Was ist eine Datenbank?
Eine Datenbank ist eine strukturierte Sammlung von Daten, die darauf ausgelegt ist, Redundanzen zu minimieren und Informationen effizient zu speichern. Sie ist unabhängig von den Anwendungsprogrammen, die auf sie zugreifen, und ermöglicht das Hinzufügen, Löschen, Abrufen und Modifizieren von Daten.
Vorteile von Datenbanksystemen
- Reduzierung von Redundanz: Zentralisierte Datenhaltung verhindert Inkonsistenzen.
- Sicherheit: Kontrollierter Zugriff und Schutz der Datenmanipulation.
- Datenunabhängigkeit: Trennung von logischer und physischer Struktur.
Architektur eines Datenbanksystems
Die Architektur unterteilt sich in drei Ebenen:
- Externe Ebene (View): Beschreibt die Sicht der Benutzer auf die Daten.
- Konzeptionelle Ebene: Definiert die logische Struktur und die Beziehungen der Daten.
- Physische Ebene: Beschreibt die tatsächliche Speicherung auf Hardware (z. B. Festplatten).
Elemente eines Datenbanksystems
- Benutzer: Gelegentliche Nutzer, Programmierer und Datenbankadministratoren (DBA).
- Software: Das Datenbankmanagementsystem (DBMS) zur Strukturierung und Manipulation.
- Hardware: Speichergeräte und Prozessoren.
- Daten: Die eigentlichen Informationen im System.
Datenunabhängigkeit
- Logische Unabhängigkeit: Das konzeptionelle Schema kann geändert werden, ohne die externen Anwendungen zu beeinflussen.
- Physische Unabhängigkeit: Das physische Speicherschema kann geändert werden, ohne die Programme anzupassen.
Kardinalität und Datenmodellierung
Die Kardinalität beschreibt die Art der Beziehungen zwischen Entitäten:
- 1:1 (Eins-zu-Eins)
- 1:M oder M:1 (Eins-zu-Viele / Viele-zu-Eins)
- M:M (Viele-zu-Viele)
Relationale Datenbanken
Relationale Datenbanken basieren auf Entitäten und Attributen.
- Instanzen: Konkrete Objekte (z. B. ein Buch, ein Patient).
- Attribute: Eigenschaften oder Merkmale einer Entität.
- Schlüssel (Keys):
- Primary Key (PK): Eindeutiger Identifikator einer Entität.
- Candidate Key: Eindeutiger und minimaler Schlüssel.
- Alternative Key: Nicht gewählter Kandidatenschlüssel.
- Foreign Key (Fremdschlüssel): Verknüpfung zu einer anderen Entität.
Client-Server-Architektur
Dieses Modell ermöglicht verteilte Berechnungen zwischen Clients und Servern.
Komponenten
- Back-End (Server): Das eigentliche DBMS, das Anfragen verarbeitet und Daten verwaltet.
- Front-End (Client): Die Anwendungsschnittstelle für den Benutzer.
Vorteile und Nachteile
- Vorteile: Hohe Erreichbarkeit, optimierte Performance, zentrale Sicherheit und Interoperabilität.
- Nachteile: Hohe technologische Komplexität und mögliche Überlastung des Netzwerks.
Cloud Computing
Cloud Computing ermöglicht die Bereitstellung von IT-Diensten über das Internet. Benutzer können auf Ressourcen zugreifen, ohne tiefgreifende Expertenkenntnisse über die zugrunde liegende Verwaltung der Infrastruktur zu benötigen.