Boyce-Codd Normal Form-ի նպատակն է բարձրացնել տվյալների ամբողջականությունը՝ կազմակերպելով հարաբերական տվյալների բազայի սյունակներն ու աղյուսակները՝ տվյալների բազայի նորմալացման հասնելու համար: Տվյալների բազայի նորմալացումը տեղի է ունենում, երբ աղյուսակների միջև հաստատված հարաբերություններ կան, և երբ աղյուսակներն ունեն սահմանված կանոններ տվյալների բազան ավելի ճկուն դարձնելու և տվյալները պահպանելու համար:
Տվյալների բազայի նորմալացման նպատակներն են՝ վերացնել ավելորդ տվյալները և ապահովել տվյալների կախվածության իմաստը: Տվյալների բազան նորմալացվում է, երբ նույն տվյալները չեն պահվում մեկից ավելի աղյուսակներում, և երբ միայն հարակից տվյալները պահվում են աղյուսակում:
Origin of Boyce-Codd Normal Form
Հետևելով մի շարք ուղեցույցների՝ համոզվեք, որ տվյալների բազաները նորմալացված են: Այս ուղեցույցները կոչվում են սովորական ձևեր և համարակալված են մեկից հինգ: Հարաբերական տվյալների բազան նկարագրվում է որպես նորմալացված, եթե այն համապատասխանում է առաջին երեք ձևերին՝ 1NF, 2NF և 3NF:
BCNF-ը ստեղծվել է որպես երրորդ նորմալ ձևի ընդլայնում կամ 3NF, 1974 թվականին Ռայմոնդ Բոյսի և Էդգար Քոդի կողմից: Տղամարդիկ աշխատում էին ստեղծել տվյալների բազայի սխեմաներ, որոնք նվազագույնի են հասցնում ավելորդությունները՝ նպատակ ունենալով նվազեցնել հաշվողական ժամանակը: Երրորդ նորմալ ձևը հեռացնում է այն սյունակները, որոնք կախված չեն առաջնային բանալիից՝ ի հավելումն առաջին և երկրորդ նորմալ ձևերի ուղեցույցներին: BCNF-ը, որը երբեմն կոչվում է 3.5NF, համապատասխանում է 3NF-ի բոլոր պահանջներին և պահանջում է, որ թեկնածու ստեղները որևէ կախվածություն չունենան աղյուսակի այլ հատկանիշներից:
BCNF-ի ստեղծման ժամանակ Բոյսը Structured English Query Language-ի հիմնական մշակողներից մեկն էր, որը հետագայում ստանդարտացվեց որպես SQL, որը բարելավեց տվյալների որոնումը` օգտագործելով Codd-ի հարաբերական մոդելը:Այս մոդելում Քոդը պնդում էր, որ տվյալների բազաների կառուցվածքային բարդությունը կարող է կրճատվել, ինչը նշանակում է, որ հարցումները կարող են ավելի հզոր և ճկուն լինել:
Օգտագործելով իր հարաբերական տվյալների բազայի պատկերացումները՝ Քոդը սահմանեց 1NF, 2NF և 3NF ուղեցույցները: Նա միավորվեց Բոյսի հետ՝ սահմանելու BCNF-ը:
Թեկնածուների բանալիներ և BCNF
Թեկնածու ստեղնը աղյուսակի սյունակ կամ սյունակների համակցություն է, որը եզակի բանալի է կազմում տվյալների բազայում: Հատկանիշների համակցությունը նույնականացնում է տվյալների բազայի գրառումը՝ առանց որևէ այլ տվյալների հղումների: Յուրաքանչյուր աղյուսակ կարող է պարունակել մի քանի թեկնածու բանալիներ, որոնցից յուրաքանչյուրը կարող է որակվել որպես հիմնական բանալի: Աղյուսակը պարունակում է միայն մեկ հիմնական բանալի:
Թեկնածուների բանալիները պետք է եզակի լինեն:
Առաբերությունը BCNF-ում է, եթե յուրաքանչյուր որոշիչ թեկնածու բանալի է: Դիտարկենք տվյալների բազայի աղյուսակը, որը պահպանում է աշխատակիցների տեղեկատվությունը և ունի,,, և ատրիբուտները:
Այս աղյուսակում դաշտը որոշում է անուն և ազգանուն: Նմանապես, կրկնակի (,)-ը որոշում է.
Աշխատակիցի ID | Անուն | Ազգանուն | Վերնագիր |
13133 | Էմիլի | Սմիթ | Մենեջեր |
13134 | Ջիմ | Սմիթ | Ասոցիատ |
13135 | Էմիլի | Ջոնս | Ասոցիատ |
Այս տվյալների բազայի թեկնածու բանալին այն է, քանի որ դա միակ արժեքն է, որը չի կարող օգտագործվել մեկ այլ տողի կողմից:
ՀՏՀ
Որո՞նք են Boyce-Codd Normal Form-ի պահանջները:
Աղյուսակը համապատասխանում է Boyce-Codd Normal Form (BCNF) պահանջներին, եթե բոլոր որոշիչները թեկնածու բանալիներ են, և հարաբերությունը գտնվում է երրորդ նորմալ ձևով (3NF): 3NF-ը համապատասխանում է Առաջին նորմալ ձևի (1NF) և Երկրորդ նորմալ ձևի (2NF) կանոններին, և բոլոր սյունակները կախված են հիմնական բանալիից:
Ո՞րն է տարբերությունը չորրորդ նորմալ ձևի և Boyce-Codd նորմալ ձևի միջև:
Չորրորդ նորմալ ձևը (4NF) տվյալների բազայի նորմալացման մեջ Boyce-Codd Normal Form-ից (BCNF) հետո մեկ մակարդակ է: 4NF-ը համապատասխանում է 3NF պահանջներին ճիշտ այնպես, ինչպես BCNF-ն: Այնուամենայնիվ, 4NF աղյուսակները չունեն բազմարժեք կախվածություններ կամ շատ-մեկ հարաբերություններ, մինչդեռ BCNF աղյուսակները կարող են ունենալ այդ կախվածությունները: