Տարբերությունը 3NF-ի և BCNF-ի միջև

Տարբերությունը 3NF-ի և BCNF-ի միջև
Տարբերությունը 3NF-ի և BCNF-ի միջև

Video: Տարբերությունը 3NF-ի և BCNF-ի միջև

Video: Տարբերությունը 3NF-ի և BCNF-ի միջև
Video: ቀልጣፋ ግብይት - የደረጃ በደረጃ መመሪያ 2024, Նոյեմբեր
Anonim

3NF vs BCNF

Նորմալացումը գործընթաց է, որն իրականացվում է հարաբերական տվյալների բազաներում առկա ավելորդությունները նվազագույնի հասցնելու համար: Այս գործընթացը հիմնականում մեծ աղյուսակները կբաժանի փոքր աղյուսակների՝ ավելի քիչ ավելորդություններով: Այս փոքր աղյուսակները կապված կլինեն միմյանց հետ լավ սահմանված հարաբերությունների միջոցով: Լավ նորմալացված տվյալների բազայում տվյալների ցանկացած փոփոխություն կամ փոփոխություն կպահանջի միայն մեկ աղյուսակի փոփոխում: Երրորդ նորմալ ձևը (3NF) ներկայացվել է 1971 թվականին Էդգար Ֆ. Քոդի կողմից, ով նաև հարաբերական մոդելի և նորմալացման հայեցակարգի գյուտարարն է: Բոյս-Կոդի նորմալ ձևը (BCNF) ներկայացվել է 1974 թվականին Քոդի և Ռայմոնդ Ֆ. Բոյս.

Ի՞նչ է 3NF?

3NF-ը երրորդ նորմալ ձևն է, որն օգտագործվում է հարաբերական տվյալների բազայի նորմալացման մեջ: Ըստ Codd-ի սահմանման, աղյուսակը կոչվում է 3NF, եթե և միայն այն դեպքում, եթե այդ աղյուսակը գտնվում է երկրորդ նորմալ ձևով (2NF), և աղյուսակի յուրաքանչյուր հատկանիշ, որը չի պատկանում թեկնածուի բանալիին, պետք է ուղղակիորեն կախված լինի այդ աղյուսակի յուրաքանչյուր թեկնածուի բանալին: 1982 թվականին Կառլո Զանիոլոն ստեղծեց 3NF-ի այլ կերպ արտահայտված սահմանումը: 3NF-ին համապատասխանող աղյուսակները սովորաբար չեն պարունակում անոմալիաներ, որոնք տեղի են ունենում աղյուսակում գրառումները տեղադրելու, ջնջելու կամ թարմացնելու ժամանակ:

Ի՞նչ է BCNF-ը:

BCNF (նաև հայտնի է որպես 3.5NF) ևս մեկ նորմալ ձև է, որն օգտագործվում է հարաբերական տվյալների բազայի նորմալացման մեջ: Այն ներկայացվել է որոշ անոմալիաներ ֆիքսելու համար, որոնք չեն լուծվում 3NF-ի կողմից: Աղյուսակը համարվում է BCNF-ով, եթե և միայն այն դեպքում, եթե A → B ձևի յուրաքանչյուր կախվածության համար, որոնք ոչ տրիվիալ են, A-ն գերբանալին է: Աղյուսակի տարրալուծումը, որը BCNF-ի նորմալ ձևով չէ, չի երաշխավորում աղյուսակների արտադրությունը BCNF ձևով (միաժամանակ պահպանելով սկզբնական աղյուսակում առկա կախվածությունները):

Ո՞րն է տարբերությունը 3NF-ի և BCNF-ի միջև:

Եվ 3NF-ն և BCNF-ը սովորական ձևեր են, որոնք օգտագործվում են հարաբերական տվյալների բազաներում՝ աղյուսակներում ավելորդությունները նվազագույնի հասցնելու համար: Աղյուսակում, որը գտնվում է BCNF նորմալ ձևով, A → B ձևի յուրաքանչյուր ոչ տրիվիալ ֆունկցիոնալ կախվածության համար A-ն գերբանալին է, մինչդեռ 3NF-ին համապատասխանող աղյուսակը պետք է լինի 2NF և յուրաքանչյուր ոչ պարզ: հատկանիշը պետք է ուղղակիորեն կախված լինի այդ աղյուսակի յուրաքանչյուր թեկնածուի ստեղից: BCNF-ը համարվում է ավելի ուժեղ նորմալ ձև, քան 3NF-ը, և այն մշակվել է որոշ անոմալիաներ հայտնաբերելու համար, որոնք հնարավոր չէ ֆիքսել 3NF-ով: BCNF ձևին համապատասխանող աղյուսակ ստանալու համար կպահանջվի 3NF-ում գտնվող աղյուսակի տարրալուծում: Այս տարրալուծումը կհանգեցնի լրացուցիչ միացման գործողությունների (կամ դեկարտյան արտադրանքների) հարցումներ կատարելիս: Սա կավելացնի հաշվարկման ժամանակը: Մյուս կողմից, BCNF-ին համապատասխանող աղյուսակները կունենան ավելի քիչ ավելորդություններ, քան միայն 3NF-ին համապատասխանող աղյուսակները: Ավելին, ժամանակի մեծ մասը հնարավոր է ձեռք բերել աղյուսակ, որը համապատասխանում է 3NF-ին` չխոչընդոտելով կախվածության պահպանմանը և անկորուստ միացմանը:Բայց դա միշտ չէ, որ հնարավոր է BCNF-ի հետ:

Խորհուրդ ենք տալիս: