Aðlaga gagnagrunninn þinn: First Normal Form

Þessar tvær einföldu reglur munu hjálpa að normalize gagnagrunninn þinn

First Normal Form (1NF) setur grunnreglur fyrir skipulagt gagnagrunn:

Hvað þýðir þessar reglur þegar um er að ræða hagnýta hönnun gagnagrunns? Það er í raun alveg einfalt.

1. Útrýma tvíverknað

Fyrsti reglan kveður á um að við megum ekki afrita gögn í sömu röð töflu. Innan gagnagrunnssamfélagsins er þetta hugtak nefnt atómleiki borðs. Töflur sem eru í samræmi við þessa reglu eru talin vera atóm. Við skulum kanna þessa reglu með klassískum fordæmi: borð í gagnagrunni mannauðs sem geymir undirliggjandi tengslanet. Að því er varðar dæmi okkar munum við setja regluna um að hver stjórnandi kann að hafa einn eða fleiri undirmanna en hvert undirfyrirtæki kann aðeins að vera einn stjórnandi.

Innilega, þegar þú býrð til lista eða töflureikni til að fylgjast með þessum upplýsingum gætum við búið til borð með eftirfarandi reitum:

Hins vegar muna fyrstu reglan sem 1NF lýkur: Eyddu tvíhliða dálka úr sama töflu. Augljóslega eru undirliðir1-undirliggjandi4 dálkar afritaðar. Taka smá stund og hugleiða vandamálin sem upp koma í þessari atburðarás. Ef stjórnandi hefur aðeins einn víkjandi, eru undirlínurnar2-undirliggjandi4 dálkar einfaldlega sóa geymslusvæði (dýrmætur gagnabankavörur). Enn fremur, ímyndaðu þér málið þar sem framkvæmdastjóri hefur nú þegar 4 undirmanna - hvað gerist ef hún tekur á móti öðrum starfsmanni? Allt borð uppbygging myndi þurfa að breyta.

Á þessum tímapunkti kemur annað björt hugmynd yfirleitt til gagnagrunns byrjenda: Við viljum ekki hafa fleiri en eina dálk og við viljum leyfa sveigjanlegan gagnageymslu. Við skulum reyna eitthvað svoleiðis:

Og undirskriftarsvæðið myndi innihalda margar færslur í forminu "Mary, Bill, Joe."

Þessi lausn er nær, en það fellur einnig undir merki. Undirflokkurinn er ennþá tvíverkandi og ekki atóm. Hvað gerist þegar við þurfum að bæta við eða fjarlægja víkjandi? Við þurfum að lesa og skrifa allt innihald töflunnar. Það er ekki stórt mál í þessu ástandi, en hvað ef einn stjórnandi átti eitt hundrað starfsmenn? Einnig flækir það ferlið við að velja gögn úr gagnagrunninum í framtíðarfyrirspurnum.

Hér er borð sem uppfyllir fyrstu reglan um 1NF:

Í þessu tilviki hefur hver undirskrifaður einn færslu, en stjórnendur kunna að hafa margar færslur.

2. Þekkja aðal lykilinn

Nú, hvað um aðra reglan: auðkenna hverja röð með einstaka dálki eða safn dálka ( aðal lykillinn )? Þú gætir þurft að líta á töflunni hér að ofan og stinga upp á að nota víkjandi dálk sem aðal lykill. Reyndar er víkjandi dálkur góður frambjóðandi fyrir aðal lykilatriði vegna þess að reglur fyrirtækisins tilgreindu að hver víkjandi megi aðeins hafa einn stjórnanda. Hins vegar eru gögnin sem við höfum valið að geyma í töflunni okkar minna en hugsjón lausn. Hvað gerist ef við ráða aðra starfsmann sem heitir Jim? Hvernig geyma við undirliggjandi tengsl hans í gagnagrunninum?

Það er best að nota sannarlega einstakt auðkenni (eins og auðkenni starfsmanns) sem aðal lykill . Lokatafla okkar myndi líta svona út:

Nú er borðið okkar í fyrsta eðlilegu formi! Ef þú vilt halda áfram að læra um eðlilegar aðstæður skaltu lesa aðrar greinar í þessari röð: