Նորմալացնել ձեր տվյալների շտեմարանը
Եթե դուք ժամանակին աշխատել եք տվյալների բազաների հետ, հնարավորությունները լսել եք ժամկետի նորմալացման մասին: Գուցե ինչ-որ մեկը հարցրեց, «Արդյոք այդ բազան նորմալացել է»: կամ «Արդյոք սա BCNF- ում է»: Նորմալացումը հաճախ շեղվում է որպես շքեղություն, որը միայն ժամանակի գիտնականն է: Այնուամենայնիվ, իմանալով կարգավորելու սկզբունքները եւ դրանք կիրառելով ձեր ամենօրյա տվյալների շտեմարանների դիզայնի խնդիրներին, իրականում այդքան էլ բարդ չէ, եւ դա կարող է կտրուկ բարձրացնել ձեր ԱՀԿ-ի կատարումը:
Այս հոդվածում մենք կներկայացնենք նորմալացման հայեցակարգը եւ կարճ դիտարկենք ամենատարածված նորմալ ձեւերը:
Ինչ է կարգավորում:
Նորմալացումը տվյալների բազայում տվյալների արդյունավետ կազմակերպման գործընթացն է: Կարգավորման գործընթացի երկու նպատակ կա `ավելորդ տվյալների վերացում (օրինակ, նույն տվյալների մեկից ավելի աղյուսակում պահելը) եւ տվյալների կախվածությունը ապահովելու համար (միայն սեղանի հետ կապված տվյալները պահելը): Երկուսն էլ արժանի նպատակներ են, քանի որ դրանք նվազեցնում են տարածքի քանակությունը, տվյալների բազան սպառում է եւ ապահովում է, որ տվյալները տրամաբանական պահված են:
Նորմալ ձեւեր
Տվյալների բազայի համայնքը մշակել է մի շարք ուղեցույցներ, որոնք ապահովելու համար, որ տվյալների բազաները կարգավորվեն: Դրանք անվանում են նորմալ ձեւեր եւ համարակալվում են մեկից (հինգերորդ նորմալ ձեւ կամ 5NF) հինգ (հինգերորդ նորմալ ձեւ կամ 5NF) միջոցով (առաջին կարգի կամ 1NF): Գործնական ծրագրերում դուք հաճախ տեսնում եք 1NF, 2NF եւ 3NF պարբերաբար 4NF- ով: Հինգերորդ նորմալ ձեւը շատ հազվադեպ է երեւում եւ չի քննարկվում սույն հոդվածում:
Նախքան սկսենք նորմալ ձեւերի քննարկումները, կարեւոր է նշել, որ դրանք միայն ուղեցույցներ եւ ուղեցույցներ են: Երբեմն անհրաժեշտ է դադարեցնել նրանցից գործնական բիզնես պահանջները բավարարելու համար: Այնուամենայնիվ, երբ տատանումները տեղի են ունենում, չափազանց կարեւոր է գնահատել հնարավոր բոլոր թերությունները, որոնք կարող են ունենալ ձեր համակարգում եւ հաշվի համար հնարավոր անհամապատասխանությունների համար: Ասացեք, եկեք ուսումնասիրենք նորմալ ձեւերը:
Առաջին նորմալ ձեւ (1NF)
Առաջին նորմալ ձեւը (1NF) սահմանում է հիմնական տեղեկատվական բազայի հիմնական կանոնները.
- Վերացնել նույն աղյուսակից կրկնվող սյունակները:
- Ստեղծեք առանձին աղյուսակներ առանձին տվյալների յուրաքանչյուր խմբի համար եւ նշեք յուրաքանչյուր տող եզակի սյունակ կամ սյունակների հավաքածու ( առաջնային բանալ ):
Երկրորդ նորմալ ձեւ (2NF)
Երկրորդ նորմալ ձեւը (2NF) հետագայում կրկնում է կրկնօրինակ տվյալների հեռացման հայեցակարգը.
- Հանդիպեք առաջին նորմալ ձեւի բոլոր պահանջներին:
- Հեռացրեք սեղանի բազմակի տողերի նկատմամբ կիրառվող տվյալների ենթաբաժինները եւ դրանք տեղադրեք առանձին սեղաններում:
- Ստեղծեք այս նոր աղյուսակների եւ նրանց նախորդների միջեւ օտարերկրյա բանալիներ օգտագործելու միջոցով:
Երրորդ հերթական ձեւը (3NF)
Երրորդ հերթական ձեւը (3NF) գնում է մեկ մեծ քայլ:
- Հանդիպեք երկրորդ նորմալ ձեւի բոլոր պահանջներին:
- Հեռացրեք սյուները, որոնք կախված չեն առաջնային բանալիից:
Boyce-Codd Normal ձեւը (BCNF կամ 3.5NF)
The Boyce-Codd Normal Form- ը նաեւ կոչվում է «երրորդ եւ կես (3.5) նորմալ ձեւ», ավելացնում է եւս մեկ պահանջ.
- Հանդիպեք երրորդ կարգի բոլոր պահանջներին:
- Յուրաքանչյուր որոշիչ պետք է լինի թեկնածուի բանալին:
Չորրորդ հերթական ձեւը (4NF)
Վերջապես, չորրորդ նորմալ ձեւը (4NF) ունի մեկ լրացուցիչ պահանջ.
- Հանդիպեք երրորդ կարգի բոլոր պահանջներին:
- Եթե հարաբերությունը 4NF- ն է, ապա այն չափազանց մեծարժեք կախվածություն չունի :
Հիշեք, որ այդ կարգավորիչ ուղեցույցները կուտակային են: 2NF- ի տվյալների բազան պետք է առաջին հերթին կատարի 1NF տվյալների բազայի բոլոր չափանիշները:
Պետք է արդյոք նորմալացնել:
Թեեւ տվյալների բազայի կարգավորումը հաճախ լավ գաղափար է, դա բացարձակ պահանջ չէ: Փաստորեն, կան որոշ դեպքեր, երբ դիտավորյալ կարգապահության կանոնները խախտողը լավ պրակտիկա է: Այս թեմայի վերաբերյալ ավելի շատ կարելի է կարդալ, արդյոք ես իմ տվյալների շտեմարանը նորմալացնեմ:
Եթե ցանկանում եք ապահովել ձեր տվյալների շտեմարանը նորմալացված, սկսեք սովորել, թե ինչպես պետք է ձեր տվյալների բազան դնեք առաջին Normal Form :