Ik heb een lastig probleem, maar ik denk dat het wel veel voorkomt en hoop dan ook dat jullie mij verder kunnen helpen.

Het gaat om het volgende. Ik ben bezig met een systeem waar inschrijvingen voor cursussen beheerd kunnen worden. Er worden verschillende curssusen aangeboden, waarvoor ook verschillende gegevens nodig zijn bij aanmelding.

Voorbeeld: cursus taxi-chauffeur en cursus heftruck. Gedeelte van tabellen hieronder weergegeven.

PERSOON
prs_id
prs_achternaam

CURSUS
cur_id
cur_naam

INSCHRIJVING
ins_id
prs_id
cur_id
ins_cursusdag

INSCHRIJVING_TAXI
ins_id
ins_eigenauto
ins_theorie
ins_praktijk

INSCHRIJVING_TRUCK
ins_id
ins_certificaatnr
ins_examenplaats

In de tabel INSCHRIJVING staan dus gegevens die voor elke inschrijving nodig zijn en in de andere inschrijving tabellen de gegevens die nodig zijn voor een specifieke cursus (naast de algemene gegevens).

Mijn vraag is nu: hoe kan ik deze gegevens op een nette manier (d.m.v. een JOIN?) koppelen..? Ik heb al gedacht aan een extra veld in de tabel CURSUS met de naam van de tabel waarin de gegevens worden opgeslagen, maar ik weet niet of dit mogelijk is en of dit wel zo'n nette manier is.

Misschien is er ook wel een veel betere manier om al deze gegevens op te slaan, dan hoor ik dat graag.

Hopelijk heb ik het probleem duidelijk uitgelegd en kunnen jullie mij verder helpen. Alvast bedankt!
Niemand die mij verder kan helpen..?

Nog een ander voorbeeld om het te verduidelijken.

Een webshop van computer onderdelen. Moederborden, Harde schijven en geheugenmodules. Vanzelfsprekend hebben deze allemaal andere eigenschappen. Hoe zouden jullie dit opslaan in een database..?

PRODUCTEN
prd_id
prd_merk
prd_prijs

PRODUCT_HDD
prd_id
prd_rpm
prd_capaciteit

PRODUCT_MB
prd_id
prd_socket
prd_pci

PRODUCT_GEHMOD
prd_id
prd_mb
prd_klok

Als ik nu een bepaald product aanklik binnen mijn applicatie, hoe moet ik dan de juiste tabel koppelen aan de PRODUCT tabel..?
Je moet je database zo indelen dat er NOOOOIT dubbele informatie in staat als dit niet nodig is.. en inderdaad moet je alles met id's opslaan.. dus geen namen opslaan als er bij die namen een id hoort.. stel je veranderd een naam is het geen leuk karwij om dit overal te moeten doen;)

Reageren