SQL - (11) Supertypes and Subtypes

මෙම ලිපියේ දී ඔබට,
  • subtype යනු කුමකුදැයි හඳුනාගැනීමට පුළුවන්
  • supertype යනු කුමකුදැයි හඳුනාගැනීමට පුළුවන්
  • entities සහ subtypes අතර ඇති සම්බන්ධාවයන් පිළිබඳවත්
  • ER diagrams තුල subtype හා supertype භාවිත වන ආකාරය පිළිබඳවත් අවබෝධයක් ලබා ගැනීමට පුලුවන්.
 
Supertypes සහsubtypes හඳුනාගනිමු.
  • Entity එකක් Supertype එකක් වශයෙන් හැඳින්වීමට පුළුවන්. 
  • එම entity එකෙහි attributes අපිට subtypes වශයෙන් හඳුනාගැනීමට පුළුවන්. 
  • මෙම subtype අතර තමන්ට ආවේණික attributes වගේම සම්බන්දතාවයන් පවතී.
  • Subtype අඳිනු ලබන්නේ Supertyp එකක් තුළය.
  • Subtype එකක් තනිව ස්ථාන ගත කරන්නේ නැත. එහෙම තනිව පවතින Subtype සඳහා භාවිතා කරනුයේ subentity ලෙසයි.
මුලින්ම අපි සැබෑ ලෝකයේ උදාහරනයක් අනුව විමසා බලමු. අනුව කෙටි ආහාර ඇනවුමක් විමසා බලමු

අනුව,
  • අපගේ entity එක වන්නේ ANIMAL වන අතර එහි දෙකක් ලෙස කොඳුඇට පෙළක් සහිත සතුන් (VERTEBRATE ) හා කොඳු ඇට පෙළක් රහිත (INVERTEBRATE) සතුන් හඳුනාගැනීමට පුළුවන්. මෙම් උදාහරණයට අනුව,
      • ANIMAL නම් entity එක supertype එක වශයෙන් හැඳින්විය හැක.
      • එහි ඇති VERTEBRATE සහ INVERTEBRATE යන කාණ්ඩ දෙක subtype වශයෙන් හඳුන්වයි.
      • පහත රූප සටහන හොඳින් නිරීක්ෂණය කිරීමෙන් මෙය හොඳින් අවබෝධ කර ගැනීමට පුළුවන්.
දැන් අපි තවත් නිදර්ශනයක් විමසා බලමු. සඳහා පහත රූප සටහන හොඳින් අධ්‍යයනය කරන්න.
මෙහි supertype එක වන්නේ EXAM. එහි subtypes වන්නේ QUIZ, MIDTERM සහ FINAL මෙම subtypes වලට පොදු වුනු attributes තිබෙනු ඔබට දැක් ගන්නට ලැබෙන්න ඇති.


සෑම විටම Subtype එකකට වඩා වැඩි ගණනක් තිබිය යුතුයි.
ER model එක අවසන් කිරීමේ දී subtypes
තනිව නොසිටි. එසේ වීමට බලපාන ප්රධාන නියමයන් දෙකක් පවතී. එනම්,

Exhaustive: supertype එකේ instance එකක් සෑම විටම එක supertype එකක් යටතට ගොනු වේ.
Mutually Exclusive: supertype එකේ instance එක් supertype එකකට අනිවාර්යයෙන්ම අයිති වෙයි.
නිදර්ශනයක් ලෙස පහත රූප සටහන බලන්න.
අනුව ඉහත නිදර්ශනයේ දී OHTER ලෙස Subtype එකක් සකස් කර ඇත්තේ supertype එකේ සෑම instance එකක්ම නිරූපණය කිරීමට හැකි වන ආකාරයටයි.


Subtypes සැම විටම පවතිනවා
සෑම entity එකකම subtype තියෙනවා. ඉහත දී අපි සාකච්ඡා කළ නිති වලට අනුකුලව අවශ් ඕනෑම විටක දී ගැලපෙන පරිදි subtype සකස් කිරීම කළ හැකියි. නමුත් ව්යාපාරයක දී මෙම අපි සකස් කරන subtype අතර සමානකම් මෙන්ම අසමානකම් හඳුනාගත යුතු වෙනවා.
නිවැරදි ලෙස Subtypes හඳුනාගැනීම
මේ සඳහා මූලික ප්රශ්න 03ක් භාවිතා කරනු ලබනවා. එම ප්රශ්න ඇසීම මගින් Subtypes නිසි ආකාරයෙන් හදුනාගැනීමට අවස්ථාව ලැබෙනවා.
  1. මේ subtype එක අදාල supertype එක හා ගැලපේ ?
  1. සෑම සිදුවිය හැකි අවස්ථාවක්ම (exhaustive) ආවරණය වී ඇත් ?
  1. අප යොදාගන්නා උදාහරණය අයත් වන්නේ එක් subtype එකකට පමණක් ?

Nested Subtypes
අපගේ අවශ්යතාවන්ට ගැලපෙන ආකාරයට Nested Subtypes නැවත නැවත කුඩා කොටස් වලට බෙදීමට පුළුවන්. පහත නිදර්ශනයේ දැක්වෙනුයේ එම ආකරයට නැවත කොටස් කරන ලද Subtypes වලට නිදර්ශනයකි.
සාමාන්‍යයෙන් මේ සඳහා levels දෙකක් භාවිත කරනු ලැබුවත් අපගේ පහසුව අනුව ඊට වැඩි ප්‍රමාණයක් වුවද භාවිත කරීමට අවස්ථාව ඇති බව මතක තබා ගන්න.
 

4 comments:

රූපේ said...

mama 2nd shy ict karanne! Mata ict papers tkak hoyala dnda puluwan nam loku udawwak!

Anonymous said...

All the best, You got the correct idea about oracle java. Tell me show me. Any way we are getting ready for oracle sql expert exam. do you joint with us?
keep going dear, good work

saman's blog said...

Thank you

Chandrangani said...

Please let me know how to find lessons 1 - 10.