Ik heb 't volgende voorbeeld ERD gemaakt:

Een zijn dus personen, en deze persoon kan óf een docent óf een student zijn. Personen hebben altijd een naam, en afhankelijk van de categorie waartoe ze behoren hebben ze een DatumIndienst, of een Studierichting.
Nu moet dit resulteren in een database. Ik zou graag jullie visie willen hierop. Ik heb op dit moment 2 ideeën:
Alles in 1 tabel:
tblPersoon
--------------
Nummer
Naam
DatumIndienst
Studierichting
Het voordeel is dat ik met 1 select statement alle info kan ophalen uit de tabel. Het nadeel is dat er Null-waarden ontstaan in records.
3 tabellen:
tblPersoon
--------------
Nummer
Naam
(eventueel de kolom 'Categorie' erbij)
tblDocent
-------------
Nummer
DatumIndienst
tblStudent
-------------
Nummer
Studierichting
Het voordeel is dat naam van de tabellen precies aangeeft wat hun inhoud is, dat je geen overbodige records of kolommen hebt (als iemand een student is, is er geen docent record, en dus geen null-waarden)
Het nadeel is dat je bij het ophalen van gegevens eerst data uit de persoon-tabel ophaalt, dan kijkt aan de hand van de categorie-kolom bekijkt of het een docent of student is, en dan de relevante tabel gaat querieën.
Ik zou gaan voor optie 2.
Zijn er nog meer opties, of zie ik dingen over het hoofd?
Een zijn dus personen, en deze persoon kan óf een docent óf een student zijn. Personen hebben altijd een naam, en afhankelijk van de categorie waartoe ze behoren hebben ze een DatumIndienst, of een Studierichting.
Nu moet dit resulteren in een database. Ik zou graag jullie visie willen hierop. Ik heb op dit moment 2 ideeën:
Alles in 1 tabel:
tblPersoon
--------------
Nummer
Naam
DatumIndienst
Studierichting
Het voordeel is dat ik met 1 select statement alle info kan ophalen uit de tabel. Het nadeel is dat er Null-waarden ontstaan in records.
3 tabellen:
tblPersoon
--------------
Nummer
Naam
(eventueel de kolom 'Categorie' erbij)
tblDocent
-------------
Nummer
DatumIndienst
tblStudent
-------------
Nummer
Studierichting
Het voordeel is dat naam van de tabellen precies aangeeft wat hun inhoud is, dat je geen overbodige records of kolommen hebt (als iemand een student is, is er geen docent record, en dus geen null-waarden)
Het nadeel is dat je bij het ophalen van gegevens eerst data uit de persoon-tabel ophaalt, dan kijkt aan de hand van de categorie-kolom bekijkt of het een docent of student is, en dan de relevante tabel gaat querieën.
Ik zou gaan voor optie 2.
Zijn er nog meer opties, of zie ik dingen over het hoofd?