moin,
Die produkte referenzieren zur Zeit auf die Produktuntergruppe. Muss ich, um das Problem zu lösen, jedem produkt auch die Produktgruppe zuweisen?
ich nehme mal an, du hast 4 tabellen und eben eine tabelle produkte (mein vorschlag wäre, für die tabellenbezeichner immer den singular zu benutzen) mit einem fremdschlüssell auf die tabelle produktuntergruppe. je nachdem wie du diesen fremdschlüsselspalte deklariert hast, kannst du dort einfach NULL eintragen. dabei ist zu beachten, dass NULL <> 0 und auch NULL <> '' ist, sondern ein spezifischer "wert" extra für datenbanken.
was genau NULL bedeutet, ist ein wenig strittig. meine aussage dazu ist, NULL steht für einen undefinierten wert, über den ich keine und zwar gar keine aussage machen kann. andere wiederum sehen in den wert auch eine fachliche bedeutung, wie zum beispiel "nicht vorhanden", davon würde ich persönlich aber immer abraten.
die andere frage ist, ob es wirklich von vorteil ist, einem produkt keine produktuntergruppe zuzuordnen. das hat später auswirungen auf deine abfragen und muss mit beachtet werden. willst du zum beispiel alle deine produkte mit ihren entsprechenden produktuntergruppen anzeigen, kann es dir passieren, dass die produkte ohne untergruppe eben nicht mehr angezeigt werden, wenn du das nicht entsprechend berücksichtigst. hier wäre mein vorschlag, gib jedem produkt eine produktuntergruppe, jeder produktuntergruppe eine produktgruppe und jeder produktgruppe eine warengruppe, das ist meiner ansicht nach sauberer.
Ilja