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

From DHVLab

(Created page with "Die relationale Datenbank in der Praxis Bei einer Datenbank wird generell unterschieden in das Datenbankschema (technische Ausgestaltung des theoretischen Datenmodells) und di...")
 
Line 1: Line 1:
Die relationale Datenbank in der Praxis
+
==== Die relationale Datenbank in der Praxis ====
Bei einer Datenbank wird generell unterschieden in das Datenbankschema (technische Ausgestaltung des theoretischen Datenmodells) und die tatsächliche Ausprägung der Datenbank (Datenbank-Zustand). Das Datenbankschema beschreibt aufbauend auf dem Datenmodell die möglichen Inhalte einer Datenbank und die Struktur/Typen der einzelnen Tabellen und deren Spalten. Veränderungen am Datenbankschema sind jederzeit möglich ("Schema-Evolution").
+
Bei einer '''Datenbank''' wird generell unterschieden in
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.
+
* das '''Datenbankschema''' (technische Ausgestaltung des theoretischen Datenmodells) und den
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)
+
* '''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"'''). <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)
 +
<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
 +
# zu beschreiben
 +
# langfristig abzuspeichern
 +
# im Falle eines Verlusts wieder herzustellen.
 +
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 />
 +
==== 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. [http://www.heidisql.com/download.php HeidiSQL] (nur für Windows) , [mysql.de/products/workbench/ MySQL-Workbench])
 +
* '''phpMyAdmin''', eine freie Webanwendung zur Verwaltung von MySQL-Datenbanken
  
Das oben erläuterte 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.) letztere über ein sogenanntes (relationales) Datenbankmanagementsystem verwaltet und verarbeitet werden. Ein DBS besitzt die Aufgabe, große Datenmengen 1. zu beschreiben, 2. zu langfristig abzuspeichern und 3. im Falle eines Verlusts wiederzugewinnen; dadurch wird ihre dauerhafte Nutzung durch Client-Programme gewährleistet.
+
==== SQL: Relationale Algebra als theoretische Grundlage ====
[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 - Folie 27f.]
+
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 />
 
+
Die '''wesentlichen Operationen''' (aus denen wiederum andere abgeleitet werden können) sind:
Ein DBMS, welches sowohl auf Servern als auch auf Clients installiert werden kann, ist MySQL. Es gibt im Wesentlichen folgende Zugriffsmöglichkeiten:
+
* Projektion
- Kommandozeile (Shell)
+
* Selektion
- Clientprogramm (z.B. HeidiSQL (nur für Windows) [http://www.heidisql.com/download.php], MySQL-Workbench [mysql.de/products/workbench/])
+
* Kreuzprodukt (Kartesisches Produkt)
- phpMyAdmin, eine freie Webanwendung zur Verwaltung von MySQL-Datenbanken
+
* Vereinigung/Join (Semi Join, Outer Join, etc.)
 
+
* Differenz
SQL: Relationale Algebra als theoretische Grundlage
+
* Umbenennung
Zur Abfrage, Manipulation und Erweiterung der Datenbasis kommt SQL - die Structured Query Language - 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.  
+
Das '''Ergebnis einer Abfrage oder Operation''' ist '''immer''' eine (neue) '''Tabelle''' (zunächst ohne eigenen Namen, solange sie nicht dezidiert abgespeichert wurde).
Die wesentlichen Operationen (aus denen andere abgeleitet werden können) sind:
+
<br /><br />
- Projektion
+
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:<br />
- Selektion
+
[http://www.dbs.ifi.lmu.de/Lehre/DBS/WS-2015/Skript/dbs1_03.pdf IfI LMU]<br />
- Kreuzprodukt (Kartesisches Produkt)
+
[https://de.wikipedia.org/wiki/Relationale_Algebra Wikipedia]
- Vereinigung/Join (Semi Join, Outer Join, etc.)
+
<br /><br />
- Differenz
+
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.
- Umbenennung
 
Das Ergebnis einer Abfrage oder Operation ist immer eine (neue) Tabelle (zunächst ohne eigenen Namen, solange nicht abgespeichert).
 
 
 
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 bietet:
 
http://www.dbs.ifi.lmu.de/Lehre/DBS/WS-2015/Skript/dbs1_03.pdf
 
https://de.wikipedia.org/wiki/Relationale_Algebra
 
 
 
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.
 

Revision as of 15:21, 14 September 2016

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.