Men, men, men - hvor mange af dine data er redundant i din opsætning?
[code]
varenr | navn | beskrivelse | pris | lokation | tilføjet af | i_lager
-----------------------------------------------------------------------------
1 | sutsko | bruges hjemme | 10 | herning | jens | 15
1 | sutsko | bruges hjemme | 10 | ikast | jens | 20
2 | trasko | paa gaarden | 18 | herning | jens | 8
2 | trasko | paa gaarden | 18 | ikast | jens | 2
osv.
[/code]
Du skal dele dine data op, så du undgår mest mulige redudans i dine data. I ovennævnte eksempel kan du lave følgende:
[code]Tabel: lokationer
lokation_id | adresse | postnr | by
------------------------------------------------
1 | Skovej 1 | 7400 | Herning
2 | Tekstilvej 17 | 7430 | Ikast
Tabel: varer
varenr | navn | beskrivelse | pris | tilføjet af
---------------------------------------------------------
1 | sutsko | bruges hjemme | 10 | jens
2 | trasko | paa gaarden | 18 | jens
Tabel: vare_paa_lager
varenr | location | paa_lager
--------------------------------
1 | 1 | 15
1 | 2 | 20
2 | 1 | 8
2 | 2 | 2
[/code]
Det giver en bedre fordeling af informationerne og mindre belastning når du f.eks. kun vil have vist hvilke varer du har. Hvis du vil vide hvilke varer du har på lager, kan du gøre følgende:
[code]SELECT varenr, navn FROM varer WHERE varenr IN (SELECT DISTINCT varenr FROM vare_paa_lager WHERE paa_lager > 0)[/code]
Du har også gode muligheder for at krydse tabellerne sammen ("JOIN" i SQL) på forskellige måder.