Sobes.tech
Junior

Ի՞նչ է նորմալիզացիան տվյալների բազայում։

sobes.tech AI

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

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

Նորմալիզացիայի հիմնական նպատակները՝

  • Տվյալների ավելցուկի նվազեցում: Միևնույն տեղեկության կրկնության խուսափում տարբեր վայրերում։
  • Տվյալների ամբողջականության բարելավում: Տվյալների ճշգրտության և համահունչության ապահովում։
  • Ենթակա ապահովում: Բազայի կառուցվածքի փոփոխություններն ու ընդլայնումները հեշտացնել։

Նորմալիզացիան սահմանվում է կանոնների հավաքով, որոնք կոչվում են նորմալ ձևեր։ Ամենատարածվածներն են առաջին երեք նորմալ ձևերը՝

  1. Առաջին նորմալ ձև (1NF):

    • Ամեն մի սյունակ պետք է պարունակի աբստրակտ (անբաժանելի) արժեքներ։
    • Չպետք է լինեն կրկնվող սյունակային խմբեր։
    • Ամեն մի տող պետք է լինի յուրահատուկ (առանց կրկնության՝ հիմնական բանալիով):
  2. Երկրորդ նորմալ ձև (2NF):

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

    • Տվյալ աղյուսակը գտնվում է 2NF-ում։
    • Չեն լինում տրանսիտիվ կախվածություններ։ Նորակլուչային հատկությունները կախված չեն այլ ոչ-կլուչային հատկություններից։

Կան նաև ավելի բարձր նորմալ ձևեր (BCNF, 4NF, 5NF, 6NF), բայց 3NF-ը սովորաբար համարվում է բավարար՝ մեծ մասի գործնական նպատակների համար։

Օրինակ (պարզեցված):

Աննորմալացված սկզբնական աղյուսակը (հաճախորդի պատվերը):

Պատվերի ID Հաճախորդի անունը Հաճախորդի հասցեն Ապրանքներ Մակերես Միավորի գին
101 Իվան Մոսկվա Նոթբուք 1 50000
101 Իվան Մոսկվա Մկնիկ 2 1000
102 Մարիա Սանկտ Պետերբուրգ Կլավիատուրա 1 3000

Նորմալիզացիայից հետո (օրինակ՝ մինչև 3NF):

Պատվերների աղյուսակ:

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

Հաճախորդների աղյուսակ:

Հաճախորդի ID Հաճախորդի անունը Հաճախորդի հասցե
1 Իվան Մոսկվա
2 Մարիա Սանկտ Պետերբուրգ

Պատվերի մանրամասների աղյուսակ:

Մանրամասնության ID Պատվերի ID Ապրանքի ID Մակերես Միավորի գին
1 101 10 1 50000
2 101 20 2 1000
3 102 30 1 3000

Ապրանքների աղյուսակ:

Ապրանքի ID Ապրանքի անունը
10 Նոթբուք
20 Մկնիկ
30 Կլավիատուրա

Դենորմալիզացիան հակառակ գործընթաց է նորմալիզացիայի, որը երբեմն օգտագործվում է տվյալների ընթերցման կատարողականությունը բարելավելու համար՝ ավելացնելով ավելցուկը։