php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.07.2011, 18:36  
Neuer Benutzer
 
Registriert seit: 24.07.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
arzinger ist zur Zeit noch ein unbeschriebenes Blatt
Standard Hilfe beim Ansatz zur Erstellung eines Wörterbuches

Hallo,

da es für das Datenbanken-Forum keine Einsteiger-Kategorie gibt, dachte ich, ich versuche mal hier mein Glück. Folgendes ist mein Anliegen:

Ich möchte auf Basis einer mySQL-Datenbank (mit hilfe von PHP) ein Chinesisch-Deutsches Wörterbuch (eigentlich für Sprichwörter, der Einfachheit halber hier jetzt für Wörter) programmieren. Nun stellt sich mir das Problem, dass es zu jedem Wort sowohl im Deutschen als auch im Chinesischen mehrere Äquivalente gibt (siehe: http://dict.leo.org/?lp=chde&search=%E6%89%93%E5%BC%80+).

Meine Idee wäre, drei Tabellen anzulegen. Eine für die chinesischen Wörter, eine für die deutschen und dann eine Tabelle, in der die IDs der gegenübergestellt werden, in etwa so:

Chinesisch:

id Wort

1 打开
2 倒车
3 收拾

Deutsch:

id Wort

1 aufmachen
2 aufräumen
3 umsteigen
4 sauber machen
5 anschalten
6 Fahrzeug wechseln


ChDe:

id_ch id_de

1 1
1 5
2 3
2 6
3 2
3 4

Allerdings stellt sich mir nun folgende Frage:

1. Wie trage ich die Wörter in die Datenbank ein? Eigentlich wollte ich das über ein stinknormales Formular machen, allerdings gestaltet sich der Eintrag der ids in die dritte Tabelle relativ schwierig. Muss das dann alles manuell geschehen?

Vielleicht hat ja jemand schon einmal soetwas gemacht und kann mir ein, zwei kurze Ratschläge geben. Ich hoffe, ich hab mein Problem klar geschildert. Vielen lieben Dank, Micha.
arzinger ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.07.2011, 18:48  
Neuer Benutzer
 
Registriert seit: 08.11.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
MeckiDerIgel befindet sich auf einem aufstrebenden Ast
Standard

Also wenn ich das richtig verstehe ist dein Problem kein programmiertechnisches sondern ein organisatorisches (Wie kann der User ein Wort eintragen und mit mehreren anderen verknüpfen?)

Meine Idee wäre, dass du ein etwas komplexeres Formular baust: Das Formular besteht dann aus einer Suchzeile und einem Teil um neue Worte hinzuzufügen. Bsp:
1. Der User will ein neues chinesisches Wort eintragen. Das ist vielleicht aber schon in der DB vorhanden. In der Suchzeile kann er dann also nach dem Wort suchen (evtl. mit Radio-Buttons daneben, ob er ein chinesisches oder ein Deutsches Wort sucht). Ist das Wort noch nicht vorhanden, kann er es in dem Formular darunter eintragen. Ist es bereits vorhanden, wird es ihm als Ergebnis der Suche angezeigt.
2. Das chinesische Wort steht in der DB (entweder schon vorher oder von ihm eingetragen). Nun werden alle entsprechenden deutschen Wörter angezeigt, soweit welche vorhanden sind. Will der User nun ein neues deutsches Wort mit dem chinesischen verknüpfen, erscheint wieder ein Formular wie unter (1). D. h. er kann das deutsche Wort suchen (ist es vllt schon in der DB?), sodass es dann mit dem chinesischen verknüpft wird. Oder, das deutsche Wort ist noch nicht vorhanden und es erscheint statt einem Suchergebnis ein Formular um das deutsche Wort einzugeben, so dass es beim Absenden mit dem zuvor eingegebenen chinesischen Wort verknüpft wird.

Btw: Die DB-Struktur ist schonmal richtig so.
MeckiDerIgel ist offline   Mit Zitat antworten
Alt 25.07.2011, 01:45  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[MOD: verschoben]

Zitat:
allerdings gestaltet sich der Eintrag der ids in die dritte Tabelle relativ schwierig. Muss das dann alles manuell geschehen?
Den sehe ich total unproblematisch. Du trägst halt Wort und Übersetzung ein und die erzeugten IDs verweden zusammen in III eingetragen. Die wichtigere Frage ist: Wie erfasst Du gleiche Bedeutungen.
1. Wer gibt sie ein
2. Wie bildest Du sie ab?
3. Wie bildest Du Assoziationen ab?
a = b , b = c , aber a <> c

Chinesisch scheint mir auch ein echt schlechtes Beispiel zu sein, weil dort oft ganze Wortgruppen oder Sätze in einem Schriftzeichen abgebildet sind.

Zitat:
Btw: Die DB-Struktur ist schonmal richtig so.
Find ich nicht. Tabelle 1 und 2 sollten in eine gemeinsame Tabelle.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 25.07.2011, 15:59  
Neuer Benutzer
 
Registriert seit: 24.07.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
arzinger ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen lieben Dank für die Antworten schonmal.

²MeckiDerIgel: Die Idee mit den Verknüpfungen durch ein komplexeres Formular- und Suchsystem liest sich ganz gut, ich werde da mal ein wenig damit rumspielen.

Jetzt stellt sich allerdings noch die Frage, welche Vorteile mir die Nutzung von zwei Tabellen gegenüber dreien bringen würde. Kann mir da noch jemand ein paar Ratschläge geben? Danke.
arzinger ist offline   Mit Zitat antworten
Alt 25.07.2011, 16:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dass Du beliebig weitere Sprachen einführen kannst, ohne die DB Struktur zu ändern, dass Du den gesamten Datenbestand auf einmal ansprechen kannst (ohne JOIN)..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 26.07.2011, 23:47  
Erfahrener Benutzer
 
Registriert seit: 01.06.2011
Beiträge: 389
PHP-Kenntnisse:
Anfänger
achtelpetit befindet sich auf einem aufstrebenden Ast
Standard

Das ist ein interessantes Problem, etwas Ähnliches habe ich mal konzipiert für deutsch / englisch / französich. (Aber nur eine Sparversion für einige Tausend Fachbegriffe und nur Nomen.)
Der Ansatz mit den 3 Tabellen ist auf jeden Fall richtig, in 1 Tabelle ist das ohne Redundanzen nicht lösbar. Es gibt ja auf jeden Fall Worte, die in einer Sprache einen anderen Bedeutungsumfang haben als in der anderen. Vereinfachtes Beispiel:
Deutsch: Farbe <> Englisch: colour, paint, dye

Der Mechanismus funktioniert so:
1) Du trägst im Formular ein deutsches Wort ein
2) Das System prüft, ob dieses Wort schon in der Liste aller deutschen Worte steht
3) Wenn nein, dann wird das Wort in die Liste übernommen und dabei erhält es automatisch eine ID (Autoincrement bietet sich an)
4) Wenn ja, dann wird nach evtl. schon bestehenden Übersetzungen gesucht
5) Du trägst die chinesische Übersetzung für das Wort ein
6) Das System prüft, ob dieses Wort schon in der Liste aller chinesischen Worte steht
7) Wenn nein, dann wird das Wort in die Liste übernommen und dabei erhält es automatisch eine ID (Autoincrement bietet sich an)
8 ) Das System trägt selbsttätig die IDs des deutschen Wortes und des / der chinesichen Wort(e) in die Übersetzungstabelle ein.

