Einführung in die Arbeit mit Datenbanken
Grundlegende Gedanken zu Datenbanken sind bereits
hier formuliert. Es geht also darum, Daten in strukturierter Form zu verwalten. Damit werden sie einfach durchsuch- und darstellbar. Es lohnt sich gerade bei einem Korpus mit Datenbanken zu arbeiten.
Eine Artikeldatenbank
Nehmen wir an, wir wollen ein Korpus ausgewählter Zeitungsartikel erstellen. Die Zeitungsartikel liegen in elektronischer Form vor. Nun wollen wir diese Zeitungsartikel in einer Datenbank ablegen. Dazu müssen wir zuerst die Struktur der Datenbank definieren. Das macht man am besten bevor man sich überhaupt an den Computer setzt.
Lizenzbedingungen: Nicht immer ist es erlaubt, Daten in ein Datenbanksystem einzuspeisen. Die Lizenzbedingungen von LexisNexis beispielsweise erlauben nur eine Speicherung der Daten für maximal 90 Tage und verbieten das systematische Verwalten in einer Datenbank. Hingegen können für Forschungszwecke oft individuelle Verträge mit den Anbietern der Daten getroffen werden, die das erlauben.
|
Die Felder der Datenbank
Eine Datenbank enthält eine Reihe von Feldern, die jeweils immer die gleiche Art von Informationen fassen. Bei einer Artikeldatenbank brauchen wir z.B. folgende Felder:
- Identifikationsnummer (ID)
(Eine solche eindeutige Nummer sollte immer vorhanden sein.)
- Zeitungsname
- Datum
- Ressort
- Titel
- Untertitel
- Lead-In
- Artikel
- AutorIn
Nun überlegen wir uns, welcher Art diese Felder sind. In Filemaker, wie auch in anderen Datenbanken, stehen (unter anderen) folgende Feldtypen zur Verfügung:
Es ist wichtig, die richtigen Feldtypen für die festgelegten Felder zu definieren, denn das vereinfacht z.B. das korrekte Suchen und Sortieren. Weiss die Datenbank z.B., dass ein bestimmtes Feld vom Typ "Datum" ist, kann sie die Datensätze auf Wunsch auch richtig nach Datum sortieren.
Für die oben vorgesehenen Felder für die Artikeldatenbank könnte also für fast alle Felder der Feldtyp "Text" verwendet werden. Nur das Datumsfeld benötigt natürlich den Typ "Datum" und das ID-Feld den Typ "Zahl". Bei letzterem werden wir später natürlich festlegen können, dass die Datenbank diese Zahl automatisch einsetzt.
Relationale Datenbanken
Doch Datenbanken sollen das Leben mit Daten vereinfachen und dafür sorgen, dass Daten konsistent erfasst werden. Bei unserer bisherigen Datenbankstruktur ist das noch zu wenig gewährleistet. Es ist z.B. unsinnig, wenn immer wieder von Neuem ein Zeitungsname eingegeben werden muss. Zudem vertippt man sich vielleicht oder schreibt den Namen nicht immer gleich, so dass in den Datensätzen manchmal "Neue Zürcher Zeitung", manchmal aber auch bloss "NZZ" steht. Für die anschliessende Auswertung ist das natürlich störend.
Deshalb kann man hier eine zweite Datenbank erstellen, die nur Zeitungsnamen enthält, und mit der ersten Datenbank verbunden ist. Die beiden Datenbanken sind über ein Vergleichsfeld miteinander verbunden.

Statt eines Feldes "Zeitungsname" in der Datenbank "Artikel" stehen wir dort also nur ein Feld "ID_Zeitungsname" vor. Dieses Feld ist gleichzeitig das Vergleichsfeld: In der Datenbank "Zeitungen" ist unter dieser "ID_Zeitungsname" der vollständige Datensatz mit den weiteren Angaben zur Zeitung gespeichert.
Der Clou daran ist nun Folgendes:
- Bei der Eingabe kann man sich an Stelle des Feldes "ID_Zeitungsname" einfach eine Liste der möglichen Zeitungen anzeigen lassen (also der Datensätze, die in "Zeitungen" enthalten sind), die gewünschte anklicken, und fertig: Es reicht dann, wenn in diesem Feld einfach die ID der Zeitung gespeichert ist. Die restlichen Informationen werden aus der Datenbank "Zeitungen" bei Bedarf geholt.
- Möchte ich einen Zeitungsnamen ändern, z.B. von "NZZ" zu "Neue Zürcher Zeitung" reicht es, diese Änderung in der Datenbank "Zeitungen" vorzunehmen.
Genau gleich können wir beim Feld "Ressort" vorgehen. Auch hier bietet es sich an, eine Datenbank "Ressorts" zu erstellen, die über ein Vergleichsfeld "ID_Ressort" mit "Artikel" verbunden ist. Damit sieht unsere Datenbankstruktur insgesamt so aus:

Umsetzung der Strukur
Liegt die Struktur der geplanten Datenbank fest, kann es an die Umsetzung gehen. In diesem Kursmodul machen wir das mit Filemaker. Man könnte die Datenbank aber auch in einem anderen Datenbankprogramm realisieren – die nötigen Grundfunktionen bieten die meisten an.
Das Copyright dieses Kurses liegt bei Noah Bubenhofer. Bei Zitaten oder Verweisen darauf, freut der Autor sich über
eine
Mitteilung.
Ebenso bei Fehlern und anderen Hinweisen!
Diese elektronische Ressource soll wie folgt zitiert werden:
Bubenhofer, Noah (2006-2010): Einführung in die Korpuslinguistik: Praktische Grundlagen und Werkzeuge. Elektronische Ressource: http://www.bubenhofer.com/korpuslinguistik/.