Постављање базе података у другу нормалну форму
Током протеклог мјесеца, погледали смо неколико аспеката нормализације табеле базе података. Прво смо разговарали о основним принципима нормализације базе података. Посљедњи пут смо истражили основне захтјеве прописане првом нормалном облику (1НФ). Сада, наставимо путовање и покривамо принципе друге нормалне форме (2НФ).
Подсјетимо на опште захтјеве 2НФ:
- Уклоните подскупове података који се односе на више редова табеле и ставите их у засебне табеле.
- Створите односе између ових нових табела и њихових претходника користећи стране кључеве.
Ова правила се могу резимирати у једноставном излагању: 2НФ покушава смањити количину редундантних података у таблици тако што га извлачи, стављајући га у нову табелу и креира везе између тих табела.
Погледајмо пример. Замислите онлине продавницу која одржава информације о купцима у бази података. Можда имају једну таблицу под називом Купци са следећим елементима:
- ЦустНум
- Име
- Презиме
- Адреса
- Град
- Држава
- ЗИП
Кратак поглед на ову табелу открива малу количину редундантних података. Ми чувамо "Сеа Цлифф, НИ 11579" и "Миами, ФЛ 33157" ставки двапут сваки. Сада то можда не изгледа као превише додато складиштење у нашем једноставном примеру, али замислите изгубљени простор ако смо имали хиљаде редова на нашем столу. Поред тога, ако би се ЗИП код Морске скале променио, морамо извршити ту промјену на многим мјестима у читавој бази података.
У структури базе података која одговара 2НФ, ове редундантне информације се издвајају и чувају у посебној табели. Наша нова табела (назива се ЗИПс) може имати сљедећа поља:
- ЗИП
- Град
- Држава
Ако желимо да будемо супер-ефикасни, можемо чак и попунити ову табелу унапријед - пошта пружа именик свих важећих ЗИП кодова и њихових односа између градова и држава. Сигурно сте наишли на ситуацију у којој се користи ова врста базе података. Неко ко је наручио налог можда је прво тражио ваш поштански број, а затим је знао град и државу одакле сте позвали. Ова врста аранжмана смањује грешку оператора и повећава ефикасност.
Сада када смо уклонили дупликативне податке из табеле Купци, задовољили смо прво правило другог нормалног облика. И даље морамо да користимо инострани кључ за повезивање две табеле заједно. Ми ћемо користити ЗИП код (примарни кључ из табеле ЗИПс) да бисте креирали тај однос. Ево нове табеле купаца:
- ЦустНум
- Име
- Презиме
- Адреса
- ЗИП
Сада смо минимизирали количину редундантних информација чуваних у бази података и наша структура је у другој нормалној форми!
Ако желите да осигурате нормализацију ваше базе података, истражите наше друге чланке у овој серији:
- Основне основе за базу података
- Ставите своју базу у прву нормалну форму
- Ставите своју базу у другу нормалну форму
- Постављање ваше базе података у трећу нормалну форму