Ik heb een soort van probleem mbt tot het ontwerp van wat tabellen en wilde weten wat jullie mening hierover is.
Ik leg het wel even uit aan de hand van een verhaaltje:
Ik wil mensen laten inloggen op mijn applicatie, daarvoor is een gebruikersnaam, wachtwoord en een contacte-mailadres nodig voor eventuele wachtwoord-recovery.
Maar nu wil ik m’n gebruikers wat beter leren kennen en wil personalia opslaan.
Dus naam, adres, etc komt erbij, in dezelfde tabel lijkt me, iemand heeft maar 1 naam tenslotte
Nog later wil ik dat mijn gebruikers geld kunnen storten op hun account en moet ik een saldo bijhouden. Dan komt het probleem: volgens 3NV moeten procesgegevens niet in een tabel.
Dus het saldo wordt nergens opgeslagen, dat is immers de inkomsten min de uitgaven.
Maar wat als iemand, of iedereen, heel veel transacties gaat doen?
Dan moet ik elke keer, misschien wel meerdere keren per seconde, tientallen of wie weet duizenden records optellen en aftrekken om aan het saldo te komen.
Kan ik dan beter een aparte tabel maken, hoewel er dan een 1 op 1 relatie is bijv:
Hoewel je die tabel dan flink moet updaten elke keer EN er een 1 op 1 relatie ontstaat omdat iedereen maar 1 saldo kan hebben. En in de meeste gevallen wordt er gezegt dat een 1 op 1 relatie duidt op een slecht DB ontwerp.
Ik kan dat ook in de eerste tabel zetten.
Zouden jullie gewoon blijven rekenen of toch ‘stiekum’ makkelijk ergens anders opslaan?
Want stel ik wil weten wie de rijkste is, gaat dat niet enorm veel rekenwerk kosten?
Ik leg het wel even uit aan de hand van een verhaaltje:
Ik wil mensen laten inloggen op mijn applicatie, daarvoor is een gebruikersnaam, wachtwoord en een contacte-mailadres nodig voor eventuele wachtwoord-recovery.
code:
1
2
3
| gebruikersnaam wachtwoord email |
Maar nu wil ik m’n gebruikers wat beter leren kennen en wil personalia opslaan.
Dus naam, adres, etc komt erbij, in dezelfde tabel lijkt me, iemand heeft maar 1 naam tenslotte
code:
1
2
3
4
5
6
7
| gebruikersnaam wachtwoord email voornaam achternaam geboortedatum adres # postcode etc, eigenlijk aparte rows maar dat is niet relevant nu |
Nog later wil ik dat mijn gebruikers geld kunnen storten op hun account en moet ik een saldo bijhouden. Dan komt het probleem: volgens 3NV moeten procesgegevens niet in een tabel.
Dus het saldo wordt nergens opgeslagen, dat is immers de inkomsten min de uitgaven.
Maar wat als iemand, of iedereen, heel veel transacties gaat doen?
Dan moet ik elke keer, misschien wel meerdere keren per seconde, tientallen of wie weet duizenden records optellen en aftrekken om aan het saldo te komen.
Kan ik dan beter een aparte tabel maken, hoewel er dan een 1 op 1 relatie is bijv:
code:
1
2
3
4
| gebruiker saldo inkomsten uitgaven |
Hoewel je die tabel dan flink moet updaten elke keer EN er een 1 op 1 relatie ontstaat omdat iedereen maar 1 saldo kan hebben. En in de meeste gevallen wordt er gezegt dat een 1 op 1 relatie duidt op een slecht DB ontwerp.
Ik kan dat ook in de eerste tabel zetten.
Zouden jullie gewoon blijven rekenen of toch ‘stiekum’ makkelijk ergens anders opslaan?
Want stel ik wil weten wie de rijkste is, gaat dat niet enorm veel rekenwerk kosten?