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