Difference between revisions of "Das relationale Datenmodell - Theoretische Grundlagen II"

From DHVLab

m
Line 5: Line 5:
 
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"'''). <br />
 
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"'''). <br />
 
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.<br />
 
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.<br />
<u>'''Beispiel:'''</u> 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)
+
<u>'''Beispiel:'''</u> 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).
 
<br /><br />
 
<br /><br />
 
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
 
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
Line 12: Line 12:
 
# im Falle eines Verlusts wieder herzustellen.
 
# im Falle eines Verlusts wieder herzustellen.
 
Dadurch wird ihre '''dauerhafte Nutzung durch Client-Programme''' gewährleistet.<br />
 
Dadurch wird ihre '''dauerhafte Nutzung durch Client-Programme''' gewährleistet.<br />
<code>''Hier könnte man noch die Anforderungen an ein DBS verlinken, nach Edgar F. Codd, 1982 - [http://www.dbs.ifi.lmu.de/Lehre/DBS/WS-2015/Skript/dbs1_01.pdf IfI LMU] - Folie 27f.''</code><br /><br />
+
<br />
 
==== Datenbankmanagementsystem MySQL ====
 
==== Datenbankmanagementsystem MySQL ====
 
Ein Datenbankmanagementsystem, das sowohl auf Servern als auch auf Clients installiert werden kann, ist '''MySQL'''. Es gibt im Wesentlichen folgende '''Zugriffsmöglichkeiten''':
 
Ein Datenbankmanagementsystem, das sowohl auf Servern als auch auf Clients installiert werden kann, ist '''MySQL'''. Es gibt im Wesentlichen folgende '''Zugriffsmöglichkeiten''':
Line 20: Line 20:
  
 
==== SQL: Relationale Algebra als theoretische Grundlage ====
 
==== 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'''.<br />
+
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 deklarativen 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'''.<br />
 
Die '''wesentlichen Operationen''' (aus denen wiederum andere abgeleitet werden können) sind:
 
Die '''wesentlichen Operationen''' (aus denen wiederum andere abgeleitet werden können) sind:
* Projektion
+
* Selektion (Auswahl von Datensätzen, d.h. Zeilen)
* Selektion
+
* Projektion (Auswahl von Attributen, d.h. Spalten)
 
* Kreuzprodukt (Kartesisches Produkt)
 
* Kreuzprodukt (Kartesisches Produkt)
* Vereinigung/Join (Semi Join, Outer Join, etc.)
+
* Vereinigung/Join (Horizontale Verknüpfung von Tabellen)
* Differenz
+
* Union (Vertikale Verknüpfung von Tabellen)
* Umbenennung
+
 
 
Das '''Ergebnis einer Abfrage oder Operation''' ist '''immer''' eine (neue) '''Tabelle''' (zunächst ohne eigenen Namen, solange sie nicht dezidiert abgespeichert wurde).
 
Das '''Ergebnis einer Abfrage oder Operation''' ist '''immer''' eine (neue) '''Tabelle''' (zunächst ohne eigenen Namen, solange sie nicht dezidiert abgespeichert wurde).
 
<br /><br />
 
<br /><br />

Revision as of 11:46, 5 April 2018

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.

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 deklarativen 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:

  • Selektion (Auswahl von Datensätzen, d.h. Zeilen)
  • Projektion (Auswahl von Attributen, d.h. Spalten)
  • Kreuzprodukt (Kartesisches Produkt)
  • Vereinigung/Join (Horizontale Verknüpfung von Tabellen)
  • Union (Vertikale Verknüpfung von Tabellen)

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