Hi,
"provider_product_values" soll die values enthalten die unter "provider_product.value" gespeichert werden dürfen ;-)
der Rest klingt okay, aber das hier habe ich nicht verstanden.
im schlimmsten Fall kann ein Provider auch mehr als einen Value auswählen und diesen unter "provider_product.value" abspeichern.
Nein.
Nun meine Frage an euch: Macht es Sinn bei meinem Vorhaben dieses 3 Tabellen Design anzuwenden ?
Nein. Ein Datum ist als atomar anzusehen. Wenn ein (1) Datensatz eine Anzahl (n) Werte gleicher Art besitzt, so ist dies eine 1:n-Beziehung.
Normalerweise sieht so eine Datenbank in 1:n ja etwa so aus:
Muss nicht. Gerade wenn die Menge der Produkte variabel ist, ist das sogar ein extrem ungünstiger, wenn nicht gar sträflicher Ansatz. Dein Vorhaben schreit nach einer Kreuztabelle.
Ich sehe aber ein Problem in der Speicherbelegung für die Tabelle "provider_products" im Feld "value" da dort völlig unterschiedliche Werte erfasst werden und ich somit keine eindeutigen Spaltenwerte (smallint,int,varchar,text etc...) festlegen könnte
Für dieses Problem gibt es leider keine Standardlösung. Du könntest zusätzlich zu den Produktbezeichnungen den Datentyp speichern, der dann i.d.R. erst außerhalb der Datenbank Beachtung finden dürfte.
und ich mich wohl oder über für ein varchar entscheiden müsste, was bei manchen Feldern ein große Verschendung wäre
Sooo groß ist die Verschwendung bei einem VARCHAR nun auch nicht.
Was haltet ihr davon ? Macht meine Idee überhaupt sinn ? Wie würdet Ihr hier vorgehen ?
Der Ansatz erscheint mir gut, nur die Values solltest Du auslagern.
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes