Hallo JP,
Er zijn inderdaad wel een aantal zaken die je kunt verbeteren in je ontwerp. Ik zal ze puntsgewijs proberen aan te geven:
1. In de tabel Uitleengeschiedenis heb je een gecombineerde sleutel gemaakt van de velden UitleenID en Productnummer. Aangezien UitleenID een uniek nummer genereert, is dat veld op zichzelf al genoeg als sleutel, er zit dus geen winst in het gebruik van twee velden, integendeel!
2. Het veld Produktnummer zou gekoppeld moeten worden Produktnummer in tblBoek. Hiermee leg je een verband tussen produkten en uitleningen. Het veld Produktnummer in de tabel Uitleengeschiedenis had de indexinstelling <Index Ja, Duplicaten toestaan: Nee>, waardoor het onmogelijk is om een artikel meer dan één keer uit te lenen. Dat kan uiteraard nooit de bedoeling zijn!
3. In de tabel Uitleengeschiedenis leg je een link naar het adres van de klant; ik zou altijd koppelen op basis van KlantID, want een adres hoeft niet uniek te zijn (denk aan families); KlantID's zijn dat uiteraard wel.
4. Persoonlijk zou ik de gezinssamenstelling van de klanten opsplitsen in twee tabellen: hoofdgegevens per gezin, en gezinsleden. Daarmee kun je het aantal velden in de tabel tblAdres aanzienlijk verkleinen, en ook meer dan 3 kinderen aan een gezin toevoegen.
5. In de tabel tblAdres heb je een apart veld voor eerste stempel; er vanuit gaande dat je hiermee de eerste keer dat iets geleend wordt bedoeld, is dit veld overbodig; die info haal je immers ook uit de tabel uitleningen.
Wat ik mis in de tabel, is een optie om een uitleenpas te blokkeren, bijvoorbeeld i.v.m. slecht terugbrenggedrag. Misschien heb je zo'n veld wel niet nodig...
6. Waarom heb je in de tabel Uitleengeschiedenis een veld Volgnummer? Dat is toch al je veld Uuitleen ID (autonummering)? Ik zie dat veld ook terugkomen in de tabel tblboek. Zelfde vraag dus...
7. In de tabel tblboek zit een veld AdresID. Lijkt mij daar niet nodig. Net als de overige uitleengegevens. Restantje van de eerste opzet?
In bijgaand relatieschema heb ik de relaties tussen de tabellen gemaakt zoals het volgens mij zou moeten. Met deze koppelingen, kan er al bijna niks meer misgaan, dan is de rest een kwestie van fijntunen.
Succes verder!
Verdere vragen zijn uiteraard altijd welkom!
Michel