Announcement

Collapse
No announcement yet.

Komm nicht über die 1.Normalform hinaus

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Komm nicht über die 1.Normalform hinaus

    Hallo zusammen.

    Ich möchte eine Sprachverwaltung mittels Datenbank realisieren. Mehrere Programme sollen auf die Datenbank zugreifen um sich die benötigten Sprachinhalte runterladen und auf der Oberfläche einbinden zu können.
    Dadurch will ich lästiges Übersetzen von Texten nur einmal machen müssen.

    Beispieltabelle in der 1. Normalform:

    Sprach_ID | Sprache | Version | Wert | Projekt
    _________|_______|_______|_____|_____
    0 | de | 1.0 | haus | Prog_1
    0 | de | 1.3 | Haus | Prog_1
    0 | de | 1.3 | Haus | Prog_2
    0 | en | 1.0 | House | Prog_1
    0 | en | 1.2 | House | Prog_2
    1 | de | 1.0 | Baum | Prog_2
    ....

    Wie man schon gut erkennen kann treten hier sehr viele Redundanzen auf, die ich eleminieren möchte um die Tabelle nicht zu sehr aufzublasen.

    Als Schlüssel kommt die Kombination von "Sprach_ID", "Sprache" und "Version" in Frage. Diese drei zusammen entscheiden, welchen Inhalt "Wert" besitzt.

    Wenn ich das Attribut "Projekt" nicht hätte, wäre das ja schon die 2.Normalform!?
    Aber doch gerade "Projekt" entscheidet, welches Programm diesen "Wert" einbinden muss.

    Ich wäre echt froh, wenn Ihr da eine Idee hätte, bzw. Ansätze, dass ich von alleine weiterkomme.

    Danke

  • #2
    Ich würde das anders aufbauen, und zwar über SprachID und WertID. Wenn ich im Programm ein Wort verwende, dann kennt dieses seine WertID und kann in Kombination mit einer zB beim Start eingegebenen SprachID seinen aktuellen Wert herausholen. Das wäre unabhängig von Programm und Version. Da würdest du mit 3 Spalten das Auslangen finden.
    Die Übersetzung aufgrund der SprachID und des Wortes zu finden würde ich nicht machen, da ein Wort eine Mehrfachbedeutung haben kann oder als Übersetzung einmal voll ausgeschrieben und einmal abgekürzt vorliegen kann.<br>
    bye, Helmu

    Comment


    • #3
      Du meinst mit der Mehrdeutigkeit bei einer Übersetzung auch so Sachen wie "engineer" (engl.) - Ingeneur, Techniker, Lokführer (deutsch)??
      Daran habe ich bisher noch gar nicht gedacht. Danke für den Einwand. Damit kann ich weiterarbeiten und mir weiter Gedanken machen

      Comment

      Working...
      X