Avatar billede netro Nybegynder
12. august 2009 - 09:49 Der er 2 kommentarer

Design af ordre/faktura

Jeg er ved at opbygge en e-shop. Her forestiller jeg mig følgende tabeller til ordre/faktura-delen:

- Order
- Orderline
- Invoice
- Invoiceline
- Payment

Faktura er relateret til en ordre. Men som jeg ser det, er noget nær den eneste forskel på ordre og faktura, at faktura har et fortløbende id.

1) Kan jeg undgå at have så mange dobbeltdata i ordre/faktura (læs: slå det sammen til færre tabeller)?
2) Bør betalinger være relateret til faktura eller ordre?
3) Vil en kreditnota ligge i faktura-tabellen med et negativt totalbeløb?

4 )Og så lige et scenarie:
En kunde bestiller produkt 1 og 2.
Kunden ønsker produkt 3 i stedet for 2

Vil man der lave en kreditnota der udligner hele den oprindelige faktura og så lave en ny ordre på produkt 1 og 3? Eller vil man kun kreditere produkt 2? Eller?
Avatar billede Slettet bruger
12. august 2009 - 10:26 #1
Du laver vel en unik ID i din ordre tabel og kopiere denne til de andre tabeller og således relatere til denne ID.

Så ville en SQL se nogenlunde således ud:

SELECT * FROM (ORDER, ORDERLINE, INVOICE) WHERE unikID = 123456

Så ville den returnere samtlige felter fra tabellerne uden at du har "redundante" data
Avatar billede netro Nybegynder
12. august 2009 - 10:49 #2
Som jeg forstår dig, vil du undlade tabellen med fakturalinjer. Men hvad så med kreditnotaer? De har jo også linjer, der vel ikke skal ligge i ordre-tabellerne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester