სხვაობა ნორმალიზებასა და დენორმალიზებას შორის

სხვაობა ნორმალიზებასა და დენორმალიზებას შორის
სხვაობა ნორმალიზებასა და დენორმალიზებას შორის

ვიდეო: სხვაობა ნორმალიზებასა და დენორმალიზებას შორის

ვიდეო: სხვაობა ნორმალიზებასა და დენორმალიზებას შორის
ვიდეო: Откат до iOS 4.3.5, 5.1.1, 6.1.3, jailbreak iOS 5 и iOS 6. S0meiyoshino. Прокачка iPhone 4 2024, ნოემბერი
Anonim

ნორმალიზაცია vs დენორმალიზაცია

რელაციური მონაცემთა ბაზები შედგება ურთიერთობებისგან (დაკავშირებული ცხრილებისგან). ცხრილები შედგება სვეტებისგან. თუ ცხრილები ორი დიდია (ანუ ძალიან ბევრი სვეტი ერთ ცხრილში), მაშინ შეიძლება მოხდეს მონაცემთა ბაზის ანომალიები. თუ ცხრილები ორი პატარაა (ანუ მონაცემთა ბაზა შედგება მრავალი პატარა ცხრილისგან), ეს არაეფექტური იქნება შეკითხვისთვის. ნორმალიზაცია და დენორმალიზაცია არის ორი პროცესი, რომლებიც გამოიყენება მონაცემთა ბაზის მუშაობის ოპტიმიზაციისთვის. ნორმალიზება ამცირებს ზედმეტობებს, რომლებიც წარმოდგენილია მონაცემთა ცხრილებში. დენორმალიზაცია (ნორმალიზაციის საპირისპირო) ამატებს ზედმეტ მონაცემებს ან ჯგუფურ მონაცემებს.

რა არის ნორმალიზაცია?

ნორმალიზაცია არის პროცესი, რომელიც ხორციელდება ზედმეტობების მინიმიზაციის მიზნით, რომლებიც წარმოდგენილია მონაცემთა ბაზებში. ეს პროცესი ძირითადად დაყოფს დიდ ცხრილებს პატარა ცხრილებად, ნაკლები დანამატებით (ე.წ. „ნორმალური ფორმები“). ეს პატარა ცხრილები ერთმანეთთან იქნება დაკავშირებული კარგად განსაზღვრული ურთიერთობებით. კარგად ნორმალიზებულ მონაცემთა ბაზაში, მონაცემების ნებისმიერი ცვლილება ან ცვლილება მოითხოვს მხოლოდ ერთი ცხრილის შეცვლას. პირველი ნორმალური ფორმა (1NF), მეორე ნორმალური ფორმა (2NF) და მესამე ნორმალური ფორმა (3NF) შემოიღო ედგარ ფ. კოდმა. Boyce-Codd Normal Form (BCNF) შემოიღეს 1974 წელს კოდმა და რეიმონდ ფ. ბოისებმა. უმაღლესი ნორმალური ფორმები (4NF, 5NF და 6NF) განისაზღვრა, მაგრამ ისინი იშვიათად გამოიყენება.

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

რა არის დენორმალიზაცია?

დენორმალიზაცია არის ნორმალიზაციის პროცესის საპირისპირო პროცესი. დენორმალიზაცია მუშაობს ზედმეტი მონაცემების დამატებით ან მონაცემების დაჯგუფებით მუშაობის ოპტიმიზაციისთვის. მიუხედავად იმისა, რომ ზედმეტი მონაცემების დამატება არაპროდუქტიულად ჟღერს, ზოგჯერ დენორმალიზაცია ძალზე მნიშვნელოვანი პროცესია რელაციური მონაცემთა ბაზის პროგრამული უზრუნველყოფის ზოგიერთი ნაკლოვანების დასაძლევად, რამაც შეიძლება გამოიწვიოს მძიმე სამუშაო ჯარიმები ნორმალიზებული მონაცემთა ბაზებით (თუნდაც უფრო მაღალი შესრულებისთვისაა მორგებული).ეს იმიტომ ხდება, რომ რამდენიმე ურთიერთობის შეერთება (რაც არის ნორმალიზების შედეგი) შეკითხვის შედეგის მისაღებად, ზოგჯერ შეიძლება იყოს ნელი, რაც დამოკიდებულია მონაცემთა ბაზის სისტემების რეალურ ფიზიკურ განხორციელებაზე.

რა განსხვავებაა ნორმალიზებასა და დენორმალიზებას შორის?

– ნორმალიზაცია და დენორმალიზაცია ორი პროცესია, რომლებიც სრულიად საპირისპიროა.

– ნორმალიზაცია არის უფრო დიდი ცხრილების მცირეზე დაყოფის პროცესი, რაც ამცირებს ზედმეტ მონაცემებს, ხოლო დენორმალიზაცია არის ზედმეტი მონაცემების დამატების პროცესი მუშაობის ოპტიმიზაციისთვის.

– ნორმალიზაცია ხორციელდება მონაცემთა ბაზების ანომალიების თავიდან ასაცილებლად.

– დენორმალიზაცია ჩვეულებრივ ხორციელდება მონაცემთა ბაზის წაკითხვის მუშაობის გასაუმჯობესებლად, მაგრამ დენორმალიზებისთვის გამოყენებული დამატებითი შეზღუდვების გამო, ჩაწერა (მაგ. ოპერაციების ჩასმა, განახლება და წაშლა) შეიძლება უფრო შენელდეს. ამიტომ, დენორმალიზებულ მონაცემთა ბაზას შეუძლია შესთავაზოს წერის უარესი შესრულება, ვიდრე ნორმალიზებულ მონაცემთა ბაზას.

– ხშირად რეკომენდირებულია, რომ თქვენ უნდა "ნორმალიზება სანამ არ გტკივა, დენორმალიზება სანამ არ მუშაობს".

გირჩევთ: