Einführung Datenbanken
From DHVLab
Im vorangehenden Manual haben wir uns mit dem Tabellenkalkulationsprogramm Calc vertraut gemacht. Dieses eignet sich für die Verwaltung und Verarbeitung (kleinerer) Datensammlungen. Die grafische Benutzeroberfläche ermöglicht eine benutzerfreundliche Bearbeitung. Zeilen und Spalten können grafisch beliebig formatiert werden. Für die Sammlung größerer Forschungsdatenmengen sollte die Verwendung einer (relationalen) Datenbank in Betracht gezogen werden. Diese bietet Ihnen eine Reihe an Vorteilen hinsichtlich Datenstrukturierung, -verwaltung und -verarbeitung[A 1]:
- Unabhängigkeit der Daten: In einer Datenbank abgelegte Datensammlungen können in verschiedenen Formaten exportiert und damit universal weiterverarbeitet werden = größtmögliche Kompatibilität
- Leistungsfähig: eine SQL-Datenbank ist idR schneller und leistungsfähiger als native XML-Datenbanken wie eXist oder Tamino
- Schnittstelle zu Programmiersprachen wie JavaScript (via AJAX), PHP oder Python. Ihre Kombination bildet die Grundlage für die Schaffung komplexer dynamischer Webinterfaces.
- Vermeidung von Redundanz: In einer (normalisierten) Datenbank werden Daten einheitlich und eindeutig identifizierbar abgelegt.
- Verknüpfbarkeit der Daten durch die (automatische) Zuweisung von Schlüsseln (ID's)
- Parallele Bearbeitung durch mehrere Mitarbeiter möglich.
- Durchsuchbarkeit und Möglichkeit zu umfassenden Berechnungen auf Grundlage der Daten
Im folgenden Manual werden wir uns zunächst die theoretischen Grundlagen (Datenmodelle, relationale Algebra) aneignen und dabei einen Schwerpunkt auf das relationale Datenmodell legen. Anschließend werden wir uns dem relationalen Datenbanksystem[A 2] zuwenden und schließlich mit Hilfe eines relationalen Datenbankmanagementsystems[A 3] in die praktische Arbeit einsteigen. Hierzu werden wir uns mit der webbasierten, grafischen Benutzeroberfläche phpMyAdmin vertraut machen und die Datenmanipulationssprache SQL anhand praktischer Beispiele (Abfrage von Daten, Manipulation von Daten, Änderungen der Datenbankstruktur) erlernen.
Um Ihnen den Nutzen der Arbeit mit Datenbanken gleich zu Beginn zu illustrieren, sei an dieser Stelle auf eine Auswahl an Projekten der IT-Gruppe Geisteswissenschaften verwiesen, die auf MySQL-Datenbanken zurückgreifen. Ihnen gemein ist, dass sich das Framework beliebig verändern lässt, ohne dabei mit den Daten in Kontakt zu kommen. Wichtig ist immer, dass die Daten sauber strukturiert abgelegt wurden. Dann ist ihre Verwendung in verschiedensten Szenarien denkbar:
Biblia Hebraica Transcripta
Höflinge der Habsburgischen Kaiser
VerbaAlpina
Referenzen und Hinweise
Empfehlenswerte Client-Programme für MySQL-Datenbanken:
- HeidiSQL - Empfehlenswertes, kostenloses Datenbankmanagementsystem für MySQL-Datenbanken und damit eine Alternative zur phpMyAdmin-Oberfläche, die im Weiteren verwendet wird.
- MySQL-Workbench - Arbeitsumgebung zur Erstellung, Modellierung und Bearbeitung von MySQL-Datenbanken.
To Do: ggf. HeidiSQL im DHVLab installieren und eigenes kleines Manual hierzu verfassen
Weiterführende Links
- Mindestanforderungen an eine relationale Datenbank und die zwölf goldenen Regeln der Relationalität: Mindestanforderungen und zwölf Regeln
- Grundlegendes zu Relationalen Datenbanken
- Webinterface zum Erlernen und Üben von SQL: amazing-sql.com
- SQL Tutorial der W3Schools (Englisch)
- Einführung, Grundlegendes:
Einführung (LUIS, Universität Hannover)
- Datenmodellierung mit SQL:
Datenmodellierung (LUIS, Universität Hannover)
- Informationen filtern:
Filtern (LUIS, Universität Hannover)
- Tabellenbeziehungen abbilden (Joins):
Verknüpfen (LUIS, Universität Hannover)
- Daten berechnen:
Berechnen (LUIS, Universität Hannover)
- Wichtige SQL-Befehle (Delete, Insert, Update):
Aktionsabfragen (LUIS, Universität Hannover)
⇒ Weiter zu Verschiedene Arten von Datenmodellen
Anmerkungen
- ↑ Zum Erstellen von Grafiken und Visualisierungen ist eine SQL-Datenbank nur eingeschränkt verwendbar. Die Visualisierung sollte durch Export der Forschungsdaten in hierfür geeignete Software erfolgen.
- ↑ In unserem Fall greifen wir auf das sehr leistungsstarke Datenbanksystem MySQL zurück. Daneben existieren weitere kommerzielle und freie Datenbanksysteme wie Oracle, Microsoft SQL Server, PostgreSQL etc.
- ↑ Die OpenSource-Software phpMyAdmin zählt mit rund 50 Millionen Installationen weltweit zu den am meisten verbreiteten Datenbankverwaltungssystemen.