Autor: André Minhorst, Duisburg
Vokabeln in einer Datenbank speichern Wo es doch so viele Vokabelprogramme und -trainer auf dem Markt gibt Doch, das hat durchaus einen Sinn. Denn wer bereits einmal eine Datenbank mit Access erstellt hat, ist mit der Flexibilität einer solchen Datenbank vertraut. Und eine Vokabeldatenbank, mit der man auf die Schnelle mal einige Fachbegriffe übersetzen kann, wird auf Grund der Globalisierung in vielen Branchen immer häufiger benötigt. Dem soll die vorliegende Musterlösung Rechnung tragen: Sie ermöglicht die Eingabe von Vokabeln unter der Angabe beliebiger Kategorien und – was besonders interessant ist – in beliebig vielen Sprachen. Neben der schnellen Abfrage der einen oder anderen Vokabel können Sie auch eine Liste bestimmter Vokabeln per Bericht ausdrucken.
Der Softwaremarkt beherbergt eine Riesenmenge von Programmen, die zum Lernen von Vokabeln einer Fremdsprache dienen. Die Programme erfüllen die unterschiedlichsten Anforderungen und haben dementsprechende Preise – von der kostenlosen Freeware bis zur teuren Profianwendung ist hier alles zu finden.
Unterschiedliche Anforderungen
Die Anforderungen an ein Vokabelprogramm unterscheiden sich von Anwender zu Anwender. Der eine gibt sich mit einem Programm mit dem Standardwortschatz einer Sprache zufrieden, die er per Eingabe des gesuchten Wortes abfragen kann, der andere sucht eine Anwendung, mit der er interaktiv eine neue Sprache lernen kann.
Dabei kann durchaus die Möglichkeit der Eingabe neuer Wörter gefordert sein. Die formatierte Ausgabe in Listenform auf Papier ist hingegen eher selten anzutreffen – ein Grund mehr, um sich eine eigene Vokabeldatenbank zu basteln.
Darüber hinaus bieten nur wenige Vokabelprogramme die Möglichkeit, Vokabeln einmal anzulegen und direkt in mehrere Sprachen zu übersetzen.
Eigenschaften der Musterlösung
In der hier vorgestellten Musterlösung lernen Sie, wie Sie eine an Ihre Bedürfnisse angepasste Vokabeldatenbank erstellen können. Die Datenbank soll die folgenden Möglichkeiten bieten:
Bild 1: Improvisierte Verwaltung von Vokabeln mit Excel
Hinweis
In einer der folgenden Ausgaben des Update-Heftes soll die Lösung um eine Funktion zum Lernen von Vokabeln und der Ermittlung des dabei erzielten Lernfortschritts erweitert werden. Aus Platzgründen kann diese Erweiterung nicht mehr im vorliegenden Heft untergebracht werden. Auch die Beschreibung der Erstellung eines Formulars zur komfortablen Eingabe von Wörtern in der Lautschrift folgt im zweiten Teil dieses Beitrags.
Auf das Datenmodell ist aufgrund der Anforderung, Wörter in mehrere Sprachen übersetzen zu können, besonderes Augenmerk zu legen. Es passiert nämlich sonst schnell, dass man eine unübersichtliche und schnell wachsende Menge an Tabellen erhält.
Vokabeln mit anderen Office-Programmen verwalten
Um mal eben eine kleine Zusammenstellung wichtiger Vokabeln zu erstellen, können Sie beispielsweise die Textverarbeitung oder die Tabellenkalkulation Ihres Office-Paketes verwenden. Wenn Sie die Tabellenkalkulation verwenden, können Sie die Vokabelliste wenigstens nach dem Alphabet sortieren.
Sinnvoll ist diese Vorgehensweise nicht, denn ab einer bestimmten Menge Vokabeln verliert man erstens die übersicht und zweitens fehlt die Möglichkeit, die Vokabeln andersherum darzustellen – also z. B. Englisch-Deutsch anstatt Deutsch-Englisch. Das funktioniert zumindest dann nicht, wenn Sie beispielsweise einem deutschen Wort mehrere englische Bedeutungen zugeordnet haben. In dem Fall müssen Sie zunächst für jedes englische Wort eine neue Zeile erstellen und dann jeweils die deutsche Bedeutung einsetzen. Und dann haben Sie auch noch – wie in Bild 1 – einige englische Bedeutungen, die doppelt vorkommen und die Sie dementsprechend wieder streichen müssen.
Die Vorgehensweise birgt erstens jede Menge Arbeit und zweitens redundante Daten in sich, denen sich früher oder später die eine oder andere Inkonsistenz hinzugesellt.
Vokabeln mit Access verwalten
Da Sie allerdings mit Microsoft Access über ein relationales Datenbankmanagementsystem verfügen, sollen Sie dessen Fähigkeiten auch zur Verwaltung Ihrer Daten einsetzen.
Wie Sie bereits gesehen haben, können Sie manchen deutschen Wörtern mehrere englische Bedeutungen zuordnen und umgekehrt. Das schreit geradezu nach einer m:n-Verknüpfung.
Der falsche Weg …
Normalerweise würden Sie eine solche Verknüpfung wie in Bild 2 realisieren.
Das geht aber leider nur so lange gut, bis Sie noch eine dritte Sprache hinzufügen möchten. Dann müssen Sie noch eine weitere Tabelle mit den Wörtern der dritten Sprache und zwei weitere Tabellen zur Verknüpfung der Wörter der ersten mit der dritten und der zweiten mit der dritten Sprache erstellen. Dementsprechend kommen bei der vierten Sprache vier weitere und bei der fünften Sprache fünf weitere Tabellen hinzu, wenn Sie die Wörter der jeweiligen Sprachen einander zuordnen möchten.
Das ist sehr umständlich und unübersichtlich und nimmt dem Anwender außerdem die Möglichkeit, eigenständig weitere Sprachen hinzuzufügen – oder soll er etwa im Datenmodell der fertigen Anwendung herumdoktern
… und der bessere Weg
Die Lösung ist die Erstellung einer einzigen Tabelle für die Wörter aller Sprachen. Damit Sie die Wörter der einzelnen Sprachen auseinanderhalten können, enthält die Tabelle ein zusätzliches Feld mit der entsprechenden Sprache.
Doch wie sollen Sie nun die relationale Verknüpfung realisieren, wenn es nur eine Tabelle gibt Ganz einfach: Sie verknüpfen die Tabelle mit den Wörtern über die Verknüpfungstabelle einfach mit sich selbst. Auf diese Weise können Sie jedes Wort der Wörtertabelle mit jedem anderen Wort kombinieren. Natürlich legen Sie später einige Restriktionen fest – z. B., um die Zuordnung von einem Wort zu sich selbst oder zu einem weiteren Wort der gleichen Sprache zu verhindern.
Tabellen derVokabeldatenbank
Das Datenmodell der Datenbank sieht auf den ersten Blick recht wüst aus (siehe Bild 3).
Wichtig sind aber zunächst nur zwei Tabellen: die Tabelle tblWoerter und die Tabelle tblUebersetzungen. Die Tabelle tblWoerter_1 ist lediglich eine Kopie der Tabelle tblWoerter, mit der die zweifache Verknüpfung der Tabellen tblWoerter und tblUebersetzungen verdeutlicht werden soll.
Die Funktion aller weiteren Tabellen verdeutlicht ein Blick auf die Tabelle tblWoerter und die mit ihr verknüpften Tabellen.
Tabelle zur Speicherung der Wörter
Die Vokabeldatenbank soll nicht nur die Bedeutungen der Wörter, sondern auch noch einige weitere Informationen beinhalten. Dabei handelt es sich um die Sprache, die Wortart sowie unterschiedliche Kategorien und Kontexte.
Einige der Informationen befinden sich direkt in der Tabelle tblWoerter, während andere über Verknüpfungsfelder ausgewählt werden können.
Das Feld WortNr bildet den Primärindex der Tabelle. über das Feld SpracheNr wählen Sie die Sprache aus der Tabelle tblSprachen aus, zu der das Wort gehört.
Im Feld Wort geben Sie das Wort selbst ein. über das Feld WortartNr können Sie eine Wortart auswählen – also beispielsweise Nomen oder Verb. Das Feld Aussprache ist für Bastler vorgesehen: Mit einer speziellen Schriftart können Sie die so genannte Lautschrift darstellen, mit der – international genormt – die Aussprache unterschiedlicher Wörter vereinheitlicht dargestellt wird. Dazu ist jedoch ein spezieller Zeichensatz (einer Schriftart mit allen Lautschrifteichen) erforderlich. Die Eingabe von Text in der Lautschrift ist aber nicht gerade komfortabel.
Hinweis
Die Erstellung eines eigenen Formulars zur Eingabe von Begriffen in Lautschrift wird im zweiten Teil dieses Beitrags in einer der folgenden Ausgaben erläutert.
Im Feld Weiteres können Sie je nach Wunsch weitere Informationen oder Beispiele zu einem Wort angeben.
Tabelle zur Definition einer übersetzung
Von einer übersetzung kann man erst sprechen, wenn man zwei Wörter verschiedener Sprachen einander zuordnet. Diese Aufgabe übernimmt die Tabelle tblUebersetzungen. Sie enthält zwei Felder – ErsteSprache und ZweiteSprache. Beide Felder sind mit dem Primärindexfeld WortNr der Tabelle tblWoerter verknüpft.
Falls Sie sich fragen, wie Sie die Auswahl zweier Wörter der gleichen Sprache verhindern können, finden Sie die Antwort weiter hinten in der Beschreibung der Formulare der Datenbank.
Kontexte zu den unterschiedlichen Wörtern
Die Datenbank soll die Möglichkeit bieten, zu jedem Wort beliebig viele Kontexte zu speichern. Der Kontext soll zur Veranschaulichung der Bedeutung und des Einsatzes des Wortes in der jeweiligen Sprache dienen und erfüllt außerdem eine Aufgabe beim Abfragen gelernter Vokabeln.
Die Tabelle enthält drei Felder: das Primärindexfeld KontextNr, das Feld WortNr, über das der dazugehörende Eintrag der Tabelle tblWoerter ausgewählt werden kann sowie das Memo-Feld Kontext, in das Sie Beispielsätze für die jeweiligen Wörter eingeben können.
Kategorien der Wörter
Sowohl für die Erstellung von Vokabellisten als auch bei der Abfrage von Vokabeln ist es manchmal nützlich, die Vokabeln in unterschiedliche Kategorien einzuteilen.
Dabei soll man jedes Wort beliebig vielen Kategorien zuordnen können. Also benötigen Sie wiederum eine m:n-Beziehung, die sich diesmal allerdings auf herkömmliche Weise auf zwei unterschiedliche Tabellen bezieht.
Die Tabelle tblKategorien enthält lediglich ein Primärindexfeld sowie die Bezeichnung der Kategorie.
Hinweis
Legen Sie in der Tabelle tblKategorien auf jeden Fall einen Datensatz mit dem Wert Alle an. Sie benötigen ihn später, wenn Sie in einer Vokabelliste einmal alle Vokabeln ausdrucken möchten und nicht nur die Vokabeln einer bestimmten Kategorie.
Die Tabelle tblWoerterKategorien stellt die Beziehung zwischen den beiden Tabellen tblWoerter und tblKategorien her, indem Sie jeweils ein Feld mit einer Verknüpfung auf die Primärindexfelder der beiden Tabellen enthält. Mit Hilfe dieser Tabelle können Sie jedem Wort beliebig vielen Kategorien zuordnen.
Tabelle der Sprachen
In der Tabelle tblSprachen können Sie die Bezeichnungen der gewünschten Sprachen unterbringen. Sie besteht aus den beiden Feldern SpracheNr und Sprache.
Tabelle der Wortarten
Die Tabelle tblWortarten enthält die Wortarten, die in den unterschiedlichen Sprachen vorkommen. Sie besteht aus dem Primärindexfeld Wort- artNr und dem Feld Wortart.
Automatisches Löschen verknüpfter Daten
Zu jedem Wort, welches Sie der Tabelle tblWoerter hinzufügen, geben Sie einige weitere Informationen an. Diese Informationen befinden sich in Tabellen, die mit der Tabelle tblWoerter verknüpft sind. Theoretisch kann es vorkommen, dass Sie ein Wort aus der Tabelle tblWoerter löschen möchten. Damit gleichzeitig automatisch die Daten der anderen Tabellen, die sich auf das gelöschte Wort beziehen, gelöscht werden, tun Sie Folgendes:
Bild 4: Aktivierung der Löschweitergabe
Führen Sie die gleiche Prozedur mit allen Detailtabellen der Tabelle tblWoerter durch, also zusätzlich mit den Tabellen tblWoerterKategorien und tblUebersetzungen.
Die Vokabeldatenbank mit allen Funktionen, die im Rahmen des vorliegenden Beitrags vorgestellt werden, besteht aus den folgenden Formularen:
Das übersichtsformular
Das übersichtsformular ist wahrscheinlich das einfachste Formular der Vokabeldatenbank. Es enthält lediglich einige Schaltflächen zur Anzeige der übrigen Formulare und zum Beenden der Datenbank (siehe Bild 5).
Daher entnehmen Sie bitte den Aufbau des Formulars sowie der Ereignisprozeduren der Formulare der auf der Heft-CD befindlichen Beispieldatenbank.
Bild 5: Das Hauptmenü der Vokabeldatenbank
Das Formular zur Eingabe vonVokabeln
Das Formular frmVokabeleingabe dient zur Eingabe von neuen Vokabeln und deren Eigenschaften. Das Grundgerüst des Formulars erstellen Sie folgendermaßen:
Neben den Informationen, die durch die soeben erstellten Felder angezeigt werden, soll das Formular noch die Möglichkeit bieten, Kategorien auszuwählen und Kontexte zu den Wörtern einzugeben. Dazu benötigen Sie zwei Unterformulare, die in den folgenden Abschnitten beschrieben werden.
Unterformular zur Eingabe von Kontexten
Zur Erstellung des Unterformulars zur Eingabe von Kontexten (siehe Bild 6) gehen Sie folgendermaßen vor:
Fertig! Sie können das Formular nun vorerst schließen und sich dem nächsten Unterformular zuwenden.
Unterformular zur Auswahl von Kategorien
Das Unterformular frmKategorien soll zur Auswahl einer oder mehrerer Kategorien eines Wortes dienen. Seine Erstellung verläuft identisch mit der des Formulars frmKontexte. Der einzige Unterschied besteht in der Datenherkunft des Formulars. Hier müssen Sie eine neue Abfrage erstellen, die aus den Tabellen tblWoerterKategorien und tblKategorien besteht:
Nachdem Sie die Abfrage geschlossen haben, können Sie das Feld KategorieNr aus der Feldliste in den Detailbereich des Formulars ziehen.
Anpassen des Kombinationsfeldes zur Auswahl von Kategorien
Damit das auf diese Weise erstellte Kombinationsfeld auch die Kategorien und nicht nur die Nummern der Kategorie anzeigt, müssen Sie noch die Eigenschaften des Kombinationsfeldes anpassen.
ändern Sie zunächst die Eigenschaft Datensatzherkunft auf den folgenden Wert ab:
SELECT [KategorieNr], [Kategorie] FROM tblKategorien WHERE [Kategorie])<>"Alle";
Wie weiter oben beschrieben, enthält die Tabelle tblKategorien auf jeden Fall einen Eintrag: Alle. Er soll später bei der Auswahl der zu druckenden Vokabeln die Möglichkeit bieten, nicht nur Vokabeln einer bestimmten Kategorie, sondern alternativ alle Vokabeln auszuwählen. Der Wert Alle soll aber keinem Wort als Kategorie zugeordnet werden und wird mit dem angegebenen Ausdruck aus der Datenherkunft ausgeschlossen.
Stellen Sie anschließend die Eigenschaft Spaltenanzahl auf den Wert 2 und die Eigenschaft Spaltenbreite auf den Wert 0cm;3cm ein. Nachdem Sie als Standardansicht den Wert Datenblatt ausgewählt haben, können Sie das Formular speichern und schließen.
Einfügen der Unterformulare in dasHauptformular
Der schnellste Weg, um ein Unterformular in ein Hauptformular zu integrieren, ist der folgende:
Sie sollten nun noch ein wenig Mühe in die optische Gestaltung des Formulars und seiner Unterformulare investieren. Wie das Ergebnis aussehen könnte, zeigt Abb. 8.
Legen Sie außerdem noch zwei Schaltflächen mit den Beschriftungen Vokabel übernehmen und Abbrechen an. Die dazugehörenden Ereignisprozeduren werden später vorgestellt, da ihre Funktion entscheidend davon abhängt, auf welche Weise das Formular vom Formular zur Verwaltung der Vokabeln aufgerufen wurde.
Bild 8: Das Formular zur Eingabe und Bearbeitung von Vokabeln
Das Formular zur Verwaltung der Vokabeln
Die Erstellung des Formulars frmVokabelverwaltung ist relativ umfangreich. Damit Sie einen überblick über die bevorstehenden Aufgaben erhalten, finden Sie in Bild 9 zunächst einmal das fertige Formular mit allen noch anzulegenden Steuerelementen.
Funktionen des Formulars frmVokabelverwaltung
Die beiden Kombinationsfelder cmbErsteSprache und cmbZweiteSprache dienen zur Auswahl der Sprachen, zu deren Umfang das gewünschte Wort und seine übersetzung gehören.
Das linke Listenfeld zeigt alle vorhandenen Wörter in der ersten Sprache an. Wenn eines der Wörter angeklickt ist, soll das obere rechte Listenfeld alle vorhanden übersetzungen des ausgewählten Wortes in der gewünschten Sprache anzeigen. Das Listenfeld darunter zeigt alle übrigen Wörter der zweiten Sprache an.
Durch Betätigen der Schaltfläche mit der Beschriftung Neues Wort eingeben können Sie das Formular frmVokabeleingabe zur Eingabe eines neuen Wortes in der ersten Sprache öffnen.
Die daneben liegende Schaltfläche dient zum Löschen des markierten Wortes aus der Tabelle tblWoerter.
Die Schaltfläche Neues Wort eingeben öffnet das Formular frmVokabeleingabe zur Eingabe einer neuen Bedeutung des im linken Listenfeld ausgewählten Wortes.
Die daneben liegende Schaltfläche mit der Beschriftung Bedeutung löschen dient nicht zum Löschen des im rechten Listenfeldes markierten Wortes, es löscht lediglich die Verknüpfung der beiden Wörter über den Eintrag in die Tabelle tblUebersetzungen.
Mit einem Doppelklick auf ein Wort im linken oder im oberen rechten Listenfeld können Sie das Formular frmVokabeleingabe zum Bearbeiten des gewünschten Wortes öffnen.
Ein Doppelklick auf eines der Wörter im unteren linken Listenfeld fügt das gewünschte Wort den übersetzungen im oberen linken Listenfeld hinzu.
Anlegen der Steuerelemente des Formulars
Nach der Kurzbeschreibung der Funktionen des Formulars wenden Sie sich nun seiner Erstellung zu. Sie können zunächst einmal einem neuen Formular die benötigten Steuerelemente hinzufügen. Einige Eigenschaften der Steuerelemente finden Sie in Tab. 1.
Beschriftung / Funktion |
Name |
Kombinationsfeld zur Auswahl der ersten Sprache |
cmbErsteSprache |
Kombinationsfeld zur Auswahl der zweiten Sprache |
cmbZweiteSprache Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ... den kompletten Artikel im PDF-Format mit Beispieldatenbank diesen und alle anderen Artikel mit dem Jahresabo |