BCNF vs 4NF (4-րդ նորմալացում)
Տվյալների բազայի նորմալացումը տեխնիկա է, որն առնչվում է տվյալների բազայի կառավարման հարաբերական համակարգերին: Տվյալների սխալներից կարելի է խուսափել լավ նորմալացված տվյալների բազայում: Նորմալացումը օգտագործվում է տվյալների բազայի տվյալների ավելորդությունը նվազեցնելու համար: Դա նշանակում է տվյալների բազայի աղյուսակների և դրանց փոխհարաբերությունների իրականացում՝ վերացնելով ավելորդությունը և անհամապատասխան կախվածությունը: Կան որոշ կանխորոշված կանոններ, որոնք սահմանված են նորմալացման համար: Այդ կանոնները կոչվում են նորմալ ձևեր։
- Առաջին նորմալ ձև (1NF)
- Երկրորդ նորմալ ձև (2NF)
- Երրորդ նորմալ ձև (3NF)
- Boyce-Codd Normal Form (BCNF կամ 3.5NF)
- Չորրորդ նորմալ ձև (4NF)
Առաջին նորմալ ձևը կոչվում է աղյուսակի ատոմականություն: Աղյուսակի ատոմականությանը կարելի է հասնել երկու քայլից:
- Կրկնօրինակ սյունակների հեռացում նույն աղյուսակից:
- Առանձին աղյուսակների ստեղծում հարակից կրկնվող սյունակների համար: (այս աղյուսակի յուրաքանչյուր տողը նույնականացնելու համար պետք է լինեն հիմնական բանալիներ)
Երկրորդ նորմալ ձևում փորձ է արվում նվազեցնել ավելորդ տվյալները աղյուսակում՝ դրանք հանելով և տեղադրելով առանձին աղյուսակում: Դրան կարելի է հասնել՝ կատարելով հետևյալ քայլերը։
- Ընտրեք տվյալների հավաքածուն, որը վերաբերում է բազմաթիվ տողերին, և տեղադրեք դրանք առանձին աղյուսակներում:
- Ստեղծեք հարաբերություններ այս նոր աղյուսակների և մայր աղյուսակների միջև՝ օգտագործելով օտար բանալիներ:
Տվյալների բազան երրորդ նորմալ ձևին հասցնելու համար տվյալների բազան արդեն պետք է ձեռք բերվի առաջին և երկրորդ նորմալ ձևերով:Երբ տվյալների բազան գտնվում է 1NF-ում և 2NF-ում, չկան կրկնվող սյունակներ և տվյալների ենթաբազմություններ, որոնք վերաբերում են բազմաթիվ տողերին: Երրորդ նորմալ ձևը կարելի է ձեռք բերել՝ հեռացնելով աղյուսակների սյունակները, որոնք ամբողջությամբ չեն կախված հիմնական բանալիից:
Boyce-Codd Normal Form (BCNF կամ 3.5NF)
BCNF նշանակում է «Boyce-Codd Normal Form»: Այս նորմալ ձևը հայտնի է նաև որպես տվյալների բազայի նորմալացման 3.5 նորմալ ձև: BCNF-ին հասնելու համար տվյալների բազան պետք է արդեն հասնի երրորդ նորմալ ձևին: Այնուհետև պետք է կատարվեն հետևյալ քայլերը՝ BCNF-ին հասնելու համար:
- Նշեք բոլոր թեկնածուների բանալիները հարաբերություններում
- Նշեք հարաբերությունների բոլոր ֆունկցիոնալ կախվածությունները:
- Եթե հարաբերության մեջ կան ֆունկցիոնալ կախվածություններ, որտեղ դրանց որոշիչները հարաբերության թեկնածու բանալիներ չեն, հեռացրեք ֆունկցիոնալ կախվածությունները՝ դրանք դնելով նոր կապի մեջ՝ իրենց որոշիչի պատճենի հետ միասին:
Չորրորդ նորմալ ձև
Տվյալների բազան պետք է լինի երրորդ նորմալ ձևով, նախքան այն նորմալացնել չորրորդ նորմալ ձևի: Եթե տվյալների բազան արդեն երրորդ նորմալ վիճակում է, հաջորդ քայլը պետք է լինի բազմարժեք կախվածությունները հեռացնելը: (Եթե մեկ կամ մի քանի տող ենթադրում է նույն աղյուսակում մեկ կամ մի քանի այլ տողերի առկայություն, դա կոչվում է բազմարժեք կախվածություն:)
Ո՞րն է տարբերությունը BCNF-ի և 4NF-ի (չորրորդ նորմալ ձևի) միջև:
• Տվյալների բազան պետք է արդեն հասցված լինի 3NF-ին այն BCNF տեղափոխելու համար, սակայն տվյալների բազան պետք է լինի 3NF և BCNF՝ 4NF հասնելու համար:
• Չորրորդ նորմալ ձևով աղյուսակների բազմարժեք կախվածություններ չկան, բայց BCNF-ում աղյուսակներում կարող են լինել բազմարժեք կախվածության տվյալներ։