2009-06-01, 14:54
#1
håller på att utvecka ett litet faktureringssystem som dels ska kunna erbjuda funktionaliteten att skapa ny faktura från scratch och dels (hela poängen med projektet) kunna generera fakuterer från ett bokningssytem (handlar om olika bokade uppdrag/tjänster).
jag har hela tiden tänkt att jag inte vill utvidga databasen för bokningssytemet med massa faktureringstabeller eftersom det är två skilda system varav det ena (bokningssytemet) är i grunden en kommersiell produkt.
om jag då skapar en ny standalone databas för faktureringssystemet med tabeller som invoices, customer, lineitems, items osv är allt fint så länge det bara skulle kunna tänkas användas till att skapa nya fakturer från scratch.
men eftersom jag vill hämta order/uppdragsinformation från den andra databasen för att skapa fakturer (baserat på val av tidsperiod och kund) uppstår det lite problem. jag måste i stort sett duplicera många tabeller som finns i bokningsdatabasen för att kunna lagra information och status om vilka uppdrag som redan har fakturerats och till vilken faktura och vid vilket datum.
är detta en snygg lösning? känns inte som det eftersom jag som sagt i stort sett kommer dubbellagra alla ordrar som faktureras.
tiiiiiiiiiiips?
jag har hela tiden tänkt att jag inte vill utvidga databasen för bokningssytemet med massa faktureringstabeller eftersom det är två skilda system varav det ena (bokningssytemet) är i grunden en kommersiell produkt.
om jag då skapar en ny standalone databas för faktureringssystemet med tabeller som invoices, customer, lineitems, items osv är allt fint så länge det bara skulle kunna tänkas användas till att skapa nya fakturer från scratch.
men eftersom jag vill hämta order/uppdragsinformation från den andra databasen för att skapa fakturer (baserat på val av tidsperiod och kund) uppstår det lite problem. jag måste i stort sett duplicera många tabeller som finns i bokningsdatabasen för att kunna lagra information och status om vilka uppdrag som redan har fakturerats och till vilken faktura och vid vilket datum.
är detta en snygg lösning? känns inte som det eftersom jag som sagt i stort sett kommer dubbellagra alla ordrar som faktureras.
tiiiiiiiiiiips?
). Duplicering av hela tabellen är också fel, och hur skulle man göra med de tabeller som den i sin tur dependar på? DebiteringBokning kan istället fungera som en lös koppling till bokningstabellen i den andra databasen, men enbart BokningsId finns representerat här, resten av datat finns i andra db. Man kan till och med ha BokningsId som primärnyckel här, bara man skippar auto_increment.. Med denna lösning är det upp till affärslogiken, förslagsvis din applikation som gräver i bokningssystemet för att generera datat till ovan databas, att hålla reda på relationen. Om du bara håller reda på id, kan en applikation som ser bägge databaserna alltid få tag i det data som behövs och hör ihop.
)