Sobes.tech
Middle

Шумо дар бораи шаклҳои оддӣ дар базаҳои додаҳо чӣ медонед?

sobes.tech AI

Ҷавоб аз AI

Нормальныя формы (НФ) — гэта набор правілаў і рэкамендацый для праектавання структуры реляцыйнай базы дадзеных, накіраваных на мінімізацыю лішніх дадзеных і прадухіленне анамалій пры ўстаўцы, абнаўленні і выдаленні.

Асноўныя нормальныя формы:

  • Першая нормальная форма (1НФ):

    • Кожны атрыбут (слупок) павінен утрымліваць атомарныя (нераздзельныя) значэнні.
    • Адсутнасць паўтаральных груп атрыбутаў.
    • Кожны радок павінен быць унікальным (наяўнасць першаснага ключа).
  • Другая нормальная форма (2НФ):

    • Знаходзіцца ў 1НФ.
    • Кожны неключавы атрыбут павінен цалкам залежаць ад усяго першаснага ключа (калі першасны ключ складзены).
  • Трэцяя нормальная форма (3НФ):

    • Знаходзіцца ў 2НФ.
    • Адсутнасць транзітыўных залежнасцей неключавых атрыбутаў ад першаснага ключа (неключавы атрыбут не павінен залежаць ад іншага неключавага атрыбута).
  • Форма Бойса-Кода (ФБК/BCNF):

    • Больш строгая версія 3НФ.
    • Кожная нетрывіяльная залежнасць $X \to Y$ павінна мець $X$ як суперключ.
  • Чацвёртая нормальная форма (4НФ):

    • Знаходзіцца ў ФБК.
    • Адсутнасць шматзначных залежнасцей.
  • Пятая нормальная форма (5НФ):

    • Знаходзіцца ў 4НФ.
    • Адсутнасць залежнасцей злучэння.

Мэты нормалізацыі:

  • Змяншэнне лішніх дадзеных.
  • Прадухіленне анамалій (ўстаўка, абнаўленне, выдаленне).
  • Забеспячэнне цэласнасці дадзеных.
  • Спрашчэнне структуры базы дадзеных.

Прыклад:

Табліца з лішнімі дадзенымі (не ў 1НФ):

ЗаказID Товар Цена
1 Ноутбук, Мышь 1000, 20
2 Клавіятура 50

Нормалізаваная табліца (у 1НФ і вышэй):

Табліца "Заказы":

ЗаказID
1
2

Табліца "Пазіцыі заказу":

ПазіцыяID ЗаказID Товар Цена
1 1 Ноутбук 1000
2 1 Мышь 20
3 2 Клавіятура 50

Нормалізацыя — важны этап праектавання, але празмерная нормалізацыя можа прывесці да павелічэння колькасці злучэнняў пры запытах, што можа негатыўна паўплываць на прадукцыйнасць. Выбар аптымальнага ўзроўню нормалізацыі залежыць ад канкрэтных патрабаванняў і кампрамісаў. Часам выкарыстоўваецца дэнормалізацыя для аптымізацыі прадукцыйнасці ў пэўных сцэнарыях, свядома парушаючы правілы нормальных формаў.