SQL - (14) M:M සම්බන්ධතාවයන්ගේ අඩුපාඩු සැකසීම

Resolving Many-to-Many Relationships

M:M සම්බන්ධතාවයන් නිර්මාණය කිරීමේ දී ගොඩනැගෙන හිස්තැන් සඳහා පිළියම් සැකසීම තමයි අද අපි කතා කරන්න යන මාතෘකාව. අනුව මෙම ලිපියේ දී අපි,
  • M:M සම්බන්ධතාවයන්ගේ තිබෙන attributes හඳුනාගැනීම.
  • M:M සම්බන්ධතාවයන්ගේ අඩුපාඩු සැකසීම intersection entity එකක් යොදා ගැනීම.
  • intersection entity එකක් සඳහා UID එක හඳුනාගන්නා ආකාරයත් විමසා බලමු.
 
මෙම ක්‍රමවේදයන් නිසා data model එකක් තුළින් අප අතින් ගිලිහී යා හැකිව තිබු විශේෂ අංග නිසි පරිදි පෙළ ගැසීමට හැකියාව ලැබේ. ඒ නිසා මෙම කොටස් කිහිපය පිළිබඳව අවධානය යොමු කිරීම අතිශයින් වැදගත් අංගයක් ලෙස පෙන්නා දීමට පුළුවන්.

සම්බන්ධතාවයක් තුළ සැගවුණු Attribute එකක් පිළිබඳව අපි මීළගට විමසා බලමු.



ඉහත රූපසටහන විමසා බැලීමේ දී,

PARTNER සඳහා EVENTs එකක් හෝ කීපයක් පැවරී තියෙනවා.
සෑම EVENT එකක්ම PARTNERs ලා එක්කෙනෙකුට හෝ කීප දෙනෙකුට ක්‍රියාකාරකමක් පැවරෙනවා.

EVENT PLANNER, DJ සහ PROJECT MANAGER තිදෙනාම එක් වී  EVENT එකක් සඳහා වැඩ කරන විට දී අපිට එම වැඩයේ වත්මන් තත්ත්වය (status) වාර්තා කීරීමට අවශ්‍යයයි.

එහෙත් ඉහත නිදර්ශනයේ කවර entity එක සඳහා මෙම status attribute එක ඇතුලත් කරනවා ද යන්න විමසා බැලීම මෙහිදී සිදු විය යුතුයි.

ඒ අනුව මෙම ගැටළුවට විසඳුමක් විදියට පහත පියවර අනුගමනය කරනු ලබනවා.

මේ සඳහා අලුතින්  entity එකක් නිර්මාණය කරනවා. මේය "intersection" entity එකක් විදියටයි හඳුන්වනනේ.



ඉහත රූපය විමසීමේදී intersection entity එකක් ඇතුලත් කර තිබෙනවා දැක ගන්න පුළුවන්. එය JOB ASSIGNMENT ලෙස නම් කර තිබෙනවා.

එ අනුව මෙතෙක්  M:M සම්බන්ධතාවයක්ව පැවති සම්බන්ධතාවය 1:M සම්බන්ධතාවයක් වශයෙන් වෙනස් වී ඇති බව නිරීක්ෂණය කරන්න පුළුවන්.

ඒ අනුව මෙහිදී මීළගට මතුවන කාරණය වන්නේ මෙම intersection entity එක සඳහා වන UID එක කුමක්ද කියන එකයි.

Barred Relationships

intersection entity එකෙහි UID එක තීරණය වන්නේ සත්‍ය වශයෙන්ම මෙම සම්බන්ධතාවය නිර්මාණය වීමට පාදක වූ entity එකේ UID එකයි. මෙය නිරූපනය කිරීම සඳහා කුඩා ඉරි කැබලි දෙකක් භාවිතා කරයි. පහත රූපයෙන් ඒ බව ඔබට නිරීක්ෂණය කිරීමට පුළුවන්. මෙන්න මේ සම්බන්ධතාවය "barred" relationships ලෙස හඳුන්වනු ලබයි.


නිදර්ශන 01 TV SHOW

සෑම TV show එකක්ම PERSON ලා එක් කෙනෙක් හො කීපදෙනෙක් නරඹයි.
ඒ වගේම සෑම PERSON කෙනෙක්ම TV show එකක් හෝ කීපයක් නරඹයි.


නිදර්ශන 02 CLEANING SERVICES
සෑම  company එකක්ම cleaning services එකක් හෝ කීපයක් පවත්වාගෙන යයි.
cleaning service කීපයක්ම companies එකක් හෝ කිපයක් සලසා දෙනවා.


No comments: