Das relationale Datenmodell - Theoretische Grundlagen II

From DHVLab

Die relationale Datenbank in der Praxis

Bei einer Datenbank wird generell unterschieden in

  • das Datenbankschema (technische Ausgestaltung des theoretischen Datenmodells) und den
  • Datenbank-Zustand (tatsächliche Ausprägung der Datenbank).

Das Datenbankschema beschreibt, aufbauend auf dem Datenmodell die möglichen Inhalte einer Datenbank sowie die Struktur/Typen der einzelnen Tabellen und deren Spalten. Veränderungen am Datenbankschema sind jederzeit möglich ("Schema-Evolution").
Der Datenbank-Zustand ergibt sich aus dem tatsächlich in der Datenbank befindlichen Inhalt, sprich der zugewiesenen Attributwerte. Im Datenbanksystem (DBS) werden Datenbank-Schema und Datenbank-Zustand gleichermaßen gespeichert. Ihre Übereinstimmung wird durch das eingesetzte Datenbankmanagementsystem (DBMS) kontrolliert.
Beispiel: Das Datenbank-Schema gibt für eine Spalte vor, dass maximal 10 Zeichen eingetragen werden können. In dieser Spalte können sich nun Einträge unterschiedlicher Länge (variabel!), aber nur bis zu zehn Zeichen befinden (Datenbank-Zustand)

Das relationale Datenmodell kommt in relationalen Datenbanksystemen zum Einsatz. Ein Datenbanksystem besteht aus zwei Komponenten: Während (1.) die Datenbank die eigentlichen (Forschungs-)Daten vorhält, können (2.) diese über ein sogenanntes (relationales) Datenbankmanagementsystem verwaltet und verarbeitet werden. Ein Datenbanksystem besitzt die Aufgabe, große Datenmengen

  1. zu beschreiben
  2. langfristig abzuspeichern
  3. im Falle eines Verlusts wieder herzustellen.

Dadurch wird ihre dauerhafte Nutzung durch Client-Programme gewährleistet.
Hier könnte man noch die Anforderungen an ein DBS verlinken, nach Edgar F. Codd, 1982 - IfI LMU - Folie 27f.

Datenbankmanagementsystem MySQL

Ein Datenbankmanagementsystem, das sowohl auf Servern als auch auf Clients installiert werden kann, ist MySQL. Es gibt im Wesentlichen folgende Zugriffsmöglichkeiten:

  • Kommandozeile (Shell)
  • Clientprogramm (z.B. HeidiSQL (nur für Windows) , [mysql.de/products/workbench/ MySQL-Workbench])
  • phpMyAdmin, eine freie Webanwendung zur Verwaltung von MySQL-Datenbanken

SQL: Relationale Algebra als theoretische Grundlage

Zur Abfrage, Manipulation und Erweiterung der Datenbasis kommt die Structured Query Language - kurz SQL - zum Einsatz. Es handelt sich um eine ISO-codierte, von ihrer Syntax her gesehen relativ einfach aufgebaute Datenbanksprache, welche semantisch an die englische Umgangssprache angelehnt ist. Mit dieser Datenbanksprache können unterschiedlichste Abfragen und Operationen durchgeführt werden. Ihnen allen gemein ist die relationale Algebra, die ihr theoretisches Fundament darstellt. Diese gibt vor, in welcher Art und Weise Daten gespeichert, abgefragt/gefiltert, verknüpft oder verändert werden können. Die Operationen der relationalen Algebra werden mittels SQL als Datenbankoperatoren eingebunden bzw. umgekehrt formuliert: die durch eine SQL-Eingabe angeforderte Datenbankoperation wird durch das DBMS in relationale Algebra übersetzt.
Die wesentlichen Operationen (aus denen wiederum andere abgeleitet werden können) sind:

  • Projektion
  • Selektion
  • Kreuzprodukt (Kartesisches Produkt)
  • Vereinigung/Join (Semi Join, Outer Join, etc.)
  • Differenz
  • Umbenennung

Das Ergebnis einer Abfrage oder Operation ist immer eine (neue) Tabelle (zunächst ohne eigenen Namen, solange sie nicht dezidiert abgespeichert wurde).

Wir werden uns später bei der praktischen Arbeit mit der Datenbank intensiv mit SQL und ihren Spezifika auseinandersetzen. An dieser Stelle wollen wir es bei diesen theoretischen Grundzügen belassen. Eine umfassende Einführung in die relationale Algebra und ihre Bedeutung für SQL bieten:
IfI LMU
Wikipedia

Im Folgenden werden wir uns anhand der phpMyAdmin-Umgebung der Arbeit mit relationalen Datenbanken annähern und ihre vielfältigen Einsatzmöglichkeiten in der geisteswissenschaftlichen Forschung verstehen lernen.



Zurück zu Das relationale Datenmodell - Theoretische Grundlagen I ⇐⇒ Weiter zu Praktischer Einstieg in das DBMS phpMyAdmin