Нормализација вс Денормализација
Релативне базе података састоје се од односа (сродне табеле). Табеле су сачињене од стубова. Ако су табеле две велике (тј. Превише ступаца у једној табели), тада се могу појавити аномалије базе података. Ако су таблице двије мале (тј. База података састоји се од много мањих таблица), то би било неефикасно за постављање упита. Нормализација и Денормализација су два процеса која се користе за оптимизацију перформанси базе података. Нормализацијом се минимизирају вишкови који су присутни у табелама података. Денормализација (обрнуто од нормализације) додаје сувишне податке или групне податке.
Шта је нормализација?
Нормализација је процес који се врши како би се смањило редундансе присутне у подацима у релацијским базама података. Овај процес ће углавном поделити велике табеле у мање табеле са мањим вишком (звани „нормални облици“). Ове мање таблице ће бити повезане једна са другом кроз добро дефинисане односе. У добро нормализованој бази података, свака измена или модификација података захтева модификовање само једне табеле. Први нормалан облик (1НФ), други нормалан облик (2НФ) и трећи нормалан облик (3НФ) увео је Едгар Ф. Цодд. Нормални облик Боице-Цодд (БЦНФ) увели су 1974. године Цодд и Раимонд Ф. Боице. Дефинисани су виши нормални облици (4НФ, 5НФ и 6НФ), али се ретко користе.
Табела која је у складу са 1НФ увјерава да она заправо представља однос (тј. Да не садржи записе који се понављају) и не садржи атрибуте који су релацијски вриједности (тј. Сви атрибути требају имати атомске вриједности). Да би табела била у складу са 2НФ, она би требало да буде у складу са 1НФ и сваки атрибут који није део ниједног кандидатског кључа (тј. Нон-приме атрибути) треба у потпуности да зависи од било ког од кандидатских кључева у табели. Према Цоддовој дефиницији, за табелу се каже да има 3НФ, ако и само ако је та табела у другом нормалном облику (2НФ), а сваки атрибут у табели који не припада кандидатском кључу треба директно да зависи од сваког кандидат кључ те табеле. БЦНФ (познат и као 3.5НФ) биљежи неке аномалије које 3НФ не рјешава.
Шта је Денормализација?
Денормализација је обрнути процес нормализације. Денормализација делује додавањем сувишних података или груписањем података ради оптимизације перформанси. Иако додавање сувишних података звучи контрапродуктивно, понекад је денормализација веома важан процес за превазилажење неких недостатака у софтверу релационе базе података који могу резултирати великим казнама перформанси са нормализованим базама података (чак подешеним за веће перформансе). То је зато што спајање неколико односа (који су резултати нормализације) да би се произвео резултат упиту понекад може бити споро, у зависности од стварне физичке имплементације система база података.
Која је разлика између нормализације и денормализације? - Нормализација и денормализација су два процеса која су потпуно супротна. - Нормализација је процес поделе већих таблица на мање који смањују сувишне податке, док је денормализација процес додавања сувишних података ради оптимизације перформанси.. - Нормализација се врши да би се спречиле аномалије база података. - Денормализација се обично изводи ради побољшања перформанси читања базе података, али због додатних ограничења која се користе за денормализацију, писање (тј. Операције уметања, ажурирања и брисања) могу постати спорије. Због тога, денормализована база података може понудити лошије перформансе писања од нормализоване базе података. - Често се препоручује да се „нормализујете док не боли, денормализујете док не делује“.
|