Andersherum natürlich nach demselben Prinzip.
Was oben als lineare Folge beschrieben ist, wäre als Entscheidungsbaum besser dargestellt, aber das geht ja hier nicht.
Erläuterungen zu den Wortpaarungen gehören in die Übersetzungstabelle, eben weil sie sich auf die Paarung beziehen und nicht auf das Einzelwort der Einzelsprache.
Ob die Wort-IDs für den Menschen sichtbar gemacht werden, ist unerheblich, Hauptsache, das System kann die IDs lesen.
Ein guter Plan und viel Disziplin bei der Eingabe sind von entscheidender Bedeutung.
Wie gehe ich z. B. mit den Stammformen der Verben um (gehen, ging, gegangen)? Wird nur der Infinitiv aufgenommen? Wird bei Nomen nur der Singular aufgenommen?
Wenn nicht, dann brauche ich weitere Bestimmungsstücke in der DB um die Beziehung zwischen der Grundform und den abgeleiteten Formen herzustellen.

Wie sich das im Chinesischen darstellt, ob es da überhaupt Wortformen in diesem Sinne gibt, davon wirst Du bestimmt mehr wissen als ich. Ich weiß da nämlich gar nix.
Wenn Du den Wörterbuchplan weiterverfolgst, würden mich Berichte darüber sehr interessieren.
achtelpetit ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche Hilfe bei Erstellung einer gewerblichen HP Maikh Freizeit 5 17.03.2011 14:50
Brauche Hilfe bei PHP / Onlineshop dennis2k Gewerblich 0 31.01.2011 19:08
Suche private Hilfe zur Erstellung einer kleinen Webdatenbank guenter.s Sonstige 0 19.10.2010 16:16
Brauche Hilfe bei Datenbank Erstellung Smiley89 PHP Tipps 2008 1 26.03.2008 21:57
[Erledigt] Hilfe! If Tags werden Ignoriert PHP Tipps 2005 10 16.05.2005 10:16
[Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE PHP Tipps 2005 4 02.04.2005 22:38
php Neuling braucht mal schnell hilfe !! PHP Tipps 2005 5 05.03.2005 13:30
[Erledigt] Hilfe Beim Formular PHP Tipps 2005 1 06.02.2005 16:43
Bräuchte hilfe bei einem Regexp Chr!s PHP Tipps 2005 1 27.01.2005 16:39
[Erledigt] HILFE PHP Tipps 2004-2 1 16.12.2004 20:49
Hilfe!!! PHP + EXE-Dateien und Interface Beitragsarchiv 4 16.12.2004 11:50
[Erledigt] Chat Server mit Datenbank realisieren - - - Hilfe benötigt PHP Tipps 2004-2 3 14.12.2004 18:38
PHP, Frontpage -----> HILFE!!!! HTML, Usability und Barrierefreiheit 4 30.11.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php wörterbuch datenbank, php mysql datenbank nach halben wort suchen, wörterbuch programmieren mysql, php wörterbuch programmieren, erstellung des wörterbuches, leo.org ich versuche mein glück, wörterbuch mysql struktur, sucht php bei \'...\' automatisch die ganze wortgruppe?, stellt sich mir nun folgende frage,

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum