Xayiraad buuxda oo shaqeyneysa waa xaalad caadi ah xogta xogta oo u dhiganta heerka caadiga ah ee Foomka 2aad ee caadiga ah (2NF) . Taasoo micnaheedu yahay in ay buuxinayso shuruudaha Foomka Koowaad ee Koowaad (1NF), dhammaan sifooyinka aan muhiimka ahayni si buuxda ugu tiirsan yihiin fureka koowaad.
Tani ma aha mid adag sida ay u dhawaaqi karto. Bal aan eegno arrinkan si faahfaahsan.
Soo koobida foomka caadiga ah ee koowaad
Ka hor intaan xog-ururin ay si buuxda ugu tiirsanaan karto, waa in marka hore la raaco Foomka Heerka Koowaad .
Dhammaan tani waxay ka dhigan tahay in sifo kastaa ay tahay inay lahaato hal qiime oo atomi ah.
Tusaale ahaan, miiska soo socda ma waafaqsan yahay 1NF, sababtoo ah shaqaalaha Tina waxaa lala xiriirinayaa laba goobood, labaduba waxay ku jiraan hal unug:
Shaqaale | Goobta |
---|---|
Yooxanaa | Los Angeles |
Tina | Los Angeles, Chicago |
U oggolaanshaha naqshadeynta ayaa si xun u saameyn karta cusbooneysiinta xogta ama gelitaanka. Si loo xaqiijiyo u hoggaansamida 1NF, dib u habee miiska si aad u muujiso dhammaan sifooyinka (ama unugyada column) inay qiime hal leeyihiin:
Shaqaale | Goobta |
---|---|
Yooxanaa | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Laakiin 1NF weli kuma filna in laga hortago dhibaatooyinka macluumaadka.
Sidee 2NF u shaqeyneysaa si loo xaqiijiyo ku tiirsanaan buuxda
Si aad si buuxda ugu tiirsanaato, dhamaan sifooyinka muhiimka ah ee aan ku jirin musharaxa waa inay ku xiran tahay furaha koowaad. (Xusuusnow, astaamaha muhiimka ah ee musharaxa waa furaha (tusaale ahaan, furaha koowaad ama furaha) oo loo isticmaalo si gaar ah loo aqoonsado diiwaanka databaseka.
Naqshadeeyayaasha Database waxay isticmaalaan qori si ay u sharaxaan xiriirka ku-xiran ee u dhexeeya sifooyinka:
Haddii sifo A ayaa go'aamiya qiimaha B, waxaan ku qornaa A -> B - macnaheedu waa in B uu ku shaqeyn karo A. Jiritaankani, A ayaa go'aamiya qiimaha B, halka B uu ku xiran yahay A.
Tusaale ahaan, shaxda Shaqaalaha Shaqaalaha ee hoos ku qoran, Shaqaaleeyaha iyo DeptID waa furayaasha labada musharax: Shaqaaluhu waa mawduuca muhiimka ah ee miiska halka DeptID uu yahay furaha shisheeye.
Waxyaalaha kale ee kale - kiiskan, Shaqaalaha Magaca iyo Qaybta Magaca - waa inay ku xiran tahay furaha koowaad si loo helo qiimaha.
Shaqaale | Shaqaale Magaca | DeptID | Qaybta Magaca |
---|---|---|---|
Emp1 | Yooxanaa | Dept001 | Maaliyadda |
Emp2 | Tina | Dept003 | Iibka |
Emp3 | Carlos | Dept001 | Maaliyadda |
Xaaladdan, jadwalku ma aha mid si buuxda ugu tiirsan sababtoo ah, inta uu shaqaaluhu ku xiran yahay shaqaalaha asaasiga ah ee muhiimka ah, Dakhliga Magaca wuxuu ku xiran yahay bedelka DeptID. Tan waxaa loo yaqaan ' dependence partial' .
Si miiskaan loo dhigo waafaqsan 2NF, waxaan u baahannahay inaan xogta u kala dhigno labo jadwal:
Shaqaale | Shaqaale Magaca | DeptID |
---|---|---|
Emp1 | Yooxanaa | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
Waxaan ka saari karnaa sifaha DeptName ee miiska Shaqaalaha oo abuuraya miis cusub oo miisaaniyadeed:
DeptID | Qaybta Magaca |
---|---|
Dept001 | Maaliyadda |
Dept002 | Khayraadka Shaqaalaha |
Dept003 | Iibka |
Hadda xiriirka u dhexeeya miisaska ayaa si buuxda ugu tiirsan, ama 2NF.
Sababta Dheellitirnaanta Ku Saabsan Waa Muhiim
Ku tiirsanaanta buuxda ee u dhaxaysa sifaha xogta waxay kaa caawineysaa hubinta xogta iyo ka fogaanshaha xasaasiyadda xogta.
Tusaale ahaan, ka fiirso jadwalka qaybta kor ku xusan ee u hoggaansanaayo oo keliya 1NF. Halkan waa, mar kale:
Shaqaale | Goobta |
---|---|
Yooxanaa | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina waxay leedahay laba diiwaan. Haddii aan cusboonaysiino mid aan ogaanin in ay jiraan laba, natiijadu waxay noqon doontaa xog aan sax ahayn.
Ama, maxaa dhacaya haddii aan rabno inaan ku darno shaqaale miiskaan, laakiin weli ma ogaanno Goobta? Waxaa laga yaabaa inaan nala mamnuucno inaan xitaa ku darno shaqaale cusub haddii Nidaamka Goobtu uusan u oggolaanin qiimaha NULL.
Kala duwanaansho buuxda ma aha sawirka oo dhan, inkastoo, marka ay timaaddo caadi ahaan. Waa inaad hubisaa in macluumaadkaaga ku yaala uu ku jiro Foomamka Saddexaad ee Saddexaad (3NF).