Michael Neuhold Homepage
Startseite > Altgriechisch und Latein auf dem Computer > Überlegungen zu einer Vokabeldatenbank Latein

Überlegungen zu einer Vokabeldatenbank Latein


Beschreibung

Im folgenden werden Überlegungen dazu angestellt, wie eine Vokabeldatenbank in einem relationalen Datenbanksystem realisiert werden kann, mit besonderem Schwerpunkt auf den Bedürfnissen der Sprachen Latein und Altgriechisch. In diesen Sprachen werden Vokabel fast ausschließlich Fremdsprachlich-Deutsch gelernt. Es wird zwar auch kurz die Frage erörtert, wie man auch in umgekehrter Richtung lernen kann, aber grundsätzlich wird von der herkömmlichen Richtung ausgegangen.

Im Sinne der Verhältnismäßigkeit der Mittel sollte klar sein, daß man zum Lernen simpler Wortgleichungen keine Datenbank braucht. Einer der gängigen Grundwortschätze aus dem Klett- oder Langenscheidtverlag leistet hier mehr als gute Dienste. Die Datenbank kommt ins Spiel, wenn die Möglichkeit bestehen soll, die Vokabel nach unterschiedlichsten Kriterien auszusuchen und darzubieten.

Mehrsprachigkeit

Unsere Datenbank soll die Möglichkeit bieten, mehrere Sprachen abzudecken. Um nicht alle Tabellen für jede Fremdsprache kopieren zu müssen, sehen wir eine Tabelle SPRACHE vor:

SPRACHE
>SPRACHE_ID
BESCHREIBUNG
KUERZEL

Mögliche Tupel sind (1, 'Englisch', 'E'), (2, 'Latein', 'L') usw.

Soll auch die Möglichkeit bestehen, eine andere Zielsprache als Deutsch vorzusehen (z.B. Deutsch für englischsprechende Ausländer), kann man entweder die Tabelle so ändern, daß ein Tupel Fremd- und Zielsprache bezeichnet (also (1, 'Englisch-Deutsch'). (2, 'Deutsch-Englisch') usw.), oder man sieht zwei Sprachtabellen und eine Cross-Reference-Tabelle vor.

Vokabel

Ein Vokabel besteht in seiner einfachsten Form aus dem fremdsprachlichen Wort und der zielsprachlichen Wiedergabe (vulgo Übersetzung). Dazu kommen noch die Stammformen, die im Englischen nur einen geringen Umfang haben, im Lateinischen und erst recht im Altgriechischen aber umfangreich sein können. Die Vokabeltabelle sieht zunächst so aus:

VOKABEL
>VOKABEL_ID
GRUNDFORM
STAMMFORMEN
BEDEUTUNG
SPRACHE_ID

Eine Entscheidung ist zu treffen, wie bei Vokabeln vorzugehen ist, die bei gleicher Grundform unterschiedlichen Wortarten oder verschiedenen Wortwurzeln angehören. Beispiele:

engl. measure
Subst. Maß
Vb. messen
engl. mean
Vb. meinen, bedeuten
Adj. gering, gemein
Adj. mittel, durchschnittlich
Subst. Mitte; Mittel, Vermögen
lat. eo
Vb. gehen
Adv. dorthin; desto
lat. volo
Vb. (Inf. velle) wollen
Vb. (Inf. volare) fliegen

Die Wörterbücher gehen meist so vor, daß sie etwa measure nur einen Eintrag gönnen, unter dem sowohl die substantivische als auch die verbale Verwendung verzeichnet sind, für mean jedoch drei Einträge vorhanden sind. Das Prinzip dahinter ist, daß für unterschiedliche Wortwurzeln je ein eigener Eintrag gemacht wird, bei lediglich unterschiedlicher Wortart nicht. Um diese Vorgehensweise prinzipiell zu ermöglichen, darf die Grundform nicht unique sein.

