Მრავალდონიანი დამოკიდებულება მონაცემთა ბაზის დიზაინში

მრავალსართულიანი დამოკიდებულება მეოთხე ნორმალურ ფორმას წყვეტს

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

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

ფუნქციონალური დამოკიდებულება წინააღმდეგ Multimedia Dependency

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

თუ ატრიბუტი X განსაზღვრავს ატრიბუტს Y, მაშინ Y ფუნქციურად დამოკიდებულია X- ზე. ეს არის X-> Y. როგორც დაწერილია, მაგალითად, სტუდენტთა მაგიდაზე, Student_Name განსაზღვრავს Major:

სტუდენტები
სტუდენტის სახელი მაიორი
რავი ხელოვნების ისტორია
ბეთ ქიმია


ეს ფუნქციური დამოკიდებულება შეიძლება დაიწერა: Student_Name -> მაიორი . თითოეული Student_Name განსაზღვრავს ზუსტად ერთი ძირითადი, და არა.

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

სტუდენტები
სტუდენტის სახელი მაიორი სპორტი
რავი ხელოვნების ისტორია ფეხბურთი
რავი ხელოვნების ისტორია ფრენბურთი
რავი ხელოვნების ისტორია ჩოგბურთი
ბეთ ქიმია ჩოგბურთი
ბეთ ქიმია ფეხბურთი


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

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

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

მრავალჯერადი დამოკიდებულება იწერება X -> -> Y. ამ შემთხვევაში:

სტუდენტი_სახელი -> -> მაიორი
სპორტი _> -> სპორტი

ეს არის წაკითხული როგორც "Student_Name multidetermines მაიორი" და "Student_Name multidetermines სპორტი."

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

მრავალდონიანი დამოკიდებულება და ნორმალიზაცია

მრავალჯერადი დამოკიდებულების მაგიდა არღვევს მეოთხე ჩვეულებრივი ფორმის ნორმალიზაციის სტანდარტს (4NK), რადგან ის ქმნის არასაჭირო გამოსავალს და ხელს შეუწყობს შეუსაბამო მონაცემებს. 4NF- ს ამ მიზნით, აუცილებელია ამ ინფორმაციის დაყოფას ორი მაგიდა.

ქვემოთ მოყვანილი ცხრილი ახლა აქვს Student_Name- ის ფუნქციონალური დამოკიდებულებას -> მაიორმა და მრავალმხრივი დამოკიდებულებები:

სტუდენტები და მაიორი
სტუდენტის სახელი მაიორი
რავი ხელოვნების ისტორია
რავი ხელოვნების ისტორია
რავი ხელოვნების ისტორია
ბეთ ქიმია
ბეთ ქიმია

მიუხედავად იმისა, რომ ამ მაგიდასთან აქვს ერთი ფუნქციური დამოკიდებულება Student_Name -> სპორტი:

სტუდენტები და სპორტი
სტუდენტის სახელი სპორტი
რავი ფეხბურთი
რავი ფრენბურთი
რავი ჩოგბურთი
ბეთ ჩოგბურთი
ბეთ ფეხბურთი

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