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

თავიდან იქნას აცილებული ტრანზიტული დამოკიდებულება ნორმალიზაციის უზრუნველსაყოფად

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

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

მოდი ვნახოთ, როგორ შეიძლება ეს მუშაობა.

გარდამავალი დამოკიდებულების მაგალითი

ავტორები

ავტორი_ID ავტორი წიგნი ავტორი_ეროვნულობა
Auth_001 ორსონის სკოტი ბარათი Ender- ის თამაში შეერთებული შტატები
Auth_001 ორსონის სკოტი ბარათი Ender- ის თამაში შეერთებული შტატები
Auth_002 მარგარეტ ატვუდი ჰენმადის ზღაპარი კანადა

ზემოთ ავტორის მაგალითში:

მაგრამ ეს ცხრილი წარუდგენს გარდამავალ დამოკიდებულებას:

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

მესამე ჩვეულებრივი ფორმის უზრუნველსაყოფად, მოდი გამოვიყენოთ გარდამავალი დამოკიდებულება.

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

წიგნები

Book_ID წიგნი ავტორი_ID
წიგნი_001 Ender- ის თამაში Auth_001
წიგნი_001 გონების ბავშვები Auth_001
წიგნი_002 ჰენმადის ზღაპარი Auth_002

ავტორები

ავტორი_ID ავტორი ავტორი_ეროვნულობა
Auth_001 ორსონის სკოტი ბარათი შეერთებული შტატები
Auth_002 მარგარეტ ატვუდი კანადა

ეს გაასწორა ეს? მოდით შეისწავლოს ჩვენი დამოკიდებულება ახლა:

BOOKS მაგიდა :

AUTHORS მაგიდა :

ჩვენ უნდა დავამატოთ მესამე მაგიდა ამ მონაცემების ნორმალიზებისთვის:

ქვეყნები

ქვეყანა _ID ქვეყანა
Coun_001 შეერთებული შტატები
Coun_002 კანადა

ავტორები

ავტორი_ID ავტორი ქვეყანა _ID
Auth_001 ორსონის სკოტი ბარათი Coun_001
Auth_002 მარგარეტ ატვუდი Coun_002

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

რატომ არის გადამწყვეტი დამოკიდებულება ცუდი მონაცემთა ბაზის დიზაინი?

რა არის ღირებულების თავიდან აცილების გარდამავალი დამოკიდებულებები, რათა უზრუნველყოს 3NF? მოდი განვიხილოთ ჩვენი პირველი მაგიდა და ვნახოთ ის, რაც ქმნის:

ავტორები

ავტორი_ID ავტორი წიგნი ავტორი_ეროვნულობა
Auth_001 ორსონის სკოტი ბარათი Ender- ის თამაში შეერთებული შტატები
Auth_001 ორსონის სკოტი ბარათი გონების ბავშვები შეერთებული შტატები
Auth_002 მარგარეტ ატვუდი ჰენმადის ზღაპარი კანადა

ასეთი სახის დიზაინი ხელს შეუწყობს მონაცემების ანომალიებად და შეუსაბამობებს, მაგალითად:

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