Vraagstuk database design

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk de Vriep

Henk de Vriep

18/12/2014 17:05:59
Quote Anchor link
Goedenmiddag,

Ik ben bezig met het designen van database met uiteraard meerdere tabellen alleen nu loop ik vast op het volgende:

Als je een fiets repareert dan heb je 2 dingen nodig: onderdelen en arbeidsuren. Als je een buitenband vervangt dan kost het onderdeel (fictief) 10 euro en arbeid (fictief) 10 euro. Totaal 20 euro.

Als je binnen en buitenband vervangt dan kosten de orderdelen: binnenband 10 euro, buitenband 10 euro en arbeid 15 euro. Dit komt omdat je om de binnenband te vervangen toch de buitenband er al af moet halen.

Ik heb een tabel met onderdelen en een tablel met reparaties. Een voorbeeld van een reparatie is een buitenband reparatie. In een andere tabel staat weer een model_reparatie's waar het volgende in staat: Het type reparatie (buitenband reparatie) het model fiets en de benodigde onderdelen zodat ik kan bepalen wat de totaalprijs is.

Hoe kan ik dit efficienter doen zodat ik allerlei combinaties kan maken .
 
PHP hulp

PHP hulp

27/12/2024 06:36:39
 
Ward van der Put
Moderator

Ward van der Put

18/12/2014 17:13:41
Quote Anchor link
>> Als je binnen en buitenband vervangt dan kosten de orderdelen: binnenband 10 euro, buitenband 10 euro en arbeid 15 euro. Dit komt omdat je om de binnenband te vervangen toch de buitenband er al af moet halen.

De buitenband moet er dan inderdaad af, maar je kunt de oude buitenband weer hergebruiken.
Met andere woorden: dit zijn geen inkoopkosten, maar arbeidskosten voor de extra handeling.

Je maakt het ingewikkelder dan het is. Maak van "binnenband vervangen" en "buitenband vervangen" twee aparte reparaties inclusief alle arbeidskosten. Van "binnenband én buitenband vervangen" maak je dan een derde type reparatie, maar géén mash-up van "binnenband vervangen" plus "buitenband vervangen" met speciale condities. Dat maakt het model veel te complex.
 
Henk de Vriep

Henk de Vriep

18/12/2014 17:32:14
Quote Anchor link
Ja, daar heb je een punt. Ik kan natuurlijk altijd nog korting toevoegen als dat nodig blijkt te zijn.

Het ging me eigenlijk ook meer om het concept dan om dit voorbeeld.
 
Ward van der Put
Moderator

Ward van der Put

18/12/2014 17:48:00
Quote Anchor link
Het ging mij ook meer om het concept ;-)

Je noemde het model fietsen. Dat verhoogt de complexiteit enorm. Wij hebben thuis 5 fietsen en als daar een achterband van moet worden vervangen, vereist dat voor alle fietsen andere handelingen. Met een andere tijdsduur. En met werk aan andere onderdelen. En ander gereedschap.

Probeer dat niet te modelleren. Dan kost het bouwen van het model misschien zelfs meer dan de reparaties opleveren. Je moet dan namelijk per fietsmodel een onderhoudsmodel bouwen.

Gewoon een net menu maken met veelvoorkomende standaardreparaties. Daar is de gemiddelde fietsenmaker het beste mee geholpen. Mijn opa bijvoorbeeld :-)
 
Pipo Clown

Pipo Clown

18/12/2014 17:49:21
Quote Anchor link
Ik denk dat je, in het voorbeeld van banden vervangen, zelfs onderscheid moet maken tussen voor- en achterband. De laatste is over het algemeen veel bewerkelijker.

Ik kan mij zo voorstellen dat er zelfs verschil zit tussen een elektrische en niet elektrische fiets door de aandrijving welke in het wiel kan zitten.
 
Aad B

Aad B

18/12/2014 18:58:35
Quote Anchor link
Je uitgangspunt om per onderdeel een fixed price arbeidstarief is niet aan te raden. De klant gaat er dan op rekenen, achterband vervangen kost x,y en de fietsenmaker moet dan steeds uitleggen waarom hij er langer over deed en waarom het duurder wordt. Niet doen dus. Arbeidsuren gewoon achteraf toevoegen aan de order(bon) en de fietsenmaker weet zelf wel hoeveel het ongeveer gaat kosten wanneer de klant binnen fietst en de vraag stelt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.