Samengesteld artikel vormgeven in één tabel of meerdere tabellen?

Status
Niet open voor verdere reacties.

ThurMeijer

Gebruiker
Lid geworden
15 nov 2012
Berichten
13
Allen,

ik heb al meerdere malen veel aan jullie hulp gehad, zowel door de zoekfunctie als door gesteld vragen.

Ik zit nu vast in de ontwerpfase van mijn database. Ik heb samengestelde artikelen zoals bijvoorbeeld een krat met sixpacks bier.

In zo'n geval betekent dat in essentie 3 verschillende identifiers (EAN-codes): 1 voor het flesje (consumenteneenheid), 1 voor de sixpack (clip) en 1 voor de krat (handelseenheid). De drie niveaus kunnen ook separaat verkocht worden. Maar ik heb ook dozen (handelseenheid) met flessen wijn (consumenteneenheid), waar dus geen sprake is van de 'clip', of fusten waarbij er geen sprake is van 'clip' en de handelseenheid gelijk is aan de consumenteneenheid.
De inhoud in centiliters van de clip en krat wordt berekend middels de inhoud van de fles vermenigvuldigd met de aantal flessen/clips.

Uit de diverse dingen die ik online heb gevonden zegt men dat in een database de zaken zo klein mogelijk opgeslagen dienen te worden. In dit geval zou dat het flesje betekenen. Maar hoe kan ik deze structuur het beste in de database vastleggen? In één tabel middels 'parent/child'? Of separate tabellen?

Bij voorbaat wederom dank voor jullie wijsheid!
 
Met ‘klein opslaan’ bedoelt met niet: alles in stuks vastleggen. ‘Klein’ is in dit geval: objecten die voor het systeem ondeelbaar zijn. Als een klant een krat kan kopen, en dat artikel bij jou een eigen ID heeft (EAN code) dan is dat voor de database net zo ‘klein’ als een flesje (en dat geldt uiteraard ook voor een sixpack). Is ook logisch als je bedenkt dat je voor een krat óók statiegeld betaald, maar voor één losse fles niet wordt aangeslagen voor 1/24 van het statiegeld voor een krat, ook al gaan er exact 24 identieke flessen in één krat.

Wat je niet moet doen: met Parent/Child constructies gaan werken. Wat je absoluut niet moet doen: met aparte tabellen gaan werken :).
Het is dus best simpel: kijk naar wat één artikel uniek maakt, en sla dat als artikel op.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan