Ich habe ein kleines Projekt im Zuge meines Studiums zu erledigen auf Basis von Access 2010.
Meine bisherigen Tabellen:
customer
-custid (primary key, auto number)
-custname (text)
-custaddress (text)
-custzip (text)
-custtown (text)
-exchangetype (bool)
palettes
-palid (primary key, auto number)
-palname (text)
-paldimensions (text)
-paldescription (text)
-palprice (currency)
Mein Problem ist nun dass ich jedem Kunden einen Bestand an jeder PalID zuordnen möchte ohne dass ich enorm viel Datenmüll in der Tabelle produziere.
Eine Idee wie man es (mit viel Datenmüll) machen könnte:
data
-palid (reference on palettes.palid)
-custid (reference on customer.custid)
-count (number)
Das Problem ist dass ich hier im Zweifelsfall pro Kunde so viele Zeilen als maximum ansetzen müsste wie ich PalIDs habe.
Eine andere Idee wäre noch folgende:
data
-custid (reference on customer.custid)
-(1)
-(2)
...
-(höchste palid)
Was aber zur Folge hätte dass ich enorm viele Spalten hätte, die zur Laufzeit anpassen müsste und sehr viele leere Felder entstehen.
Fallen euch noch andere Desings/Umsetzungsmethoden für dieses Problem ein? Welcher Weg ist der Effizienteste?
Mir ist klar dass ich nicht mit abertausenden Zeilen rechnen muss, doch dennoch sollte man nichts ausschließen und gleich sauber designen.
Parallel dazu bin ich am Überlegen eine Log mit anzulegen die die Änderungen mitsamt Datum und Art der Änderung dokumentiert, da schwebte mir vor:
log
-logdate (date)
-custid (reference on customers.custid)
-change (memo)
Gibt es auch dafür vielleicht eine bessere Lösung?
Meine bisherigen Tabellen:
customer
-custid (primary key, auto number)
-custname (text)
-custaddress (text)
-custzip (text)
-custtown (text)
-exchangetype (bool)
palettes
-palid (primary key, auto number)
-palname (text)
-paldimensions (text)
-paldescription (text)
-palprice (currency)
Mein Problem ist nun dass ich jedem Kunden einen Bestand an jeder PalID zuordnen möchte ohne dass ich enorm viel Datenmüll in der Tabelle produziere.
Eine Idee wie man es (mit viel Datenmüll) machen könnte:
data
-palid (reference on palettes.palid)
-custid (reference on customer.custid)
-count (number)
Das Problem ist dass ich hier im Zweifelsfall pro Kunde so viele Zeilen als maximum ansetzen müsste wie ich PalIDs habe.
Eine andere Idee wäre noch folgende:
data
-custid (reference on customer.custid)
-(1)
-(2)
...
-(höchste palid)
Was aber zur Folge hätte dass ich enorm viele Spalten hätte, die zur Laufzeit anpassen müsste und sehr viele leere Felder entstehen.
Fallen euch noch andere Desings/Umsetzungsmethoden für dieses Problem ein? Welcher Weg ist der Effizienteste?
Mir ist klar dass ich nicht mit abertausenden Zeilen rechnen muss, doch dennoch sollte man nichts ausschließen und gleich sauber designen.
Parallel dazu bin ich am Überlegen eine Log mit anzulegen die die Änderungen mitsamt Datum und Art der Änderung dokumentiert, da schwebte mir vor:
log
-logdate (date)
-custid (reference on customers.custid)
-change (memo)
Gibt es auch dafür vielleicht eine bessere Lösung?