SQL - (13) Relationship Types (සම්බන්ධතා වර්ගීකරණය)


මෙම ලිපියේ දී අපි,

  • One-to-one relationship
  • One-to-many relationship
  • Many-to-many relationship
  • Redundant relationships හඳුනාගෙන් ඒවා ERD එකෙන් ඉවත් කරන ආකාරය විමසා බලමු.

 

මුලින්ම අපි,

One-to-Many (1:M) Relationships

මෙම සම්බන්ධතාවය (1:M) වශයෙන් ද කෙටියෙන් නිරූපණය කරන බව අප මතක තබා ගත යුතුයි.










මෙම සම්බන්ධතාවය තුල ප්‍රභේද රාශියක් තිබෙන බවත් අපි මතක ගත යුතුයි. පහත රූපයේ දැන්වෙන සංකේත හොඳින් නිරීක්ෂණය කරන්න.

මෙම එක් එක් සංකේතයෙන් අදහස් කරන දේහි විවිධ වෙනස් කම් නිරූපණය කරයි. ඒවැනි විශේෂතා පිලිබඳව අපි ඉදිරියේ දී සවිස්තරව සාකච්ඡා කරමු.

පහත රූපසටහන දෙස හොඳින් බලන්න. එයින් කියවෙන්නේ කුමක්දැයි තේරුම් ගැනීමට උත්සාහ කරන්න.
 







මෙයින් කියවෙන්නේ DEPARTMENT එකකට EMPLOYEE ලා කිහිපදෙනෙක් සිටිය හැකි බවත් ඔවුන් සියලු දෙනාම මෙම DEPARTMENT එක යටතේ වැඩ කරන බවයි.

මෙම තත්ත්වය 1:M සම්බන්ධතාවයක් ලෙසට හඳුන්වා දීමට පුළුවන්.

Many-to-Many (M:M) Relationships

M:M ලෙස කෙටි කර හැඳින්වෙන මෙම සම්බන්ධතාවය තුල දීත් ප්‍රබේද කීපයක් හඳුනාගන්න පුළුවන්. පහත රූපය තුළ ඇති සංකෙත හොඳින් අධ්‍යයනය කිරීමෙන් ඒ බව වටහා ගත හැකි වනු ඇත. 

 










මෙවැනි සම්බන්ධතාවයන් බොහෝමයක් ERD එකක් නිර්මාණය කරන මුල් අවස්ථාවලදී දැක ගැනීමට හැකි වුවද ක්‍රමක්‍රමයෙන් මේ සියල්ලම අහෝසි වී යනවා. ඉදිරියේ දී මේ පිළිබඳව සවිස්තරව කතා කරමු. දැන් පහත රූපයෙන් නිරූපනය කරන නිදර්ශනය වෙත යොමු වෙමු.
 




මෙම රූපයෙන් STUDENT ලා කිහිපදෙනෙක් TEACHER ලා ගණනාවකින් අධ්‍යාපනය ලබන බව නිරූපනය කරනවා. මෙම තත්ත්වය M:M ලෙස හඳුන්වනවා.


One-to-One (1:1) Relationships

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

මෙම සම්බන්ධතාවය අධ්‍යයනය කිරීමේ දී අපිට දක්නට ලැබෙන මූලික අවස්ථා දෙකකි. එනම්,
  1. One-to-One Relationships For Roles
  2. One-to-One Relationships For Process

ඒ අනුව අපි මුලින්ම,
  • One-to-One Relationships for Roles පිළිබඳව විමසා බලමු. 











ඉහත නිදර්ශනය විමසීමේදී දක්නට ලැබෙන විශේෂත්වයක් වන්නේ එක් අන්තයක් Mandatory වීමයි. මෙහිදී PERSON ලා ඛාණ්ඩ දෙකකි. එනම් TEACHER භූමිකාව ඇති අය සහ STUDENT භූමිකාව ඇති අයයි. 

  • One-to-One Relationships for Process පිළිබඳව විමසා බලමු.




















මෙහිදී සම්බන්ධතාවය සිදු වන්නේ ක්‍රියාකාරකමක් හා සම්බන්ධවයි. EXAM එක ඇගයීමට ලක් වන්නේ ANSWER KEY එකක් භාවිතයෙනි.
 
Redundant Relationships

අනවශ්‍ය (Redundant) බවක් පෙන්වන සම්බන්ධතාවයක් එයින් මුදවා ගැනීමට (derived) කර ගැනීම සඳහා සම්බන්ධතාවයන් වෙනස් කර ගැනීම මෙහිදී සිදු වෙයි. පහත නිදර්ශනය බලන්න.




ඉහත නිදර්ශනය හොඳින් විමසා බැලූ විට පැහැදිලි වන කාරණයක් වන්නේ රතු ඊතලයෙන් පෙන්වා ඇති සම්බන්ධතාවය තුළ hometown යන්න දෙවරක් භාවිත වී ඇති බව. මෙම තත්ත්වය Redundant ලෙස හැඳින්වෙන අතර එවැනි තත්ත්වයක් ERD එකක තිබිය නොහැකියි. 

මෙම තත්ත්වය වෙනස් කර ගැනීම derived කර ගැනීම වන අතර මේ සඳහා එක් සම්බන්ධතාවයක් වෙනස් කිරීමකට ලක් කළ යුතු වෙනවා.












ඒ අනුව පහත රූපයේ දැක්වෙනුයේ නිසි ආකාරයට වෙනස් කර සකසා ගත් සම්බන්ධතාවයයි. 










2 comments:

Anonymous said...

විහිළුවක් දැම්මහම 100 ගනන් Comments.ඒත් මේ වගේ වටිනා post එකකට Comment නැහැ කියල දැක්කහම ඇත්තටම දුකය්.මොනවා වුනත් අතිශයින්ම වටිනා post එකක්.මම මේ ඔක්කොම ටික කියවන ගමන් ඉන්නේ.සමහර වෙලාවට Class නොතෙරිච්ච කරුණු අය්යාගේ post වලින් බොහොම සරලව තේරුම් කරලා තියෙන නිසා සැහෙන්න වටිනවා.ඔබට මේ ප්‍රයත්නය දිගටම කරගෙන යන්න සුභ පතනවා.

saman's blog said...

ස්තුතියි