1NF vs 2NF vs 3NF
ნორმალიზაცია არის პროცესი, რომელიც ხორციელდება ზედმეტობების მინიმიზაციის მიზნით, რომლებიც წარმოდგენილია მონაცემთა ბაზებში. ეს პროცესი ძირითადად დაყოფს დიდ ცხრილებს პატარა ცხრილებად ნაკლები ჭარბი რაოდენობით. ეს პატარა ცხრილები ერთმანეთთან იქნება დაკავშირებული კარგად განსაზღვრული ურთიერთობებით. კარგად ნორმალიზებულ მონაცემთა ბაზაში, მონაცემების ნებისმიერი ცვლილება ან ცვლილება მოითხოვს მხოლოდ ერთი ცხრილის შეცვლას. პირველი ნორმალური ფორმა (1NF), მეორე ნორმალური ფორმა (2NF) და მესამე ნორმალური ფორმა (3NF) შემოიღო ედგარ ფ. კოდმა, რომელიც ასევე არის რელაციური მოდელისა და ნორმალიზაციის კონცეფციის გამომგონებელი.
რა არის 1NF?
1NF არის პირველი ნორმალური ფორმა, რომელიც უზრუნველყოფს მოთხოვნების მინიმალურ კომპლექტს რელაციური მონაცემთა ბაზის ნორმალიზებისთვის. ცხრილი, რომელიც შეესაბამება 1NF-ს, გვარწმუნებს, რომ ის რეალურად წარმოადგენს კავშირს (ანუ ის არ შეიცავს ჩანაწერებს, რომლებიც მეორდება), მაგრამ არ არსებობს 1NF-ის საყოველთაოდ მიღებული განმარტება. ერთი მნიშვნელოვანი თვისება ის არის, რომ ცხრილი, რომელიც შეესაბამება 1NF-ს, არ შეიძლება შეიცავდეს რელატიური მნიშვნელობის მქონე ატრიბუტებს (ანუ ყველა ატრიბუტს უნდა ჰქონდეს ატომური მნიშვნელობები).
რა არის 2NF?
2NF არის მეორე ნორმალური ფორმა, რომელიც გამოიყენება რელაციურ მონაცემთა ბაზებში. იმისათვის, რომ ცხრილი შეესაბამებოდეს 2NF-ს, ის უნდა შეესაბამებოდეს 1NF-ს და ნებისმიერი ატრიბუტი, რომელიც არ არის რომელიმე კანდიდატის გასაღების ნაწილი (ანუ არა-პირველი ატრიბუტები) სრულად უნდა იყოს დამოკიდებული ცხრილის რომელიმე კანდიდატის გასაღებზე.
რა არის 3NF?
3NF არის მესამე ნორმალური ფორმა, რომელიც გამოიყენება მონაცემთა ბაზის ნორმალიზებაში. Codd-ის განმარტების მიხედვით, ცხრილი არის 3NF-ში, თუ და მხოლოდ იმ შემთხვევაში, თუ ეს ცხრილი არის მეორე ნორმალური ფორმით (2NF), და ცხრილის ყველა ატრიბუტი, რომელიც არ ეკუთვნის კანდიდატ გასაღებს, პირდაპირ უნდა იყოს დამოკიდებული. ამ ცხრილის ყველა კანდიდატის გასაღებზე.1982 წელს კარლო ზანიოლომ შექმნა 3NF-ის განსხვავებულად გამოხატული განმარტება. ცხრილები, რომლებიც შეესაბამება 3NF-ს, ჩვეულებრივ არ შეიცავს ანომალიებს, რომლებიც წარმოიქმნება ცხრილში ჩანაწერების ჩასმის, წაშლის ან განახლებისას.
რა განსხვავებაა 1NF-სა და 2NF-სა და 3NF-ს შორის?
1NF, 2NF და 3NF არის ნორმალური ფორმები, რომლებიც გამოიყენება რელაციურ მონაცემთა ბაზებში, რათა მინიმუმამდე დაიყვანონ ჭარბი რაოდენობა ცხრილებში. 3NF განიხილება, როგორც უფრო ძლიერი ნორმალური ფორმა, ვიდრე 2NF, და ის განიხილება, როგორც უფრო ძლიერი ნორმალური ფორმა, ვიდრე 1NF. ამრიგად, ზოგადად, ცხრილის მიღება, რომელიც შეესაბამება 3NF ფორმას, მოითხოვს ცხრილის დაშლას, რომელიც არის 2NF-ში. ანალოგიურად, ცხრილის მიღება, რომელიც შეესაბამება 2NF-ს, მოითხოვს ცხრილის დაშლას, რომელიც არის 1NF-ში. თუმცა, თუ ცხრილი, რომელიც შეესაბამება 1NF-ს, შეიცავს კანდიდატის გასაღებებს, რომლებიც შედგება მხოლოდ ერთი ატრიბუტისაგან (ანუ არაკომპოზიტური კანდიდატის გასაღებები), ასეთი ცხრილი ავტომატურად შეესაბამება 2NF-ს. ცხრილების დაშლა გამოიწვევს დამატებით შეერთების ოპერაციებს (ან დეკარტის პროდუქტებს) მოთხოვნების შესრულებისას.ეს გაზრდის გამოთვლის დროს. მეორე მხრივ, ცხრილებს, რომლებიც შეესაბამება უფრო ძლიერ ნორმალურ ფორმებს, ნაკლები ჭარბი რაოდენობა ექნება, ვიდრე ცხრილები, რომლებიც შეესაბამება მხოლოდ სუსტ ნორმალურ ფორმებს.