NULL is de ideale manier zelfs om aan te geven dat iets niet aanwezig is in plaats van een initiele waarde heeft (viewCount = 0) of daadwerkelijk gevuld is (naam = 'Sjaak'). In dit geval is de koppeling niet aanwezig en is dus NULL. De reden dat je daar geen NULL zou willen hebben, is omdat je geen orphan records wilt en altijd de relatie tussen track, arties en album afdwingt via foreign key constraints.
Dan kun je dus geen track inserten zonder de artiest en album id's mee te geven, en kun je er voor kiezen dat de track automatisch verdwijnt zodra je de artiest of het album verwijdert, of juist een album of artiest niet verwijderd kan worden zonder dat je eerst de bijbehorende tracks aangepast of verwijderd hebt.
Gooi die rare koppeltabel er uit, als je volgens de regels normaliseert dan verdwijnt die sowieso vanzelf. Tenzij je wil weten of een bepaalde track vaker uitgebracht is, bijvoorbeeld op single, de CD en nog een keer op de 'best of' CD. Maar dan moet track id er dus bij, en moet bij track de album en artiest id's verdwijnen. Je moet dat maar op één niveau afvangen die relatie.
Verder noem je een tabel 'Tracks' en is de rest in enkelvoud.
Je hoeft van mij mijn standaard (enkelvoud voor alles) niet aan te houden, maar doe het allemaal wel volgens de zelfde manier.
[
Voor 73% gewijzigd door
BikkelZ op 09-03-2008 16:29
]