Announcement

Collapse
No announcement yet.

Bessere Lösung für foreign_key Tabelle

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

  • Bessere Lösung für foreign_key Tabelle

    Wertes Forum,

    table 1) 8000 Datensätze mit Pflanzen, die natürlich bunt sind
    table 2) 16 Farben
    table 3) 7 Tönungen (z.B. dunkel, leuchtend, hell)

    Dadurch ergeben sich natürlich 108 Farbkombinationen (16x7 +16 Grundtöne). Im Front-End können die Farben editiert und jeweils die Tönung bestimmt werden. Eine Pflanze kann natürlich mehrere Farben und mehrere Tönungen haben.

    Wenn ich nun also diese Möglichkeiten in eine foreign_key Tabelle auslagere erhalte ich zu den ganzen bisherigen Daten noch potentielle zusätzliche 864.000 Datensätze! Im Schnitt kommen natürlich nur ca. 6 Farbmöglichkeiten pro Pflanze auf.

    Ist das Akzeptabel? Gibt es eine andere Möglichkeit?

  • #2
    Hi,

    die reine Anzahl ist nicht tragisch. Datenbanken sind dazu gebaut um tausende Tabellen mit vielen hundert Millionen oder Milliarden Datensätzen zu verwalten. Man muss sie nur richtig verwenden können.

    Eine Pflanze kann natürlich mehrere Farben und mehrere Tönungen haben.
    Mach einfach eine zusätzliche Tabelle machen, die in einer 1:n Beziehung zur übergeordneten Pflanze steht. Dort speicherst Du dann direkt die Farbwerte ab.


    Dim
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      Ok, kurze Verständigungsfrage:

      1:n Beziehung: Ich nehme den Primärschlüssel der Master-Tabelle in die Farbwerttabelle - aber welchen Unterschied machen die drei Möglichkeiten aus?

      1.
      primaryID : farbWert : farbToenung
      z.B. 1 : rot : hell

      2.
      primaryID : farbWert : farbToenung
      z.B. 1 : 0 : 2 (also -Wert und -Toenung nochmals in eine jeweils eigene Tabelle)

      oder 3.
      primaryID : farbe
      z.B. 1 : 10 (wobei ich alle 108 Farbkombinationen in einer extra Tabelle definiere. 10 könnte also hell-rot sein)

      Hast Du da noch eine Anregung? Viele Grüße....

      Comment


      • #4
        Du brauchst doch nur die eigentlich verwendeten Kombination anzulegen

        Comment


        • #5
          Ich nehme den Primärschlüssel der Master-Tabelle in die Farbwerttabelle
          Nein machst Du nicht. Die Werte die der user eingiebt speicherst Du in dieser 1:n Beziehung. Damit hast Du zwar redundanzen. aber das sollte in diesem Fall schon ok sein.

          Dim
          Zitat Tom Kyte:
          I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

          Comment

          Working...
          X