კავშირის ტიპი, კავშირი როლი და სტრუქტურული შეზღუდვები

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

კავშირი

კავშირი R არსებისთვის E1, E2, ... , En განსაზღვრავს მათი შეერთებების სიმრავლეს. მათემატიკურად R არის ისეთი Ri ელემენტების სიმრავლე რომელიც ასოცირდება გარკველ Ej ელემენტებთან. ანუ Ri არუს E სიმრავლის კარდინალური ნამრავლის ქვესიმრავლე.

schema 7

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

კავშირის დონე, როლის სახელი და რეკურსიული კავშირი

კავშირის დონე ითვლის შემაერთებელი არსების რაოდენობას. მაგალითად განხილული მუშაობს კავშირი არის ორ დონიანი. არსებობს სამ დონიანი კავშირებიც.მაგალითად schema 8-ზე ვხედავდ ერთმანეთთან დაკავშირებულ სამ არსს(SUPPLIER, PART და PROJECT).

schema 8

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

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

schema 9

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

კარდინალური რიცხვი ასახავს არსის მაქსიმალურ რაოდენობას, რომელიც შეიძლება მონაწილეობდეს კავშირში. მაგალითად მუშაობს კავშირი არის 1:N კარდინალური, რადგან დეპარტამენტში შეიძლება მუშაობდეს რამდენიმე თანამშრომელი, ხოლო ერთი თანამშრომელი აუცილებლად მუშაობს მხოლოდ ერთ დეპარტამენტში. არსებობს 1:1, 1:N, N:1 და M:N. 1:1 კავშირი, მაგალითად დეპარტამენტის და მმართველის კავშირი(schema 10), ხოლო N:M კავშირის მაგალითია თანამშრომელი და პროექტი(schema 11) რადგან ერთი თანამშრომელი შეიძლება მუშაობდეს რამდენიმე პროექტზე და პირიქითაც ერთ პროექტზე შეიძლება მუშაობდეს რამდენიმე თანამშრომელი.

schema 10

schema 11

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

კავშირებს შეიძლება გააჩნდეს თავისი ატრიბუტები. მაგალითად ინფორმაცია იმის შესახებ თუ კონკრეტული თანამშრომელი რამდენ დროს ხარჯავს კონკრეტულ პროექტზე, შეიძლება განთავსდეს კავშირში თანამშრომელსა და პროექტს შორის. ასეთი ატრიბუტები ასევე შესაძლებელია განთავსდეს თავად არსში: 1:1 კავშირის შემთხვევაში ნებისმიერ მათგანში ხოლო 1:N კავშირის შემთხვევაში მხოლოდ N-ს მხარეს მდგარ არსში. M:N კავშირის შემთხვევაში ასეთი ატრიბუტები აუცილებლად უნდა იყოს თავად კავშირში.

results matching ""

    No results matching ""