Нормализација ваше базе података: прелазак на други обичан образац (2НФ)

Постављање базе података у другу нормалну форму

Током протеклог мјесеца, погледали смо неколико аспеката нормализације табеле базе података. Прво смо разговарали о основним принципима нормализације базе података. Посљедњи пут смо истражили основне захтјеве прописане првом нормалном облику (1НФ). Сада, наставимо путовање и покривамо принципе друге нормалне форме (2НФ).

Подсјетимо на опште захтјеве 2НФ:

Ова правила се могу резимирати у једноставном излагању: 2НФ покушава смањити количину редундантних података у таблици тако што га извлачи, стављајући га у нову табелу и креира везе између тих табела.

Погледајмо пример. Замислите онлине продавницу која одржава информације о купцима у бази података. Можда имају једну таблицу под називом Купци са следећим елементима:

Кратак поглед на ову табелу открива малу количину редундантних података. Ми чувамо "Сеа Цлифф, НИ 11579" и "Миами, ФЛ 33157" ставки двапут сваки. Сада то можда не изгледа као превише додато складиштење у нашем једноставном примеру, али замислите изгубљени простор ако смо имали хиљаде редова на нашем столу. Поред тога, ако би се ЗИП код Морске скале променио, морамо извршити ту промјену на многим мјестима у читавој бази података.

У структури базе података која одговара 2НФ, ове редундантне информације се издвајају и чувају у посебној табели. Наша нова табела (назива се ЗИПс) може имати сљедећа поља:

Ако желимо да будемо супер-ефикасни, можемо чак и попунити ову табелу унапријед - пошта пружа именик свих важећих ЗИП кодова и њихових односа између градова и држава. Сигурно сте наишли на ситуацију у којој се користи ова врста базе података. Неко ко је наручио налог можда је прво тражио ваш поштански број, а затим је знао град и државу одакле сте позвали. Ова врста аранжмана смањује грешку оператора и повећава ефикасност.

Сада када смо уклонили дупликативне податке из табеле Купци, задовољили смо прво правило другог нормалног облика. И даље морамо да користимо инострани кључ за повезивање две табеле заједно. Ми ћемо користити ЗИП код (примарни кључ из табеле ЗИПс) да бисте креирали тај однос. Ево нове табеле купаца:

Сада смо минимизирали количину редундантних информација чуваних у бази података и наша структура је у другој нормалној форми!

Ако желите да осигурате нормализацију ваше базе података, истражите наше друге чланке у овој серији: