Boyce-Codd Normal Form-ის მიზანია მონაცემთა მთლიანობის გაზრდა რელაციური მონაცემთა ბაზის სვეტებისა და ცხრილების ორგანიზებით მონაცემთა ბაზის ნორმალიზების მისაღწევად. მონაცემთა ბაზის ნორმალიზება ხდება მაშინ, როდესაც ცხრილებს შორის არის დადგენილი ურთიერთობები და როდესაც ცხრილებს აქვთ განსაზღვრული წესები მონაცემთა ბაზის უფრო მოქნილისთვის და მონაცემების შესანარჩუნებლად.
ბაზის ნორმალიზაციის მიზნებია ზედმეტი მონაცემების აღმოფხვრა და მონაცემთა დამოკიდებულების აზრის უზრუნველყოფა. მონაცემთა ბაზა ნორმალიზდება, როდესაც ერთი და იგივე მონაცემები არ არის შენახული ერთზე მეტ ცხრილში და როდესაც მხოლოდ დაკავშირებული მონაცემები ინახება ცხრილში.
Boyce-Codd-ის ნორმალური ფორმის წარმოშობა
სახელმძღვანელოების სერიის შემდეგ უზრუნველყოს მონაცემთა ბაზების ნორმალიზება. ეს გაიდლაინები მოხსენიებულია, როგორც ნორმალური ფორმები და დანომრილია ერთიდან ხუთამდე. რელაციური მონაცემთა ბაზა აღწერილია როგორც ნორმალიზებული, თუ ის აკმაყოფილებს პირველ სამ ფორმას: 1NF, 2NF და 3NF.
BCNF შეიქმნა, როგორც მესამე ნორმალური ფორმის, ანუ 3NF გაფართოება, 1974 წელს რეიმონდ ბოისისა და ედგარ კოდის მიერ. მამაკაცები მუშაობდნენ მონაცემთა ბაზის სქემების შექმნაზე, რომლებიც ამცირებენ ზედმეტობებს გამოთვლითი დროის შემცირების მიზნით. მესამე ნორმალური ფორმა აშორებს სვეტებს, რომლებიც არ არიან დამოკიდებულნი პირველად გასაღებზე, გარდა იმისა, რომ აკმაყოფილებს პირველ და მეორე ნორმალურ ფორმებში მითითებებს. BCNF, რომელსაც ზოგჯერ მოიხსენიებენ, როგორც 3.5NF, აკმაყოფილებს 3NF-ის ყველა მოთხოვნას და მოითხოვს, რომ კანდიდატის გასაღებს არ ჰქონდეს რაიმე დამოკიდებულება ცხრილის სხვა ატრიბუტებზე.
BCNF-ის შექმნის დროს ბოისი იყო სტრუქტურირებული ინგლისური შეკითხვის ენის ერთ-ერთი მთავარი შემქმნელი, მოგვიანებით სტანდარტიზებული როგორც SQL, რომელმაც გააუმჯობესა მონაცემთა მოძიება კოდის რელაციური მოდელის გამოყენებით.ამ მოდელში კოდმა თქვა, რომ მონაცემთა ბაზების სტრუქტურული სირთულე შეიძლება შემცირდეს, რაც ნიშნავს, რომ მოთხოვნები შეიძლება იყოს უფრო ძლიერი და მოქნილი.
მისი რელაციური მონაცემთა ბაზის შეხედულებების გამოყენებით, კოდმა განსაზღვრა 1NF, 2NF და 3NF გაიდლაინები. ის გაერთიანდა ბოისთან, რათა განესაზღვრათ BCNF.
კანდიდატის გასაღებები და BCNF
კანდიდატური გასაღები არის სვეტი ან სვეტების კომბინაცია ცხრილში, რომელიც ქმნის უნიკალურ გასაღებს მონაცემთა ბაზაში. ატრიბუტების კომბინაცია განსაზღვრავს მონაცემთა ბაზის ჩანაწერს სხვა მონაცემების მითითების გარეშე. თითოეული ცხრილი შეიძლება შეიცავდეს რამდენიმე კანდიდატის გასაღებს, რომელთაგან რომელიმე შეიძლება იყოს პირველადი გასაღები. ცხრილი შეიცავს მხოლოდ ერთ ძირითად გასაღებს.
საკანდიდატო გასაღებები უნდა იყოს უნიკალური.
მიმართება არის BCNF-ში, თუ ყველა განმსაზღვრელი არის კანდიდატის გასაღები. განვიხილოთ მონაცემთა ბაზის ცხრილი, რომელიც ინახავს თანამშრომლების ინფორმაციას და აქვს ატრიბუტები,,, და.
ამ ცხრილში ველი განსაზღვრავს სახელსა და გვარს. ანალოგიურად, ტოპი (,) განსაზღვრავს.
თანამშრომლის ID | სახელი | გვარი | სათაური |
13133 | ემილი | სმიტი | მენეჯერი |
13134 | ჯიმ | სმიტი | ასოცირებული |
13135 | ემილი | ჯონსი | ასოცირებული |
ამ მონაცემთა ბაზის კანდიდატის გასაღები არის, რადგან ეს არის ერთადერთი მნიშვნელობა, რომლის გამოყენება შეუძლებელია სხვა მწკრივის მიერ.
FAQ
რა მოთხოვნებია Boyce-Codd Normal Form-ისთვის?
ცხრილი აკმაყოფილებს Boyce-Codd Normal Form-ის (BCNF) მოთხოვნებს, თუ ყველა განმსაზღვრელი არის კანდიდატი გასაღები და კავშირი არის მესამე ნორმალურ ფორმაში (3NF). 3NF აკმაყოფილებს პირველი ნორმალური ფორმის (1NF) და მეორე ნორმალური ფორმის (2NF) წესებს და ყველა სვეტი დამოკიდებულია ძირითად გასაღებზე.
რა განსხვავებაა მეოთხე ნორმალურ ფორმასა და ბოის-კოდის ნორმალურ ფორმას შორის?
მეოთხე ნორმალური ფორმა (4NF) არის ერთი დონე Boyce-Codd Normal Form (BCNF) შემდეგ მონაცემთა ბაზის ნორმალიზებაში. 4NF აკმაყოფილებს 3NF მოთხოვნებს ისევე, როგორც BCNF. თუმცა, 4NF ცხრილებს არ გააჩნიათ მრავალმნიშვნელოვანი დამოკიდებულებები, ან მრავალი-ერთთან ურთიერთობა, ხოლო BCNF ცხრილებს შეიძლება ჰქონდეთ ეს დამოკიდებულებები.