Eine Datenbank mit Filemaker erstellen
Im
letzten Kapitel haben wir uns grundsätzliche Überlegungen zur Struktur einer Datenbank für Zeitungsartikel gemacht. Nun setzen wir diese Datenbank in Filemaker um.
Die Datenbank soll folgende Struktur aufweisen:

Unsere Datenbank besteht also eigentlich aus drei Datenbanken, die miteinander verbunden sind (eine sog. "
relationale Datenbank"). Je nach Terminologie werden diese drei "Datenbanken" (Artikel, Ressorts, Zeitungen) wirklich "
Datenbanken" genannt, oder aber "
Tabellen". Spricht man von Tabellen, wäre das Ensemble aller Tabellen (hier also: Artikel, Ressorts, Zeitungen) die Datenbank.
Bei Filemaker hängt die Terminologie von der Version der Software ab: Bis und mit Version 6 und 6.5 von Filemaker wären "Artikel", "Ressorts" und "Zeitungen" einzelne Datenbanken – und damit auch
einzelne Dateien. Ab Version 7 passte sich Filemaker der vorherrschenden Terminologie an: Die drei "
Datenbanktabellen" finden in
einer Datei – der Datenbank – Platz.
Wir arbeiten in der Folge mit Version 7 von Filemaker, erstellen also eine Datei "Artikel-Datenbank", die drei Tabellen (Artikel, Zeitungen, Ressorts) enthält.
Die Datenbank, wie sie nach dieser Anleitung aussehen sollte, steht auch hier zum Herunterladen zur Verfügung. Wer will kann hier also die Schritte an der bestehenden Testdatenbank nachvollziehen.
 Download der Datei
|
Datenbank erstellen
Öffnet man Filemaker, kann man gleich eine Datenbankvorlage oder eine bestehende Datenbank öffnen, oder aber eine neue Datei erstellen. Wir erstellen eine neue, leere Datenbank, die wir auch gerade unter dem Namen
"Artikel-Datenbank" abspeichern.
Anschliessend wird automatisch das Dialogfeld zur Feldererstellung aufgerufen. Hier legen wir die gewünschten Tabellen, Feldnamen und Feldtypen, sowie die Beziehungen zwischen den Tabellen fest. Man kann dieses Dialogfeld aber auch später immer wieder über das Menü
"Ablage" -> "Definieren" -> "Datenbank..." aufrufen.

Jetzt definieren wir die Felder gemäss unserer skizzierten Struktur.
Beim Feld "ID_Artikel" legen wir zusätzlich fest, dass diese
Identifikationsnummer automatisch eingefüllt werden soll. Das geschieht
über den Knopf "Optionen", der angeklickt werden muss, wenn das
entsprechende Feld ausgewählt ist. Hier kann angegeben werden, dass es
sich um eine Seriennummer handelt, die automatisch um jeweils 1 erhöht
werden soll.
Dann definieren wir die weiteren benötigten Tabellen in unserer
Artikel-Datenbank. Wir benötigen zusätzlich die Tabellen "Ressorts" und
"Zeitungen". Dazu wechseln wir im offenen Dialogfenster in den Bereich
"Tabellen". Dort ist bereits die Tabelle, für die wir eben die Felder definiert haben. Diese Tabelle heisst momentan gleich, wie die Datenbank-Datei, also "Artikel-Datenbank". Diesen Namen kann man ändern, z.B. zu "Artikel".
Die weiteren benötigten Tabellen erstellen wir über das Feld "Tabellenname" und den Knopf "Erstellen". Im Anschluss können wir wieder die Felder für diese Tabellen definieren. Dazu doppelklicken wir die Tabelle und landen dann wieder im Bereich "Felder" des Dialogfeldes.

Nun können die Felder genau wie bereits vorher für die beiden Tabellen "Ressorts" und "Zeitungen" definiert werden.
Die Ansichten in Filemaker
Sind die Felder fertig definiert, erscheint bereits die Eingabemaske in der sog.
"Blättern"-Ansicht. Hier kann im Prinzip bereits mit der Eingabe begonnen werden, indem über das Menü "Datensätze" jeweils "Neuer Datensatz" gewählt wird.
Neben der Blättern-Ansicht gibt es aber im Menü "Ansicht" noch die Ansichten "Suchenmodus", "Layoutmodus" und "Seitenansichtsmodus".
Im
Suchenmodus erscheint eine leere Eingabemaske, mit der die Datensätze durchsucht werden kann.
Im
Layoutmodus kann das Aussehen der Eingabemaske verändert werden, so z.B. die Felder vergrössert oder anders angeordnet werden. Es gibt hier sehr vielfältige Möglichkeiten, ein angenehmes Layout zu erstellen. Zudem können mehrere Layouts für die gleichen Daten erstellt werden. So kann man sich die Daten z.B. auch in einem Listen-Layout oder einem besonderen Layout, das nur eine Auswahl der Felder enthält, darstellen lassen.
Neben den Modi sind mit den drei definierten Tabellen bereits drei "Layouts" definiert, die die Felder der definierten Tabellen anzeigen. Über das Menü "Layout" in der linken Werkzeugleiste kann das Layout gewechselt werden.
Relationen erstellen
Nun müssen wir der Datenbank noch bekannt geben, wie die drei Tabellen zusammenhängen. Dazu wechseln wir wieder über das Menü "Ablage" -> "Definieren" -> "Datenbank..." zum Definitions-Dialogfeld. Dort wechseln wir in den Bereich
"Beziehungen".
Hier sind die einzelnen Tabellen sichtbar, noch ohne Beziehungen dazwischen. Über den zweiten Knopf von links unter dem Titel "Tabellen/Beziehungen" können Beziehungen zwischen den Tabellen definiert werden.

Ein Klick auf diesen Knopf öffnet ein weiteres Dialogfeld:

Nun sind in den zwei Auswahlfeldern nach Auswahl der gewünschten Tabelle alle definierten Felder in der gewählten Tabelle angezeigt: Links wählen wir die Tabelle "Artikel", rechts "Zeitungen". Nun wählen wir einfach links und rechts jeweils das Feld "ID_Zeitung" aus und definieren damit, dass die beiden Datenbanktabellen über dieses Vergleichsfeld zusammenhängen. Zusätzlich klicken wir die Option "Erstellung von Datensätzen in dieser Tabelle über diese Beziehung zulassen" an. Damit wird es möglich sein, auch noch nicht in "Zeitungen" definierte Zeitungen direkt in "Artikel" frisch zu erfassen.
Eine weitere Relation erstellen wir zur Datenbanktabelle "Ressorts" auf gleiche Art über das Vergleichsfeld "ID_Ressort".
Wir können nun die Datenbanktabellen "Zeitungen" und "Ressorts" mit ein paar Probeeinträgen füllen. Wenn wir dann in "Artikel" einen neuen Datensatz anlegen, reicht es, in "ID_Zeitung" bzw. "ID_Ressort" einfach diese Nummer einzutragen, die dem gewünschten Datensatz in "Zeitungen" bzw. "Ressort" entspricht.
Layout anpassen
Das ist alles mal ein schöner Anfang, befriedigt aber noch nicht ganz. Zunächst wollen wir, dass in "Artikel" zusätzlich zum Feld "ID_Zeitung" und "ID_Ressort" auch der tatsächliche Zeitungsname und das Ressort stehen. Um das zu erreichen, wechseln wir in "Artikel" in die Ansicht "Layout".
Über das Menü "Einfügen" -> "Feld", bzw. einfach, indem wir von den Werkzeugen links das mit "Feld" beschriebene Feld auf die Arbeitsfläche ziehen, können wir ein definiertes Feld im Layout darstellen lassen.

Nach dem Auslösen des Befehls, kann aus der Feldliste das gewünschte Feld ausgewählt werden.

Da nun aber die Datenbanktabelle "Artikel" mit den zwei anderen Datenbanktabellen verbunden ist, können wir auch deren Felder auswählen, wenn im Menü "Aktuelle Datei" eine der definierten Verbindungen ausgewählt wird. Die Feldnamen aus einer anderen Datenbanktabelle haben vor dem Feldnamen zwei Doppelpunkte und sind so von den Feldern der aktuellen Datenbanktabelle unterscheidbar.
Wir wählen nun hier also die Felder "::Zeitungsname" bzw. "::Ressort" aus. Diese Felder erscheinen anschliessend im Layout. Wenn wir in die Blättern-Ansicht zurück wechseln, erscheinen nun in diesen Feldern die richtigen Informationen aus den beiden verbundenen Datenbanktabellen.
Sprechende Namen statt IDs
Noch nicht so elegant ist, dass wir bei der Eingabe der Zeitungsnamen oder Ressorts mit ID-Nummern hantieren müssen, die man ja eigentlich auch nicht auswendig weiss. Das Problem lösen wir wiefolgt:
Wir versehen das Feld "ID_Zeitung" mit einer sog. "Werteliste". Das ist eine vorgegebene Liste an Werten, die bei der Eingabe in das Feld angezeigt wird. Die Idee ist nun: Die Werteliste soll alle verfügbaren Zeitungen enthalten, die in der Tabelle "Zeitungen" gespeichert sind.
Um eine Werteliste zu definieren, wählen wir "Ablage" -> "Definieren" -> "Wertelisten...". Es öffnet sich folgendes Dialogfeld, das natürlich jetzt noch keine definierten Wertelisten enthält:

Über den Knopf "Neu..." definieren wir eine neue Liste. Im angezeigten neuen Dialogfeld wählen wir einen Namen dafür, z.B. "Verfügbare Zeitungsnamen" und wählen die Option "Werte verwenden aus Feld..." und klicken auf "Feld angeben...". Es öffnet sich ein weiteres Dialogfenster. Hier wählen wir wieder die Tabelle "Zeitungen" als Quelle für die Werte des 1. Feldes. Dann in der linken Liste "ID_Zeitung" (die
müssen wir ja auswählen, damit die Relation zustande kommt). Zusätzlich wollen wir aber auch den Zeitungsnamen mit angezeigt haben. Wir setzen einen Haken bei "Auch Werte aus zweitem Feld anzeigen" und wählen dort aus der zweiten Liste "Zeitungsname". Die Definition ist jetzt fertig
und wir können die Dialogfelder wieder alle bestätigen und schliessen.

Wieder in der Ansicht "Layout" wählen wir das Feld "ID_Zeitung" aus und wählen "Feld" -> "Feldformat" (bis Filemaker Version 7) bzw. "Format" -> "Feld/Steuerelement" -> "Einstellungen..." (ab Filemaker Version 8). Im Bereich Stil/Steuerelementstil wählen wir aus dem Menü "Einblendliste" aus und wählen im zweiten Menü daneben/darunter die vorher definierte Werteliste "Verfügbare Zeitungen".
Hier das Dialogfeld "Feld/Steuerelement einstellen" in Version 8 von Filemaker. Bis Version 7 differiert die Darstellung davon.Nun wird jeweils beim Erfassen eines Datensatzes beim Klick auf das Feld "ID_Zeitung" eine Liste der bereits in "Zeitungen" vorhandenen Zeitungsnamen mit ihren Nummern erscheinen. Wir können einfach die gewünschte Zeitung auswählen und es wird automatisch die richtige Nummer eingetragen.
Datensätze in verbundener Datenbanktabelle ergänzen
Doch was passiert, wenn ich an dieser Stelle gerne eine Zeitung auswählen will, die in "Zeitungen" noch nicht vorhanden ist? Ich habe zwei Möglichkeiten:
- Man öffnet die Tabelle "Zeitungen", legt dort den gewünschten neuen Datensatz an und anschliessend wird die neue Zeitung ebenfalls in der Auswahlliste in "Artikel" erscheinen.
- Oder: Beim Erfassen in "Artikel" gebe ich keine Nummer ein bei "ID_Zeitung", stattdessen fülle ich den Zeitungsnamen und ggf. die weiteren Felder aus. Besteht dieser Eintrag noch nicht, wird er automatisch in die Datenbanktabelle "Zeitungen" eingetragen und steht anschliessend in der Einblendliste von "ID_Zeitung" zur Verfügung.
Kosmetik
Damit steht unsere Datenbank im Grundgerüst. Der Rest ist Kosmetik: Man kann die Layouts noch den Eingabebedürfnissen anpassen, die Formate der Felder verändern etc. Doch im Grund entspricht nun die Filemakerdatenbank der Struktur, die wir anfänglich skizziert haben.
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/.