Mysql
 sql >> база данни >  >> RDS >> Mysql

Първа нормална форма и собствени и фамилни имена

1NF е за атомарност, а не за излишък (за това са по-високите нормални форми). По същество, ако всички атрибути са атомарни, вашата таблица е в 1NF.

Очевидно, дали дадена таблица е в 1NF зависи от това, което дефинирате като "атомна". Какво всъщност означава "атомност" е въпрос на известен спор, но тук бих възприел прагматичен подход за всеки отделен случай и просто бих попитал:

В контекста на проблема, който се опитвам да разреша, има ли смисъл да имам достъп до част от стойността или винаги имам достъп до цялата стойност?

Ако винаги имам достъп до цялото, то е атомарно в този конкретен контекст.

Във вашия пример е вероятно да искате да получите достъп до first_name и last_name отделно, така че full_name ще бъде неатомен и това би било причината за нарушаване на 1NF. Ако обаче знаете, че никога няма да имате нужда от достъп до собственото и фамилното име поотделно, тогава бихте могли да просто full_name и все още не нарушава 1NF.

Тук "достъпът" до стойността трябва да се разбира доста широко. Очевидно може да означава четене от базата данни, но също така може да означава използването му в ограничение или индексирането му и т.н....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да сравня две колони в SQL?

  2. Как да вляза в MySQL като различен потребител?

  3. Как да поръчате MySQL VARCHAR резултати

  4. MySql избира следващото по-ниско число, без да използва лимит

  5. Групиране по ден от времеви печат