Უნდა დავამარცხო ჩემი მონაცემთა ბაზა?

ნორმალიზაცია რეალურ სამყაროში

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

დროა გამოწეროს ეს ტრუიზმი. ზოგჯერ ეს არის OK to denormalize თქვენი მონაცემთა ბაზაში!

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

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

ქვედა ხაზი არის, რომ თქვენ უნდა ნორმალიზება თქვენს მონაცემთა ბაზაში, თუ არ გაქვთ კარგი მიზეზი არ უნდა გავაკეთოთ. ნორმალიზება ჩვეულებრივ ხმის დიზაინის პრაქტიკაში. ის ამცირებს ზედმეტი ინფორმაციის, შესრულების ოპტიმიზაციას და ამცირებს ალბათობას, რომ თქვენ გექნებათ მონაცემთა მთლიანობის საკითხები, რის შედეგადაც თქვენი მონაცემთა ბაზის სხვადასხვა კუთხეში იგივე მონაცემები შეიტანება.

ზოგიერთი კარგი მიზეზი არ არის ნორმალიზება

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

  1. შემოერთები ძვირია . თქვენი მონაცემთა ბაზის ნორმალიზება ხშირად გულისხმობს უამრავი მაგიდის შექმნას. სინამდვილეში, მარტივად შეგიძლიათ ადვილად წავალთ რას ფიქრობთ მარტივი შეკითხვა, რომელიც მოიცავს 5 ან 10 ცხრილს. თუ თქვენ ოდესმე სცადეთ ხუთივე მაგიდის გაწევრიანებას, იცით, რომ ის მუშაობს პრინციპში, მაგრამ მისი გაღრმავება ნელი პრაქტიკაში. თუ თქვენ აშენებთ ვებ აპლიკაციას, რომელიც მრავალ მაგიდასთან დაკავშირებულ შეკითხვებს ეყრდნობა, შესაძლოა ფიქრობთ: "თუ მხოლოდ ეს მონაცემთა ბაზა არ იყო ნორმალიზება!" როდესაც ის გესმის, რომ თქვენი აზრით, კარგი დროა განიხილოს დენორამალიზაცია. თუ თქვენ შეგიძლიათ გამყაროთ ყველა მონაცემი, რომ გამოიყენოთ ეს შეკითხვა ერთ მაგიდაზე, ნამდვილად შეუძლებელია თქვენი მონაცემების მთლიანობის საფრთხის ქვეშ, წავიდეთ! იყავი მეამბოხე და თქვენი მონაცემთა ბაზის დათმობა. თქვენ არ გამოიყურება უკან!
  2. ნორმალიზებული დიზაინი რთულია . თუ თქვენ მუშაობთ კომპლექსური მონაცემთა სქემასთან , თქვენ ალბათ აღმოჩნდებით თავს, რომ თქვენი ხელმძღვანელი მაგიდასთან მიმართოს ნორმალიზაციის სირთულეს. როგორც მარტივი წესი ცერის, თუ თქვენ ხარჯავთ მთელი დღის ცდილობს გაერკვნენ, თუ როგორ უნდა გადავიდეს მეოთხე ნორმალური ფორმით, თქვენ შესაძლოა მიმდინარეობს ნორმალიზაცია ძალიან შორს. ნაბიჯი უკან და ჰკითხეთ საკუთარ თავს, თუ ეს ნამდვილად ღირს გრძელდება.
  1. სწრაფი და ბინძური უნდა იყოს სწრაფი და ბინძური . თუ თქვენ მხოლოდ პროტოტიპის განვითარებას აპირებთ, უბრალოდ, რაც სწრაფად მუშაობს. მართლაც. ყველაფერი კარგადაა. სწრაფი განაცხადის განვითარების ზოგჯერ უფრო მნიშვნელოვანია, ვიდრე ელეგანტური დიზაინი. უბრალოდ გახსოვდეთ, რომ დაბრუნდეთ და ფრთხილად გამოიყურებოდე თქვენი დიზაინით, როდესაც მზად ხართ პროტოტიპის ფაზის მიღმა. ფასის გადახდა სწრაფი და ბინძური მონაცემთა ბაზის დიზაინი არის ის, რომ თქვენ შეიძლება უნდა ჩააგდოს ის დაშორებით და დაიწყოს, როდესაც დროა აშენება წარმოების.
  2. თუ თქვენ იყენებთ NoSQL მონაცემთა ბაზას , ტრადიციული ნორმალიზაცია არ არის სასურველი. ამის ნაცვლად, შეიმუშავეთ თქვენი მონაცემთა ბაზა BASE- ის მოდელი, რომელიც გაცილებით პატიებაა. ეს სასარგებლოა, როდესაც თქვენ შენახულ უნიკალურ მონაცემებს, როგორიცაა ელფოსტა, სურათები ან ვიდეო.

სიფრთხილის ზოგიერთი სიტყვა

მონაცემთა ბაზა ნორმალიზება ზოგადად კარგი იდეაა. თქვენ უნდა ეცადოთ დაიცვას პრინციპების ნორმალიზაციის როდესაც ეს ჩანს გონივრული ამის გაკეთება. მაგრამ თუ ყველა მაჩვენებელი მიუთითებს, რომ ნორმალიზაცია ძალიან რთულია, განახორციელოს მიდგომა, რომელიც მიიღებს სამუშაოს შესრულებას თქვენი მონაცემების დაცვისას.

საბოლოოდ - თუ ნორმალიზების წესების დარღვევას გადაწყვეტთ, ზედმეტი ვიყოთ იმაზე, თუ როგორ შეასრულებთ მონაცემთა ბაზის მთლიანობას. თუ ინახება ზედმეტი ინფორმაციის, დააყენეთ ტრიგერები და სხვა კონტროლი, რათა დარწმუნდეთ, რომ ინფორმაცია შეესაბამება თანმიმდევრულობას.