Sobes.tech
Middle

Ի՞նչ է նորմալիզացիան։

sobes.tech AI

Պատասխան AI-ից

Տվյալների նորմալիզացիան տվյալների բազաների կոնտեքստում գործընթաց է տվյալների կազմակերպման համար՝ նվազեցնելու ավելորդությունը և բարելավելու տվյալների ամբողջականությունը։ Դա հասնում է մեծ աղյուսակների բաժանմամբ փոքրիկների և նրանց հարաբերությունների կապով։

Հիմնական նպատակները՝

  • Տվյալների կրկնօրինակում վերացնելը։
  • Տվյալների ամբողջականությունը բարելավելը (ներմուծման, թարմացման և ջնջման սխալների բացառմամբ)։
  • Հիշողության և հարցումների արդյունավետությունը բարձրացնելը (кей դեպքերում)։

Նորմալիզացիայի գործընթացը հիմնված է նորմալ ձևերի (NF) սկզբունքների վրա։ Ամենատարածվածները՝

  • Առաջին նորմալ ձևը (1NF): Տվյալների ագրեգատայինությունը բջիջներում, կրկնվող խմբերի բացակայությունը։
  • Երկրորդ նորմալ ձևը (2NF): 1NF-ում և յուրաքանչյուր ոչ-կլուչային հատկությունը լիովին ֆունկցիոնալ կախված է ամբողջ առաջինական կլուչից։
  • Երրորդ նորմալ ձևը (3NF): 2NF-ում և ոչ-կլուչային հատկությունների միջև տրանսիտիվ ֆունկցիոնալ կախվածությունների բացակայությունը։

Օրինակ՝

Անցյալ աղյուսակը "Պատվերներ_Ապրանքներ":

Պատվերի ID Պատվերի ամսաթիվ Ապրանքի ID Ապրանքի անուն Ապրանքի գին Մասը Հաճախորդի անուն Հաճախորդի հասցե
1 2023-10-27 101 Տելեֆոն 500 1 Իվան Պետրով Պուշկինի փողոց, 10
1 2023-10-27 102 Հաղորդիչներ 100 2 Իվան Պետրով Պուշկինի փողոց, 10
2 2023-10-27 101 Տելեֆոն 500 1 Մարիա Իվանովա Լերմոնտովի փողոց, 5

Նորմալիզացիայից հետո (3NF-ն ընկած է).

"Պատվերներ":

Պատվերի ID Պատվերի ամսաթիվ Հաճախորդ ID
1 2023-10-27 1
2 2023-10-27 2

"Պատվերի Տեղադրանքներ":

Տեղադրանքի ID Պատվերի ID Ապրանքի ID Մասը
1 1 101 1
2 1 102 2
3 2 101 1

"Ապրանքներ":

Ապրանքի ID Ապրանքի անուն Ապրանքի գին
101 Տելեֆոն 500
102 Հաղորդիչներ 100

"Հաճախորդներ":

Հաճախորդի ID Հաճախորդի անուն Հաճախորդի հասցե
1 Իվան Պետրով Պուշկինի փողոց, 10
2 Մարիա Իվանովա Լերմոնտովի փողոց, 5

Բայց, չափազանց նորմալիզացիան կարող է հանգեցնել մի շարք միացումների (JOIN) ավելացման, ինչը կարող է նվազեցնել կատարողականությունը։ Դրա համար տվյալների բազայի նախագծման ժամանակ հաճախ փորձում են գտնել նորմալիզացիայի աստիճանի և կատարողականության միջև հավասարակշռություն։ Դենորմալիզացիան՝ դա գիտակցված նորմալ ձևերի խախտում է՝ կատարողականությունը բարելավելու համար, սովորաբար ավելացնելով ավելորդ տվյալներ։