Klarade millennium-buggen
|
|
Reg.datum: Aug 2005
Inlägg: 5 166
|
|
Klarade millennium-buggen
Reg.datum: Aug 2005
Inlägg: 5 166
|
Här visar jag ett försök att ha normaliserat din databas till 3NF för att visa vilka konsekvenser det får och hur det kan se ut i just ditt fall.
Databasen behöver normaliseras så man lägger upp separata tabeller för:
Tabell: Kund
- Kundnr (PK)
- Personnr (ev. FK)
- Namn
Tabell: KundOrder
- Ordernr (PK)
- Datum
- Kundnr (FK->Kund.Kundnr)
Tabell: KundOrderRad
- Ordernr (PK->KundOrder.Ordernr)
- RadNr (PK)
- ArtikelID (FK->Artikel.ArtikelID)
- FaktisktPris
- Antal
- RadRabattBelopp
Tabell: Artikel
- ArtikelID (PK)
- Benämning
- Pris
- Moms
Tabell: Betalning
- BetalningsID (PK)
- Datum
- OrderNr (FK->KundOrder.Ordernr)
- Belopp
- Betalsätt (FK->Betalsätt.BetalsättID)
Tabell: Betalsätt
- BetalsättID (PK)
- BetalsättNamn
Du behöver normalt bryta ut betalning från kundorder-tabellen eftersom kunder ofta betalar fel belopp och då kommer det att finnas flera olika betalningar med olika datum som du behöver hålla koll på.
PK => Primärnyckel (Primary Key på engelska, kan vara en eller flera kolumner i databasen)
FK => Främmande nyckel (Forreign Key på engelska) Pekar på en primärnyckel i en annan tabell.
En FK kan även vara en PK samtidigt, då kallas det för att relationen ät Identifying....
Senast redigerad av Conny Westh den 2013-12-15 klockan 04:12
|