BCNF vs 4NF (მე-4 ნორმალიზაცია)
მონაცემთა ბაზის ნორმალიზაცია არის ტექნიკა, რომელიც ეხება მონაცემთა ბაზის მართვის სისტემებს. მონაცემთა შეცდომების თავიდან აცილება შესაძლებელია კარგად ნორმალიზებულ მონაცემთა ბაზაში. ნორმალიზაცია გამოიყენება მონაცემთა ბაზის სიჭარბის შესამცირებლად. ეს ნიშნავს მონაცემთა ბაზის ცხრილების და მათი ურთიერთობების განხორციელებას, ჭარბი და არათანმიმდევრული დამოკიდებულების აღმოფხვრას. არსებობს გარკვეული წინასწარ განსაზღვრული წესები ნორმალიზებისთვის. ამ წესებს ჩვეულებრივ ფორმებს უწოდებენ.
- პირველი ნორმალური ფორმა (1NF)
- მეორე ნორმალური ფორმა (2NF)
- მესამე ნორმალური ფორმა (3NF)
- ბოის-კოდის ნორმალური ფორმა (BCNF ან 3.5NF)
- მეოთხე ნორმალური ფორმა (4NF)
პირველ ნორმალურ ფორმას მოიხსენიებენ, როგორც ცხრილის ატომურობას. ცხრილის ატომურობის მიღწევა შესაძლებელია ორი საფეხურიდან.
- იგივე ცხრილიდან დუბლიკატი სვეტების ამოღება.
- ცალკე ცხრილების შექმნა დაკავშირებული დუბლირებული სვეტებისთვის. (ამ ცხრილის თითოეული მწკრივის იდენტიფიცირებისთვის უნდა არსებობდეს ძირითადი კლავიშები)
მეორე ნორმალურ ფორმაში, მცდელობაა შევამციროთ ზედმეტი მონაცემები ცხრილში მათი ამოღებით და ცალკე ცხრილში განთავსებით. ამის მიღწევა შესაძლებელია შემდეგი ნაბიჯების გატარებით.
- აირჩიეთ მონაცემთა ნაკრები, რომელიც ვრცელდება რამდენიმე მწკრივზე და მოათავსეთ ისინი ცალკეულ ცხრილებში.
- შექმენით ურთიერთობები ამ ახალ ცხრილებსა და მშობელ ცხრილებს შორის უცხო კლავიშების გამოყენებით.
მონაცემთა ბაზის მესამე ნორმალურ ფორმაზე გადასაყვანად, მონაცემთა ბაზა უკვე უნდა იყოს მიღწეული პირველ და მეორე ნორმალურ ფორმებზე.როდესაც მონაცემთა ბაზა არის 1NF და 2NF, არ არსებობს არცერთი დუბლიკატი სვეტები და არც მონაცემთა ქვეჯგუფები, რომლებიც ვრცელდება მრავალ მწკრივზე. მესამე ნორმალური ფორმის მიღწევა შესაძლებელია ცხრილების სვეტების ამოღებით, რომლებიც სრულად არ არის დამოკიდებული ძირითად კლავიშზე.
ბოის-კოდის ნორმალური ფორმა (BCNF ან 3.5NF)
BCNF ნიშნავს "Boyce-Codd Normal Form". ეს ნორმალური ფორმა ასევე ცნობილია როგორც მონაცემთა ბაზის ნორმალიზაციის 3.5 ნორმალური ფორმა. BCNF-ის მისაღწევად, მონაცემთა ბაზა უკვე უნდა იყოს მიღწეული მესამე ნორმალურ ფორმამდე. შემდეგ შემდეგი ნაბიჯები უნდა გაკეთდეს BCNF-ის მისაღწევად.
- ყველა კანდიდატის გასაღების იდენტიფიცირება ურთიერთობებში
- იდენტიფიცირება ყველა ფუნქციური დამოკიდებულების ურთიერთობებში.
- თუ ურთიერთობაში არის ფუნქციური დამოკიდებულებები, სადაც მათი განმსაზღვრელი არ არის მიმართვის კანდიდატი გასაღებები, ამოიღეთ ფუნქციური დამოკიდებულებები ახალ მიმართებაში განთავსებით მათი განმსაზღვრელი ასლთან ერთად.
მეოთხე ჩვეულებრივი ფორმა
მონაცემთა ბაზა უნდა იყოს მესამე ნორმალურ ფორმაში, სანამ ნორმალიზდება მეოთხე ნორმალურ ფორმამდე. თუ მონაცემთა ბაზა უკვე მესამე ნორმალურ ფორმაშია, შემდეგი ნაბიჯი უნდა იყოს მრავალმნიშვნელოვანი დამოკიდებულებების ამოღება. (თუ ერთი ან მეტი მწკრივი გულისხმობს ერთი ან რამდენიმე სხვა მწკრივის არსებობას იმავე ცხრილში, მას ეწოდება მრავალმნიშვნელოვანი დამოკიდებულება.)
რა განსხვავებაა BCNF და 4NF (მეოთხე ნორმალური ფორმა) შორის?
• მონაცემთა ბაზა უკვე მიღწეული უნდა იყოს 3NF-მდე, რომ გადავიდეს BCNF-ზე, მაგრამ მონაცემთა ბაზა უნდა იყოს 3NF და BCNF-ში, რათა მიაღწიოს 4NF-ს.
• მეოთხე ნორმალურ ფორმაში, არ არსებობს ცხრილების მრავალმნიშვნელოვანი დამოკიდებულებები, მაგრამ BCNF-ში, ცხრილებში შეიძლება იყოს მრავალმნიშვნელოვანი დამოკიდებულების მონაცემები.