sql >> Database >  >> RDS >> Mysql

Eerste normaalvorm en voor- en achternaam

De 1NF gaat over atomiciteit, niet over redundantie (dat is waar hogere normaalvormen over gaan). Als alle attributen atomair zijn, staat je tabel in wezen in 1NF.

Het is duidelijk dat of een tabel in 1NF is, afhangt van wat u definieert als "atomair". Wat "atomiciteit" eigenlijk betekent, is een kwestie van enige controverse, maar ik zou hier een pragmatische benadering van geval tot geval nemen en gewoon vragen:

In de context van het probleem dat ik probeer op te lossen, heeft het dan ooit zin om toegang te krijgen tot een deel van de waarde, of heb ik altijd toegang tot de hele waarde?

Als ik altijd toegang heb tot het geheel, is het in die specifieke context atomair.

In uw voorbeeld wilt u waarschijnlijk toegang tot first_name en last_name apart, dus full_name zou niet-atomair zijn en dat zou de reden zijn voor het overtreden van de 1NF. Als u echter weet dat u de voor- en achternaam nooit afzonderlijk hoeft te gebruiken, kunt u slechts de full_name en nog steeds de 1NF niet schenden.

"Toegang tot" de waarde moet hier vrij algemeen worden begrepen. Het kan natuurlijk betekenen dat je het uit de database moet lezen, maar het kan ook betekenen dat je het in een beperking gebruikt, of het indexeert, enz...



  1. Wat uitleg nodig over PHP PDO....!

  2. MySQL insert-instructie (invoegen in tabel (kolommen) select-instructie)

  3. hoe de juiste telling te krijgen

  4. MySQL - Persistente verbinding versus pooling van verbindingen