php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-03-2008, 22:57
andru
 Newbie
Links : Onlinestatus : andru ist offline
Registriert seit: Aug 2004
Beiträge: 17
andru ist zur Zeit noch ein unbeschriebenes Blatt
Standard [SQL allgemein] Problem mit Datenbankdesign

Hi,

ich bin gerade dabei das Datenbankdesign für ein Vokabeltrainer zu entwerfen.

Dabei stoße ich auf ein Problem.

Die Tabelle sieht vereinfacht in etwa so aus:


vocables
__________
* id
* vocable
* translation


Nun will ich auch Synonyme unterstützen, d.h. eine Vokabel kann mehrere Übersetzungen haben (und anders herum).

Ich dachte da an folgende Tabelle:


vocables_synonyms
__________________
* id
* vocableId
* translationId

Damit müsste es möglich sein Synonyme zu realisieren. Allerdings erscheint es mir seltsam mit einem Datensatz zwei mal auf das gleiche Feld einer anderen Tabelle zu verweisen.

Was haltet ihr davon? Gibt es andere, bessere Optionen?

Ich danke für eure Meinungen.

Geändert von andru (13-03-2008 um 23:07 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-03-2008, 23:20
medium22
 Registrierter Benutzer
Links : Onlinestatus : medium22 ist offline
Registriert seit: Mar 2006
Beiträge: 308
medium22 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,


wieso 2 mal? Einmal reicht doch...

vocables
__________
* id
* vocable
* translation

vocables_synonyms
__________________
* id
* vocableId
* synonym


Somit hast Du doch die vocables_synonyms.vocableId zum Vergleichen, dass reicht in meinen Augen gänzlich aus.



Gruss..
Mit Zitat antworten
  #3 (permalink)  
Alt 14-03-2008, 00:28
ZombieChe
 Member
Links : Onlinestatus : ZombieChe ist offline
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
ZombieChe ist zur Zeit noch ein unbeschriebenes Blatt
ZombieChe eine Nachricht über ICQ schicken
Standard

Mhmm, hätte da auch noch einen

vocables_langX
____________
* ID
* word

vocables_langY
____________
* ID
* word

translations
__________
* ID
* X_ID
* Y_ID

Geht bei 2 Sprachen denke ich mal ganz gut (insb. bidirektional).
Allgemein wäre vielleicht folgendes treffender

languages
________
* ID
* language

vocables
_____
* ID
* LANG_ID
* word

translations
__________
* ID
* VOCABLE1_ID
* VOCABLE2_ID

Läuft immer darauf hinaus, eine Tabelle nur mit Worten zu füllen und dann die Übersetzungsbeziehung herzustellen.
Mit Zitat antworten
  #4 (permalink)  
Alt 14-03-2008, 10:03
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Würde die Variante von ZombieChe bevorzugen.
Mit Zitat antworten
  #5 (permalink)  
Alt 14-03-2008, 12:57
andru
 Newbie
Links : Onlinestatus : andru ist offline
Registriert seit: Aug 2004
Beiträge: 17
andru ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Leider habe ich mein Problem wohl zu stark vereinfacht. Dann hol ich mal weiter aus:

Die Vokabeln sollen nämlich in Lektionen eingeteilt werden. Eine Tabelle mit den Sprachen habe ich schon:

languages
________
* id
* name

lessons
______
* id
* sourceLanguageId ( 1. Sprache)
* destinationLanguageId ( 2. Sprache)

vocables
________
id
lessonId
sourceVocable ( eigentliche Vokabel)
destinationVocable ( Übersetzung)


synonyms
________
id
vocableId ( Id der Vokabel)
synonymVocableId ( Id des Synonyms)


Leider sehe ich keinen Weg das Vorgeschlagene hier einzubringen. Vielleicht hänge ich auch schon zu lange davor ...

Mit freundlichen Grüßen,
Mit Zitat antworten
  #6 (permalink)  
Alt 14-03-2008, 20:46
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

languages
________
* ID
* language

vocables
_____
* ID
* LANG_ID
* word
* lesson_id <-- neu

translations
__________
* ID
* VOCABLE1_ID
* VOCABLE2_ID

Ich verstehe das Problem nicht.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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