Die Felder STAMMFORMEN und BEDEUTUNG sind zusammengesetzt und verstoßen somit gegen die 1. Normalform. Hierüber wird im folgenden zu sprechen sein.

Bedeutung

Das Lernen in "umgekehrter" Richtung (deutsch-fremdsprachlich) ist leichter möglich, wenn die deutsche Wortbedeutung nicht ein Attribut der Vokabeltabelle ist, sondern pro Bedeutung ein eigener Datensatz in einer Bedeutungstabelle eingetragen wird:

VOKABEL_BEDEUTUNG
>VOKABEL_ID
>BEDEUTUNG

Mögliche Tupel wären ({pereo}, 'umkommen'), ({pereo}, 'untergehen'), ({occido}, 'untergehen'), ({occido}, 'umkommen'). Wenn man die lateinischen Entsprechungen zu deutsch umkommen lernen will, dann kann das Programm die Vokabel pereo und occido leicht finden, ohne daß eine Suche nach Teilstrings notwendig ist.

Über die Synonymbeziehung können dabei auch Vokabel ähnlicher Bedeutung gefunden und dargeboten werden: Wenn man z.B. nach reden suchen läßt und die Tupel ({loquor}, 'reden'), ({loquor}, 'sprechen'), ({dico}, 'sagen), ({dico}, 'nennen') lauten, dann wird dico nicht unmittelbar gefunden, obwohl es vielleicht genannt werden sollte. Wenn eine Synonymbeziehung aufgesetzt ist, kann man das Programm anweisen, auch nach Synonymen zu suchen.

Da im Lateinischen die Bedeutung manchmal von der Konstruktion (z.B. +ACI vs. +ut/ne) abhängt, muß ein eigenes Attribut dafür eingeführt werden: Tupel könnten dann so aussehen: ({contendo}, 'eilen', 'ad/Inf'), ({contendo}, 'kämpfen', 'cum/de'), ({contendo}, 'behaupten', 'AcI'). Evt. wäre zu überlegen, ob man für die Konstruktion nicht eine eigene Tabelle anlegen will.

Stammformen

Soll es möglich sein, nach grammatikalischen Kategorien zu lernen (z.B. Verba der a-Konjugation), dann müssen auch die Stammformen in eine eigene Tabelle ausgelagert werden. Dafür wird eine Stammdatentabelle benötigt:

STAMMFORM
>STAMMFORM_ID
BESCHREIBUNG
SORT_NO

Mögliche Tupel für das Lateinische wären: (1, 'Gen. Sg.', 1), (2, 'Geschlecht', 2), (3, 'Konjugation', 1), (4, 'Infinitiv', 2). Die SORT_NO gibt dabei an, in welcher Reihenfolge die Formen dargeboten werden sollen.

VOKABEL_STAMMFORM
>VOKABEL_ID
>STAMMFORM_ID
FORM

Mögliche Tupel sind ({mons}, 1, 'montis'), ({mons}, 2, 'm'), ({laudo}, 3, '1'), ({laudo}, 4, 'laudare'). Die Darbietung im Programm sieht dann etwa so aus: mons: montis, m, laudo: 1, laudare.

Auch die Rektion kann, soweit sie für alle Bedeutungen gilt, als eine Stammform aufgefaßt werden. Wir brauchen dazu ein weiteres Tupel in der Stammformentabelle (15, 'Rektion', 99). Das Vokabel persuadeo hat dann die Tupel ({persuadeo}, 3, '2'), ({persuadeo}, 4, 'persuadere') usw. und endlich ({persuadeo}, 15, '+Dat.'). In der Bedeutungstabelle dagegen (({persuadeo}, 'überreden', 'AcI'), ({persuadeo}, 'überzeugen', 'ut/ne').

Multimedia

Moderne Computersysteme bieten die Möglichkeit, korrekte Aussprache nicht nur durch Lautschrift, sondern auch durch Audiodateien darzubieten, antike Gegenstände durch Abbildungen von Exponaten oder Rekonstruktionszeichnungen zu illustrieren u.ä.m. Technisch kann man dies durch ein BLOB oder eine Referenz auf eine externe Datei realisieren. Da zu einem Vokabel mehrere multimediale Darbietungen gehören können, braucht man eine eigene Tabelle:

VOKABEL_MEDIA
>VOKABEL_ID
KURZBESCHREIBUNG
INHALT

Die KURZBESCHREIBUNG enthält einen kurzen beschreibenden Text zur Anzeige, der INHALT die eigentlichen Daten.

Sachgruppen

Das Lernen von Vokabeln nach sachlichen Kategorien ist heute in der Sprachdidaktik ein durchgängiges Prinzip. Vokabel sollen Sachgruppen zugeordnet werden können, um so ein Lernen von Sachgruppen zu ermöglichen. Es gibt Wortschätze mit einer hierarchischen Anordnung von Sachgruppen und solcher mit einer flachen Anordnung.

Hierarchisch ist z.B. Langenscheidts Grundwortschatz Latein:

  1. Der Mensch als Individuum
    1. Körperliche Existenz
      1. Körper
      2. Geschlecht und Aussehen
      3. ...
    2. Geist und Wesensart
      1. Aspekte des Geistigen
      2. Sinneswahrnehmung und Erkenntnis
      3. ...
    3. ...
  2. Der Mensch als soziales Wesen
  3. ...

Flach ist z.B. Grundwortschatz Latein nach Sachgruppen, Klett-Verlag:

  1. Der menschliche Geist
  2. Der menschliche Körper
  3. Grundbedürfnisse des Menschen
  4. Wahrnehmen
  5. Erfahren, Erkennen
  6. Räumliche Begriffe
  7. ...

Für welche Vorgangsweise man sich entscheidet, ist vermutlich eine Geschmacksfrage. Für hierarchische Daten benötigt man zu jedem Datensatz eine PARENT_ID.

SACHGRUPPE
>SACHGRUPPE_ID
SACHGRUPPE_PARENTID
BESCHREIBUNG

Ein Wort kann auf Grund seiner Bedeutungsbreite mehreren Sachgruppen angehören. Lat. colere etwa gehört in der Bedeutung "bebauen" (agros colere, daher agricultura) in den Bereich Landwirtschaft, in der Bedeutung "verehren" (deos colere) in den Bereich Religion. Die Sachgruppe ist somit eine Funktion der Bedeutung. Theoretisch kann eine Bedeutung auch mehreren Sachgruppen zugeordnet werden, doch in der Praxis wird das kaum so gemacht.

VOKABEL_BEDEUTUNG
>VOKABEL_ID
...
SACHGRUPPE_ID

Aus der Sachgruppenzuordnung ergibt sich die Gliederung der Bedeutungen in Bedeutungsgruppen, die in Lernwortschätzen oft durch Strichpunkt ausgedrückt wird (z.B. opinio "Meinung; guter Ruf"). Bedeutungen derselben Sachgruppe können durch Beistrich, solche unterschiedlicher Sachgruppen durch Bindestrich getrennt werden: ({comprehendo}, 'begreifen', {Wahrnehmung und Erkenntnis}), ({comprehendo}, 'ergreifen', {Geben und Nehmen}) und ({comprehendo}, 'festnehmen', {Geben und Nehmen}) läßt sich so darstellen: comprehendo: begreifen; ergreifen, festnehmen.

Wortarten

Soll eine Darbietung der Vokabel nach Wortarten möglich sein, braucht man zunächst eine Wortartentabelle:

WORTART
>WORTART_ID
BESCHREIBUNG

Darüberhinaus ist folgendes zu bedenken: Will man erzwingen, daß pro Wortart ein Vokabeldatensatz angelegt werden muß, also z.B. ({measure}, 'Maß'), ({measure}, 'messen'), dann muß die Wortart ein Attribut der Vokabeltabelle werden:

VOKABEL
>VOKABEL_ID
...
WORTART_ID

Will man der Vorgehensweise der Wörterbücher folgen, dann kann man entweder Vokabel, die unterschiedliche Wortart, aber gleiche Wortwurzel haben, über die Wortwurzelbeziehung zusammenführen; oder man legt eine Cross-Reference-Tabelle an:

VOKABEL_WORTART
>VOKABEL_ID
>WORTART_ID

Wortwurzel

Manchmal ist auch die Darbietung von Vokabeln nach Wortwurzeln (sog. Wortfamilien) nützlich, für das Lernen semitischer Sprachen (Hebräisch, Arabisch) ist es sogar unerläßlich. Wir benötigen eine Wortwurzeltabelle.

WORTWURZEL
>WURZEL_ID
WURZEL

Da es in vielen Sprachen zusammengesetzten Wörter gibt, deren Bestandteile zu unterschiedlichen Wurzeln gehören (z.B. lat. iudex von ius und dico), kann man die WURZEL_ID nicht zu einem Attribut der Vokabeltabelle machen, sondern man braucht eine Cross-Reference-Tabelle):

VOKABEL_WURZEL
>VOKABEL_ID
>WURZEL_ID

Redewendungen

Redewendungen müssen wie Vokabel gelernt werden. Doch wie gehen wir in der Datenbank vor? Iuxtapositionen wie agricultura (eigentlich Gen. von ager + cultura = des Ackers Bebauung) oder res publica (wörtlich: öffentliche Sache = Staat) werden naheliegenderweise als eigene Vokabel dargeboten werden. Schwieriger liegt der Fall schon bei Doppelungen wie griech. kai - kai, lat. neque - neque, modo - modo, engl. as - as. Der nächste Schritt sind korrelative Wendungen wie lat. quo - eo, tantum - quantum, engl. neither - nor. Und schließlich sind die vielen Redewendungen, die aus Wörten unterschiedlicher Wortart (im Lateinischen häfig Verbum + Substantiv) bestehen, wie lat. bellum ducere (nicht: Krieg führen, sondern: den Krieg in die Länge ziehen), crimini dare (zum Vorwurf machen). Oft wünscht man sich solche Redewendungen nur zum besseren Behalten der Vokabel, obwohl sich der Sinn der Wendung aus der Bedeutung der Vokabel zwanglos ergibt, z.B. lat. hieme ineunte, paulo post oder ähnlich. Dies haben manche Wortschätze zum Prinzip erhoben und bieten für jedes Vokabel einen Beispielsatz.

Man kann Redewendungen als eigene Vokabel führen. Bei crimini dare wäre dann die Frage nach der Wortart zu klären. Am besten wäre es wohl, eine eigene Wortart "Redewendung" einzuführen. Sinnvollerweise wird man diese Vorgangsweise nur bei Iuxtaposita und korrelativen Wendungen anwenden.

Für alle anderen Redewendungen ist wohl eine eigene Tabelle samt einer Cross-Reference-Tabelle das Mittel der Wahl:

REDEWENDUNG
>REDEWENDUNG_ID
WENDUNG
BEDEUTUNG
VOKABEL_REDEWENDUNG
>VOKABEL_ID
>REDEWENDUNG_ID

Synonyme, Antonyme

Gelegentlich erleichtert es das Behalten, wenn zu einem Vokabel auch Wörter ähnlicher oder gegenteiliger Bedeutung (Synonyme, Antonyme) bzw. Wörter, mit denen ein Vokabel u.U. verwechselt werden kann, dargeboten werden.

Im Prinzip werden hier zwei Vokabel zueinander in Beziehung gesetzt. Eine Tabelle mit den mögliche Beziehungen und eine Cross-Reference-Tabelle, die die Vokabelbeziehungen darstellt, wäre eine Möglichkeit:

BEZIEHUNG
>BEZIEHUNG_ID
BESCHREIBUNG
SYMBOL

Mögliche Tupel für diese Tabelle sind (1, 'Synonym', '~'), (2, 'Antonym', '<->'), (3, 'Verwechslungsgefahr', '!').

VOKABEL_BEZIEHUNG
>VOKABEL1_ID
>VOKABEL2_ID
>BEZIEHUNG_ID

Um Verdoppelungen wie (pax, bellum, 2) vs. (bellum, pax, 2) zu vermeiden, ist eine geeignete Maßnahme (Trigger?) vorzusehen.

Merkhilfen

Sehr häufig bieten Wortschätze Lernhilfen in Form von stammverwandten deutschen, englischen oder französischen Wörtern, z.B. dubito - engl. doubt, populus - dt. Pöbel - engl. people usw.

Der Einfachheit halber kann man für solche Angaben eine eigenes Attribut in der Vokabeltabelle vorsehen. Wenn die entsprechenden Vokabeln aber ohnehin vorhanden sind (Englischvokabel, Französischvokabel), kann man die Beziehung auch über obige Vokabelbeziehungentabelle herstellen. Die Tabelle BEZIEHUNGEN muß dann um ein Tupel (4, 'Stammverwandtschaft', '=>') erweitert werden.

Soll es möglich sein, auch die vorhandenen Stammverwandtschaften nach Sprachen geordnet aufzulisten, brauchen wir eine eigene Tabelle:

VOKABEL_STAMMVERWANDTSCHAFT
>VOKABEL_ID
>SPRACHE_ID
GRUNDFORM
BEDEUTUNG

Erklärungen

Grammatikalische und sachliche Erklärungen zu einzelnen Vokabeln (z.B. unterschiedliche Verwendungsweisen von contendo), einer Wortgruppe (z.B. Unterschied zwischen res publica - civitas - populus oder die Rektion der verba dicendi) oder einem Sachgebiet (z.B. die Struktur des römischen Heeres) wird man am einfachsten den betroffenen Vokabeln zuordnen:

VOKABEL_ERKLAERUNG
>VOKABEL_ID
ERKLAERUNG

Erklärungen, die ein Sachgebiet betreffen, könnte man in einer eigenen Tabelle darbieten:

SACHGRUPPE_ERKLAERUNG
>SACHGRUPPE_ID
ERKLAERUNG

Lektürerelevanz

Ein Problem, das sich vor allem in den Fächern Latein und Altgriechisch stellt, ist das der Lektürerelevanz. Vor einer Übersetzungsarbeit an Ovid soll es möglich sein, das Lernen auf Vokabel einzuschränken, die bei Ovid mit einer bestimmten Mindesthäufigkeit vorkommen.

Klarerweise ist zunächst eine Tabelle der gewünschten Autoren zu erstellen:

AUTOR
>AUTOR_ID
NAME

Die Beziehung Vokabel - Autor, für den das Vokabel wichtig ist, wird über eine Cross-Reference-Tabelle hergestellt, die auch noch eine prozentuelle Häufigkeitsangabe enthalten kann:

VOKABEL_AUTOR
>VOKABEL_ID
>AUTOR_ID
HAEUFIGKEIT

Eine andere Vorgehensweise legt sich durch die Lateinische Wortkunde von Rüdiger Vischer nahe: ein Bitfeld als Attribut in der Vokabeltabelle. Die AUTOR_ID muß dann eine Potenz von zwei sein. Die Id eines Autors, für den ein Vokabel mit einer vorher festzulegenden Häufigkeit relevant ist wird einfach zu diesem Bitfeld hinzuaddiert. Angenommen, die Autorentabelle enthält u.a. die Tupel (4, 'Caesar'), (8, 'Sallust'), (16, 'Livius'), (32, 'Tacitus'), dann muß bei einem Vokabel, das für alle diese vier Autoren wichtig ist, 4+8+16+32 = 60 eingetragen werden, binär ist das: 111100. Der Nachteil dieses Verfahrens, ist, daß keine prozentuelle Häufigkeit angegeben werden kann, sondern nur die (u.U. problematische Entscheidung) wichtig vs. nicht wichtig möglich ist. Außerdem wird dieses Datenfeld für lebende Fremdsprachen nicht gebraucht.

Dubletten

Ein leidiges Problem bei Daten, die mit künstlichen numerischen Schlüsseln arbeiten, sind Dubletten. (3456, 'bellum', 'Krieg') und (8765, 'bellum', 'Krieg') bezeichnen dasselbe Vokabel. Die Grundform zu einem unique key zu machen, ist nicht möglich (s.o.). Die Datenbank selbst kann also Dubletten nicht verhindern. Vielmehr muß die Clientanwendung, mit der die Vokabel erfaßt werden, eine gleichlautende Grundform finden und den Benutzer fragen, ob dies nicht bereits das Vokabel ist, das einzugeben er gerade im Begriff ist.

Datenmodell Zusammenfassung

Hier ein zusammenfassender Vorschlag für das Datenmodell.

SPRACHE
>SPRACHE_ID
BESCHREIBUNG
WORTART
>WORTART_ID
BESCHREIBUNG
VOKABEL
>VOKABEL_ID
SPRACHE_ID
WORTART_ID
LEMMA
VOKABEL_STAMMVERWANDTSCHAFT
>VOKABEL_ID
>SPRACHE_ID
GRUNDFORM
BEDEUTUNG
STAMMFORM
>STAMMFORM_ID
BESCHREIBUNG
SORT_NO
VOKABEL_STAMMFORM
>VOKABEL_ID
>STAMMFORM_ID
FORM
SACHGRUPPE
>SACHGRUPPE_ID
SACHGRUPPE_PARENTID
BESCHREIBUNG
VOKABEL_BEDEUTUNG
>VOKABEL_ID
>BEDEUTUNG
KONSTRUKTION
SACHGRUPPE_ID
WORTWURZEL
>WURZEL_ID
WURZEL
VOKABEL_WURZEL
>VOKABEL_ID
>WURZEL_ID
BEZIEHUNG
>BEZIEHUNG_ID
BESCHREIBUNG
SYMBOL
VOKABEL_BEZIEHUNG
>VOKABEL1_ID
>VOKABEL2_ID
>BEZIEHUNG_ID
AUTOR
>AUTOR_ID
NAME
VOKABEL_AUTOR
>VOKABEL_ID
>AUTOR_ID
HAEUFIGKEIT
REDEWENDUNG
>REDEWENDUNG_ID
WENDUNG
BEDEUTUNG
VOKABEL_REDEWENDUNG
>VOKABEL_ID
>REDEWENDUNG_ID

Protokollierung des Lernerfolgs

Der Lernerfolg sollte in geeigneter Weise in der Datenbank protokolliert werden. Dazu wird eine Tabelle, die die Lernenden (ab jetzt Studenten genannt) enthält, benötigt:

STUDENT
>STUDENT_ID
SPITZNAME
E_MAIL_ADRESSE

Zur Protokollierung wird eine von Sebastian Leitner (So lernt man lernen) dargestellte Methode verwendet. Jedes Vokabel enthält ein Statusfeld, das jedesmal, wenn der Student das Vokabel gewußt hat, inkrementiert wird, wenn er es nicht gewußt hat, wieder auf 0 gesetzt wird. Vokabel werden solange immer wieder dargeboten, bis das Statusfeld einen bestimmten Wert (z.B. 5) erreicht hat.

LERNERFOLG
>STUDENT_ID
>VOKABEL_ID
STATUS

Wie kann festgestellt werden, ob ein Student ein Vokabel gewußt hat oder nicht? Der einzige vernünftige Weg, den ich sehe, ist, daß das der Student selbst beurteilen soll.


Autor: Michael Neuhold (E-Mail-Kontakt)
Letzte Aktualisierung: 24. März 2017