Нормализирање на Вашата база на податоци: Прва нормална форма

Овие две едноставни правила ќе помогнат во нормализирањето на вашата база на податоци

Прва нормална форма (1NF) ги поставува основните правила за организирана база на податоци:

Што значи овие правила кога размислуваат за практичниот дизајн на базата на податоци? Всушност, тоа е сосема едноставно.

1. Елиминирање на умножување

Првото правило диктира дека не смееме да ги дуплираме податоците во истиот ред на табелата. Во рамките на заедницата на бази на податоци, овој концепт се нарекува атомичност на табелата. Табелите кои се во согласност со ова правило се вели дека се атомски. Ајде да го разгледаме ова начело со класичен пример: табела во базата на податоци за човечки ресурси која го чува менаџерско-подреден однос. За целите на нашиот пример, ќе го наметнеме деловното правило дека секој менаџер може да има еден или повеќе подредени, додека секој подреден може да има само еден менаџер.

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

Сепак, потсетете се на првото правило наметнато од 1NF: Елиминирајте ги дуплирачките колони од истата табела. Очигледно, колоните подредени1-подредени4 се дуплираат. Земете момент и размисли за проблемите што ги покрена ова сценарио. Ако менаџер има само еден подреден, колоните Subordinate2-Subordinate4 едноставно се трошат за простор за складирање (драгоцена база на податоци). Понатаму, замислете случај кога менаџер веќе има 4 подредени - што се случува ако таа презема друг вработен? Целата структура на табела ќе бара модификација.

Во овој момент, втората светла идеја обично се појавува кај новинарите на базата на податоци: Не сакаме да имаме повеќе од една колона и сакаме да дозволиме флексибилно количество на складирање податоци. Ајде да пробаме нешто вака:

И подредените поле ќе содржи повеќе записи во форма "Марија, Бил, Џо."

Ова решение е поблиску, но, исто така, недостига марка. Колоната на подредените сеуште е дупликативна и неатомска. Што се случува кога треба да додадеме или отстраниме подреден? Треба да ја прочитаме и напишеме целата содржина на табелата. Тоа не е голема работа во оваа ситуација, но што ако еден менаџер има стотина вработени? Исто така, го комплицира процесот на избор на податоци од базата на податоци во идните пребарувања.

Еве една табела која ги задоволува првите правила на 1NF:

Во овој случај, секој подреден има еден запис, но менаџерите можат да имаат повеќе записи.

2. Идентификувајте го примарниот клуч

Сега, што е со второто правило: да се идентификува секој ред со единствена колона или збир на колони ( примарен клуч )? Може да ја погледнете горната табела и да предложите употреба на подредената колона како примарен клуч. Всушност, потчинетата колона е добар кандидат за примарен клуч поради фактот што нашите деловни правила наведуваат дека секој подреден може да има само еден менаџер. Сепак, податоците што ги избравме за да ги зачуваме во нашата табела го прави ова помалку идеално решение. Што се случува ако вработиме друг вработен по име Џим? Како да го зачуваме неговиот менаџер-подреден однос во базата на податоци?

Најдобро е да се користи навистина уникатен идентификатор (како што е вработен проект) како примарен клуч . Нашата финална табела ќе изгледа вака:

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