In Access praten we niet over cellen (da's echt een ander pakket

) maar over
velden. Dus dat houden we verder maar aan.
Vraag 1 en 2 zijn eigenlijk hetzelfde onderwerp, dus die pak ik samen. Elke combinatie van gegevens in een tabel (samen een record vormend) moet inderdaad uniek zijn, wil de tabel genormaliseerd heten. Dat betekent dus dat er geen dubbele records in mogen voorkomen. Is ook wel logisch, lijkt mij. Nog afgezien van de vraag
waarom je dubbele records zou willen hebben. Elk veld moet daarnaast een
unieke waarde bevatten. Dus een combinatie zoals in het voorbeeld, waarbij je meerdere maten in één veld zet, zorgt ervoor dat de inhoud van het veld niet uniek is (immers meerdere maten in één veld) en dat is dus einde oefening qua normalisering. Daarom ben ik ook geen fan van het veldtype waarin je meerdere waarden kan opslaan; daar gaat je normalisatie! Al is dat niet helemaal waar, want Access gebruikt een interne tabel voor velden met multi-waarden. Maar je integriteit, en compatibliteit met andere systemen is gelijk naar de knoppen.
Vraag 3: Een
primaire sleutel is de
minimale combinatie van velden die een record uniek maken. Elk veld dat je aan die combinatie toevoegt, maakt voor de
sleutelfunctie niet uit,maar de sleutel is dan niet meer primair, want je hebt er teveel velden inzitten.
Vraag 4: Een artikel heeft vaak een eigen (unieke) code. Dit werkt niet altijd, omdat je artikelen in een bepaalde kleur, of een bepaalde maat kan krijgen. En dan is het artikel op basis van het artikelnummer niet meer uniek te identificeren. Dan pak je bijvoorbeeld een kleurcode erbij, of een maat. Zolang de combinatie dus maar uniek is.
In je vraag wilde je door naar de 5e normaal. Zou ik niet doen; de meeste databases zijn niet verder genormaliseerd dan de 3e normaalvorm, en dat is meer dan voldoende. Ga je een stap verder, dan wordt je database veel lastiger te bouwen en onderhouden. Uiteraard kun je er nog wel over lezen

.