Aðlaga gagnagrunninn þinn: Skipta yfir í annað venjulegt form (2NF)

Setja upp gagnagrunn í öðru venjulegu formi

Undanfarna mánuði höfum við litið á nokkra þætti við að normalize gagnagrunnstafla. Í fyrsta lagi ræddum við grundvallarreglur um stöðlun gagnagrunns. Síðast þegar við skoðuðum grunnkröfur sem settar voru fram í fyrsta eðlilegu formi (1NF). Nú skulum við halda áfram ferð okkar og ná meginreglum annars venjulegs forms (2NF).

Muna almennar kröfur 2NF:

Þessar reglur er hægt að draga saman í einföldu yfirlýsingu: 2NF reynir að draga úr fjölda óþarfa gagna í töflu með því að draga það út, setja það í nýtt borð (s) og búa til tengsl milli þessara tafla.

Við skulum skoða dæmi. Ímyndaðu þér netverslun sem heldur upplýsingum frá viðskiptavinum í gagnagrunni. Þeir gætu haft eitt borð sem heitir Viðskiptavinir með eftirfarandi þætti:

Stutt yfirlit yfir þetta borð sýnir smá magn af óþarfa gögnum. Við geymum "Sea Cliff, NY 11579" og "Miami, FL 33157" færslur tvisvar hvor. Nú virðist það ekki virðast eins og of mikið geymsla í okkar einföldu dæmi, en ímyndaðu þér sóunarsvæðið ef við áttum þúsundir raða í borðið okkar. Að auki, ef póstnúmerið fyrir Sea Cliff ætti að breytast, þurfum við að gera þessi breyting á mörgum stöðum í gagnagrunninum.

Í 2NF-samhæf gagnagrunnsuppbyggingu eru þessar óþarfar upplýsingar teknar út og geymdar í sérstakri töflu. Nýtt borð okkar (við skulum kalla það ZIPs) gæti haft eftirfarandi svið:

Ef við viljum vera frábær-duglegur, getum við jafnvel fyllt þetta borð fyrirfram - pósthúsið veitir skrá yfir allar gildar póstnúmer og borgar / ríki sambönd þeirra. Víst hefur þú komið upp aðstæður þar sem þessi tegund gagnagrunns var notaður. Einhver sem tók á pöntun gæti hafa beðið þig um póstnúmerið þitt fyrst og þá vissi borgin og ástandið sem þú varst að hringja í. Þessi tegund af fyrirkomulagi dregur úr rekstrarvillu og eykur skilvirkni.

Nú þegar við höfum fjarlægt afrita gögnin frá viðskiptavinum töflunni höfum við náð fyrstu reglunni í öðru venjulegu formi. Við þurfum samt að nota erlendan lykil til að binda saman tvær töflur saman. Við notum póstnúmerið (aðal lykillinn úr ZIPs töflunni) til að búa til þetta samband. Hér er nýr viðskiptavinur borð okkar:

Við höfum nú lágmarkað þann fjölda óþarfa upplýsinga sem geymdar eru í gagnagrunninum og uppbygging okkar er í öðru venjulegu formi!

Ef þú vilt tryggja að gagnagrunnurinn sé eðlilegur skaltu kanna aðrar greinar okkar í þessari röð: