edvin Posted November 30, 2004 Share Posted November 30, 2004 Hej! Jag sitter och funderar en del på att bygga en databas hemma med en speciell funktion. Det är bara det att jag inte riktigt fått klart för mig hur det ska fungera och hur jag ska få det att fungera som jag vill. Följande vill jag utföra. Jag vill skapa ett lager över ett antal artiklar och sedan en tabell där man lägger ordrar. Lagret som består av artiklar som tillverkats för att sedan monteras ihop till en produk. Det jag vill kunna utföra är att om en kund beställer 2 st Produkt A som består av 4 st detalj 1, 3 st detalj 2 och 5 skruvar. Hur får jag då databasen att fungera på så sätt att när jag beställer 2 st Produkt A så minkas lager saldot för detalj 1 med 4 st, detalj 2 med 3 st och skruva med 5 st? Hur bär man sig åt för att skapa detta? Någon som har en ide? Vad behöver jag för tabeller?? //edvin Link to comment Share on other sites More sharing options...
Anjuna Moon Posted November 30, 2004 Share Posted November 30, 2004 Nu vet jag inte hur mycket de olika detaljerna skiljer sig åt så jag ger ett exempel där en detalj oavsett typ beskrivs med endast en tabell. Jag vet inte heller hur du prissätter, om pris ska anges för varje ingående detalj eller för den färdiga produkten. Jag utelämnar därför sådana data i mitt exempel. ===================================== Detail (En post för varje unik detalj) ------- DetailID DetailName ; StockAmount ; Antal i lager av denna detalj Product (En post för varje unik produkt) -------- ProductID Assemble (En post för varje detalj i en produkt) --------- ProductID DetailID För varje detalj som ingår i en produkt skapas alltså en ny post i tabellen Assemble. Förslagsvis läggs en Insert-trigger i Assemble, som minskar StockAmount för aktuell Detail. En post i Product skapas vid beställningstillfället, varvid korrekt antal Assemble:s skapas (Detta enligt exempelvis mall-tabeller, som beskriver vilja detaljer som bygger upp en produkt). Naturligtvis måste detta steg kontrollera tillgängligheten av detaljer i lagret. ===================================== Det här var bara ett exempel, jag kan tänka mig flera andra sätt att göra det på. AnjunaMoon ____________________________________________________________ /* There is nothing more permanent than a temporary solution... */ Stoppa mjukvarupatenten nu! http://www.ffii.se/ [inlägget ändrat 2004-11-30 08:48:31 av Anjuna Moon] Link to comment Share on other sites More sharing options...
TicoRoman Posted November 30, 2004 Share Posted November 30, 2004 Det här var bara ett exempel, jag kan tänka mig flera andra sätt att göra det på.Det går faktiskt att tänka sig att Produkt A som består av delarna 1 och 2 faktiskt kan ingå i en större Produkt B. Halvbra exempel: Kunden köper en bil (produkt . I bilen finns en motor (produkt A). Motorn består av delarna 1 och 2. Det går att köpa motorn som en fristående produkt eller i en bil. Jag vet dock inte om sådant är relevant i detta fall. _________ TicoRoman - Anfall är bästa försvar Link to comment Share on other sites More sharing options...
edvin Posted December 3, 2004 Author Share Posted December 3, 2004 Tack. Jag ska försöka med detta så fort jag får tid. Mvh edvin Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.