Նորմալացնել ձեր տվյալների շտեմարանը. Առաջին հերթական ձեւը

Այս երկու պարզ կանոնները կօգնեն ձեր տվյալների բազան նորմալացնելուն

Առաջին նորմալ ձեւը (1NF) սահմանում է կազմակերպված տվյալների բազայի հիմնական կանոնները.

Ինչ է այս կանոնները նշանակում, երբ տվյալների բազայի գործնական դիզայնը դիտարկվում է: Դա իրականում շատ պարզ է:

1. Վերացնել Կրկնօրինակումը

Առաջին կանոնը թելադրում է, որ մենք չպետք է կրկնօրինակենք տվյալների նույն աղյուսակում: Տվյալների բազայի համայնքում այս հայեցակարգը կոչվում է սեղանի ատոմություն: Սույն կանոնին համապատասխանող սեղանները համարվում են ատոմային: Եկեք ուսումնասիրենք այս սկզբունքը դասական օրինակով. Այն աղյուսակը, որը ներառում է մարդկային ռեսուրսների տվյալների բազայում, որը պահպանում է ղեկավարին ենթակա հարաբերությունները: Մեր օրինակի համար մենք կկիրառենք այն գործարար կանոնը, որը յուրաքանչյուր կառավարիչ կարող է ունենալ մեկ կամ ավելի ենթականեր, իսկ յուրաքանչյուր ստորադաս կարող է ունենալ միայն մեկ կառավարիչ:

Ինտուիտիվորեն, այս տեղեկատվությունը դիտելու համար ցուցակ կամ աղյուսակներ ստեղծելու ժամանակ մենք կարող ենք ստեղծել սեղան, հետեւյալ դաշտերով.

Այնուամենայնիվ, հիշեք 1NF- ի կողմից կիրառվող առաջին կանոնը. Նույն աղյուսակում վերացնել կրկնվող սյունակները: Ակնհայտ է, որ ենթաօրենսդրական 1-ստորադաս սյունակները կրկնօրինակ են: Մի պահ պահեք եւ մտածեք այս սցենարով առաջացած խնդիրների մասին: Եթե ​​ղեկավարը միայն մեկ ստորադաս է, Subordinate2-Subordinate4 սյունակները պարզապես մաքրված պահեստային տարածք են (թանկարժեք բազայի ապրանք): Ավելին, պատկերացրեք այն դեպքը, երբ մենեջերը արդեն ունի 4 ենթաօրենսդրություն, ինչ է տեղի ունենում, եթե նա մեկնում է մեկ այլ աշխատակցի: Ամբողջ սեղանի կառուցվածքը պահանջում է փոփոխություն:

Այս պահին երկրորդ փայլուն գաղափարը սովորաբար տեղի է ունենում տվյալների շտեմարանների նորարարությունների համար. Մենք չենք ուզում ունենալ մեկից ավելի սյուն եւ մենք ցանկանում ենք թույլ տալ տվյալների պահեստավորման ճկուն քանակություն: Եկեք փորձենք նման բան.

Իսկ Ենթակառուցվածքների դաշտը պարունակում էր բազմաթիվ գրառում «Մերի, Բիլլ, Ջո» ձեւով:

Այս լուծումը ավելի մոտ է, բայց նաեւ այն կարճ է: Ենթակառուցվածքների սյունակը դեռեւս կրկնօրինակ է եւ ոչ ատոմային: Ինչ է տեղի ունենում, երբ մենք պետք է ավելացնենք կամ հեռացնենք ստորադասը: Պետք է կարդանք եւ գրեք սեղանի ամբողջ բովանդակությունը: Դա այս իրավիճակում մեծ գործարք չէ, այլ այն, ինչի արդյունքում, եթե մեկ կառավարչի մոտ հարյուր աշխատող կա: Բացի այդ, դա բարդացնում է տվյալների շտեմարանի տվյալների հետագա հարցումների ընտրության գործընթացը:

Ահա սեղան, որը բավարարում է 1NF- ի առաջին կանոնը.

Այս դեպքում, յուրաքանչյուր ստորադասը մեկ մուտքի ունի, սակայն ղեկավարները կարող են ունենալ բազմակի գրառում:

2. Սահմանել առաջնային բանալի

Այժմ, ինչ վերաբերում է երկրորդ կանոնին, ճանաչեք յուրաքանչյուր տող յուրահատուկ սյունակի կամ սյուների հավաքածուի ( առաջնային բանալին ): Դուք կարող եք դիտել վերեւում գտնվող աղյուսակը եւ առաջարկել ստորադաս սյունակի օգտագործումը որպես առաջնային բանալին: Իրականում ստորադաս սյունակը լավ առաջնահերթ է, քանի որ մեր բիզնեսի կանոնները ցույց են տվել, որ յուրաքանչյուր ստորադաս կարող է ունենալ միայն մեկ ղեկավար: Այնուամենայնիվ, այն տվյալները, որոնք մենք ընտրել ենք մեր սեղանին պահելու համար, դա դարձնում է ոչ պակաս, քան իդեալական լուծում: Ինչ է տեղի ունենում, եթե մենք վարձում ենք մեկ այլ աշխատող Ջիմ անունով: Ինչպես ենք մենք պահում իր մենեջեր-ստորադաս հարաբերությունները տվյալների բազայում:

Լավագույնն այն է, որ իրական առաջնային բանալին օգտագործեք իսկապես եզակի նույնացուցիչ (օրինակ, աշխատողի ID): Մեր վերջնական աղյուսակը նման կլինի:

Այժմ մեր սեղանը նորմալ ձեւով է: Եթե ​​ցանկանում եք շարունակել սովորել նորմալացման մասին, կարդացեք այս շարքի մյուս հոդվածները.