Angenommen ich habe eine Tabelle "Produkte", die hunderte Attribute zu Produkten speichern soll:
Also z.B.
Product:
name
price
material
color
.... + hunderte weitere Eigenschaften
Die Software, die auf die Datenbank zugreift soll später einen Bericht erzeugen in dem das Proukt beschrieben wird und wo alle Eigenschaften über das Produkt mit der id x ausgegeben werden.
z.B.
Produkt mit Nummer 3
Name: Tasche
Preis: 99 USD
Material: Leder
Farbe: Braun
.... + hunderte weitere Eigenschaften
Allerdings muss die Reihenfolge, in der die Produktdaten ausgegeben werden manuell bestimmt werden. Außerdem muss in der Software festgelegt werden können, dass bestimmte Attribute nicht im Bericht auftauchen.
Dies führt zu der Frage, wie man solche Informationen in einem DB Schema speichert.
1. Man könnte eine weitere Tabelle anlegen:
spalte showonreport order
name 1 1
price 1 3
material 0 2
color 1 4
.... + hunderte weitere Eigenschaften
Diese Art von Problemen begegnet mir immer wieder, doch meine Lösung gefällt mir nicht, weil es keine Möglichkeit gibt die relationale Integrität zu bewahren. Ich könnte schließlich auch eine der Spalten vergessen oder eine Spalte einfügen, die gar nicht in der Produkttabelle vorkommt.
Habt ihr mit so etwas Erfahrung?
Also z.B.
Product:
name
price
material
color
.... + hunderte weitere Eigenschaften
Die Software, die auf die Datenbank zugreift soll später einen Bericht erzeugen in dem das Proukt beschrieben wird und wo alle Eigenschaften über das Produkt mit der id x ausgegeben werden.
z.B.
Produkt mit Nummer 3
Name: Tasche
Preis: 99 USD
Material: Leder
Farbe: Braun
.... + hunderte weitere Eigenschaften
Allerdings muss die Reihenfolge, in der die Produktdaten ausgegeben werden manuell bestimmt werden. Außerdem muss in der Software festgelegt werden können, dass bestimmte Attribute nicht im Bericht auftauchen.
Dies führt zu der Frage, wie man solche Informationen in einem DB Schema speichert.
1. Man könnte eine weitere Tabelle anlegen:
spalte showonreport order
name 1 1
price 1 3
material 0 2
color 1 4
.... + hunderte weitere Eigenschaften
Diese Art von Problemen begegnet mir immer wieder, doch meine Lösung gefällt mir nicht, weil es keine Möglichkeit gibt die relationale Integrität zu bewahren. Ich könnte schließlich auch eine der Spalten vergessen oder eine Spalte einfügen, die gar nicht in der Produkttabelle vorkommt.
Habt ihr mit so etwas Erfahrung?