Frage

Da ich weiß, dass es hier viele Experten -Datenbank -Kerndesigner gibt, habe ich mich entschlossen, diese Frage zu Stackoverflow zu stellen.

Ich entwickle eine Website, deren Hauptanliegen darin besteht, jedes Produkt, das in der realen Welt verfügbar ist, wie Digitalkameras, Drucker, Kühlschränke usw. zu indizieren. Wie wir wissen, hat jedes Produkt seine eigenen Spezifikationen. Beispielsweise hat eine Digitalkamera ihr Gewicht, eine Linse, die Geschwindigkeit des Verschlusss usw. Jede Spezifikation hat einen Typ. Zum Beispiel ist der Preis (ich sehe es wie eine Spezifikation) eine Zahl.

Ich denke, der Standard -Weg ist, die für ein bestimmtes Produkt benötigten Spezifikationen mit seinem richtigen Typ zu erstellen und dem Produkt zuzuweisen. Für jeden separaten Produktpreis muss also erstellt werden und die Typnummer sollte darauf eingestellt werden.

Hier ist meine Frage, ist es möglich, eine Tabelle für Spezifikationen mit allen Spezifikationen zu haben, sodass der Preis beispielsweise zuvor erstellt wurde und nur nach dem Preis in der Tabelle suchen und dem Produkt zuweisen muss. Das Problem bei dieser Methode ist, dass ich keinen guten Weg sehe, um den Benutzer daran zu hindern, doppelte Einträge zu erstellen. Er muss in der Lage sein, die Spezifikation zu finden, die er braucht (wenn es schon einmal hinzugefügt wurde), und ich möchte auch, dass er weiß, dass die Spezifikation, die er findet Unterschiedlicher Typ und Verwendung. Wenn er es nicht findet, wird er es schaffen.

Irgendwelche Ideen?

---------------------------- AKTUALISIEREN --------------------- -------

In meiner Frage geht es nicht um die DB -Flexibilität. Ich denke, dass Benutzer in der zweiten Methode die technische Tabelle durcheinander bringen werden! Sie werden tausend doppelte Einträge schaffen und ich denke auch, dass sie ihre richtigen technischen Daten nicht finden.

War es hilfreich?

Lösung

Mein vorgeschlagenes Datenmodell basierend auf Ihren Anforderungen:

SPECIFICATIONS Tisch

  • SPECIFICATION_ID, pk
  • SPECIFICATION_DESCRIPTION

Auf diese Weise können Sie zahlreiche Spezifikationen haben, ohne an einen Gegenstand beigefügt zu werden.

ITEM_SPECIFICATION_XREF Tisch

  • ITEM_ID, PK, FK zu ITEMS Tisch
  • SPECIFICATION_ID, PK, FK zu SPECIFICATIONS Tisch
  • VALUE, pk

Vorteile:

  1. Wenn Sie den Primärschlüssel für ein Verbund einstellen, wird sichergestellt, dass die Wertemenge in der gesamten Tabelle eindeutig ist. Segen oder Fluch, ein Gegenstand mit einer bestimmten Spezifikation könnte Werte 0,99 und 1,00 haben - diese wären gültig.
  2. Dieses Setup ermöglicht eine Spezifikation, die 0+ Elementen zugeordnet ist.

Andere Tipps

Ich habe gerade geantwortet Dynamische TabellenerzeugungWas ein ähnliches Problem erörtert. Schauen Sie sich das an die Beobachtungsmuster. Wenn Sie "Beobachtung" durch "Spezifikation" und "Subjekt" durch "Produkt" ersetzen, finden Sie möglicherweise möglicherweise dieses Model Nützlich - Sie benötigen keine Bericht über Rep_MM_OBS.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top