ප්‍රාථමික ළමුන්ට අපුරු ක්‍රියාකාරකම් එකතුවක්..... Childsplay

මෙම මෘදුකාංගය ප්‍රාථමික ළමුන් සඳහා ක්‍රියාකාරකම් වලින් පිරි අධ්‍යාපනික මෘදුකාංගයකි. ලිනක්ස් මත වගේම වින්ඩෝස් මතත් ක්‍රියාකාරන මෙම මෘදුකාංගය නිවසේදී මෙන්ම ප්‍රාථමික පංති කාමර තුළද භාවිත කළ හැකි නිදහස් මෘදුකාංගයකි.

හන්තාන ලිනක්ස් සමග මෙම මෘදුකාංගයත් ඔබට ලබා ගැනීමට පුළුවන්.
හන්තාක ලිනක්ස් වලදී Activities > Application > Education > Child play > ඔස්සේ මෙම මෘදුකාංගය විවෘත කර ගැීමට පුළුවන්.

කුඩා ළමුන් සඳහා ගණිත කර්ම, ඉංග්‍රීසි අකුරු හෝඩිය, spelling, විවිධ සම්බන්ධතාවන් ආදී වූ සංකල්ප මෙහි ඇති ක්‍රියාකාරකම් ඔස්සේ ළමුන්ට ප්‍රේෂණය කිරීමට අවස්ථාව ලැබේ.

පරිගණකයට ළමයා හුරු කිරීමට මෙන්ම පරිගණක ආශ්‍රිත ඉගැන්වීම් සඳහා කදිම මෘදුකාංගයක් ලෙස මෙම මෘදුකාංගය හඳුන්වා දීමට පුළුවන්. 

පහතින් දැක්වෙන්නේ එහි ප්‍රධාන වින්ඩෝවයි. 

http://childsplay.sourceforge.net/images/screenshots/CP_menu_big.gif

එහි ඇති අයිකන වලින් නිරූපනය වන්නේ විවිධ ක්‍රියාකාරකම් ය. පහත දැක්වෙන්නේ එම ක්‍රියාකාකර සඳහා කෙටි මඟ පෙන්වීමකි.

ගැලපෙන රූපය තෝරන්න
CP_memory.gif

ගැලපෙන Simple අකුරු තෝරන්න.
http://childsplay.sourceforge.net/images/screenshots/CP_memorylower.gif

ගැලපෙන Capital අකුරු තෝරන්න.
http://childsplay.sourceforge.net/images/screenshots/CP_memoryupper.gif

 ගැලපෙන ඉලක්කම තෝරන්න.
http://childsplay.sourceforge.net/images/screenshots/CP_memorynumbers.gif

 ගැලපෙන ශබ්දය තෝරන්න
http://childsplay.sourceforge.net/images/screenshots/CP_soundmemory.gif

හඩගා නඟා කියවන ඉලක්කම නිවැරදිව තෝරන්න.
http://childsplay.sourceforge.net/images/screenshots/CP-find-char-sound.gif

නිවැරදිව ඉලක්කම Type කරමු
http://childsplay.sourceforge.net/images/screenshots/CP_fallingletters.gif

ප්‍රහෙලිකා
http://childsplay.sourceforge.net/images/screenshots/CP_puzzle.gif

ශබ්දය හඳුනාගනිමු
http://childsplay.sourceforge.net/images/screenshots/CP_findsound.gif

ආදී වූ ක්‍රීඩා සමූහයකින් යුත් මෙම මෘදුකාංගය

වින්ඩෝස් භාවිත කරන්නන් සදහා පහත ලින්කුවෙන් ලබා ගැනීමට පුළුවන්
http://sourceforge.net/projects/schoolsplay/files/childsplay_sp-win32/

ලිනක්ස් භාවිත කරන්නන් සදහා පහත ලින්කුවෙන් ලබා ගැනීමට පුළුවන්
http://sourceforge.net/projects/schoolsplay/files/childsplay_sp/

Google Skecthup 8 ගැන දන්නවාද?

SketchUp

3D නිර්මාණයන් සඳහා භාවිතයට ගත හැකි මෙම මෘදුකාංගය වින්ෝස් වලදී මෙන්ම ලිනක්ස් වල Wine භාවිත කර ස්ථාපනය කර ගන්න පුළුවන්.

මෙහි Standard සහ Pro ලෙස වර්ෂන් දෙකක් ඇති අතර Standard නොමිලයේම (Freeware) ලබා ගත හැකි අතරම Pro මිලදී (Proprietary commercial software) ගත යුතු වෙනවා.

2000 වර්ෂයේ මුල්වරට එළි දුටු මෙම මාදුකාංගයෙහි Stable release එක 8.0.16846 / December 19, 2012 එළි දක්වනු ලැබුවා.

වැඩි විස්තර www.sketchup.com අඩවියෙන් ලබා ගත හැකි අතර මෙම මෘදුකංගය පිළිබඳ අදහසක් ලබා ගැනීමට පහත වීඩියෝව නරඹන්න.
 

ප්‍රාථමික ළමයින් සඳහා Tuxmath මෘදුකාංගය

 Tuxmath

ඉතාමත් කුඩා අවධියේ සිටින ළමුන් සඳහා ලබා දිය හැකි අධ්‍යාපනික මෘදුකාංගයකි. 2 වන ශ්‍රේණියේ ළමයෙකුගේ සිට ඉහළට විවිධ වයස් කාණ්ඩ වල ළමුන් සදහා විවිධ ගණිත ක්‍රියාකාරකම් පියවරෙන් පියවරට මෙහි ඇතුලත් කර තිබෙනවා.

මෙම ක්‍රියාකාරකම් ක්‍රීඩාවක් ආකාරයට සකස් කර තිබෙන නිසා ළමුන් නොදැනුවත්වම ගණිතයේ මූලික සංකල්ප වලට හුරු වීම සිදු වෙනවා. ළමුන් ඉතාමත් සන්තෝසයෙන් මෙම ක්‍රියාකාරකම් වල නිරත වීමත් දකින්නට ලැබෙන තවත් විශේෂයක්.

මෙම මෘදුකාංගය නිදහස් මෘදුකාංගයක් වන අතර වින්ඩෝස් ලිනක්ස් ආදී ඕනෑම මෙහෙයුම් පද්ධතියක් සදහා භාවිත කරන්නත් පුළුවන්.

හන්තාන ලිනක්ස් සම
හන්තාන ලිනක්ස් සමඟ නොමිලයේම බෙදා හරින මෙම මෘදුකාංගය හන්තාන ස්ථාපනය කර ගැනීමේන් ලබා ගැනීමට පුළුවන්.

activities > applications > Education > tuxmath > ඔස්සේ මෙම මෘදුකාංගය වෙත යොමු වීමට පුළුවන්.

තවත් විස්තර සඳහා ඔවුන්ගේ වෙබ් අඩවිය වෙත යොමු වන්න.
http://tux4kids.alioth.debian.org/index.php

පහත දැක්වෙන්නේ එම මෘදුකාංගයේ screen shot කිහිපයක්.





පහත වීඩියෝව නැරඹිමෙන් මෙම මෘදුකාංග පිළිබඳ වැඩිදර අවබෝධයක් ලබා ගන්න පුළුවන් වෙයි.

SQL - (16) UIDs හඳුනාගනිමු

Artificial, Composite සහ Secondary UIDs

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

  • Unique identifiers (UIDs) වල ප්‍රබේද හදුනාගනිමු.
  • Candidate UID ලෙස හඳුන්වනනේ කුමක්ද යන්න පිළිබඳවත් සමහර entity සඳහා candidate UID කීපයක් ඇත්තේ ඇයි නියලත් විමසා බලමු.
  • Candidate UID වලින් ව්‍යාපාරයට ගැලපෙන ප්‍රථමික (primary) UID එක තෝරගන්න ආකාරය පිළිබඳවත් විමසා බලමු.



Relational databases වලදී UID එක අතිශයින් වැදගත්. දත්ත සමූහයක් අතරින් user ට එක් දත්තයක් unique ලෙස තෝරා ගැනීමට UID එක අතිශයින් වැදගත් වෙනවා.



Simple UIDs යනු මොනවාද ?

එක් attribute එකක් UID ලෙස තෝරා ගැනීමට හැකි නම් එය මෙ නමින් හැඳින් වේ.



Composite UIDs යනු මොනවාද ?

සමහර අවස්ථාවන් වලදී  attribute එකකින් පමණක් instance එකක් unique විදියට තේරැම් ගැනීමට අපහසු වෙනවා. මෙවැනි අවස්ථාවන් වලදී attribute දෙකක් තෝරා ගනු ලබනවා. මෙම අවස්ථාව composite UID එකක් ලෙස හඳුන්වනවා.



Artificial UIDs යනු මොනවාද ?


සැබෑ ලෝකයේ එවැනි UID එකක් නොමැති අතර පද්ධතියේ අවශ්‍යතාවය මත නිර්මාණය කරනු ලබන සංකේතයක් මගින් unique විදියට හඳුනාගැනීමට සලස්වනවා.



නිදර්ශනයක් මගින් මෙය පැහැදිලි කලොත් සපත්තු සඳහා color, size සහ style ඊට ආවේණික ලෙස තිබුනත් අංකයක් ඇත්තේ නැ. එම අංකය ලබා දෙන්නේ සාප්පු හිමියා විසින්. එමගින් ඔවුන්ට වෙනම හඳුනාගැනීමට පහසු වනවා. පහත රූප සටහන බලන්න.




Barred Relationship එකක දී UIDs වන්නේ


මෙම අවස්ථාවේ දී UID එක attribute සහ relationship එකක එකමුතුවෙන් තමයි නිර්මාණය වෙන්නේ. එවිට එම UID එක artificial? නැත්නම් composite? පහත නිදර්ශනය බලන්න.




ඉහත නිදර්ශනයට අනුව පුද්ගලයන් දෙදෙනෙකුට බැංකු දෙකක එකම ගිණුම් අංකයක් තිබිය හැකි මුත් එම අංකත් සමග බැංකු අංකය තිබීම අනිවාර්ය අවශ්‍යතාවයක් වෙනවා.



අපි තවත් නිදර්ශනයක් බලමු. පහත රූප සටහන දෙස බලන්න.




PLAY LIST ITEM එකේ UID එක ලැබෙනුයේ EVENT සහ SONG වල UID වලිනි. මේ බව සම්බන්ඳතාවයන් මත ඇදලා තියෙන bars වලින් පැහැදිලි කර දෙනවා.



Candidate UIDs යනු මොනවාද ?


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


නිදර්ශනයක් ලෙස වෙබ් අඩවියක් ඔබගේ හැඳුනුම්පත් අංකය වගේම විද්‍යුත් ලිපිනයත් ඇතුළු විස්තර ලබා ගන්නවා. එම විස්තර අතරින් හැඳුනුම්පත් අංකය හා විද්‍යුත් ලිපිනය යන දෙකෙන් ඕනෑම එකක් UID එක විදියට තෝරා ගන්න පුළුවන්. ඒ අනුව හැඳුනුම්පත් අංකය හා විද්‍යුත් ලිපිනය Candidate UIDs වශයෙන් හඳුන්වන පුළුවන්.


Candidate UIDs වලින් තෝරා ගනු ලැබු එක primary UID ලෙසත් අනික් ඒවා secondary UIDs ලෙසත් හඳුන්වනවා.


SQL - (15) CRUD Requirements හඳුනාගනිමු



CRUD අවශ්‍යතාවන් හඳුනාගනිමු.

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

  • සම්මුඛ සාකච්ඡා වලදී එකතු කර ගත් තොරතුරු භාවිතයෙන් ව්‍යාපාරය සඳහා අවශ්‍යය ER models
  • සකස් කර ගැනීම පිළිබඳවත්,
  • ව්‍යාපාරය සඳහා අවශ්‍ය create, retrieve, update, සහ delete යන (CRUD) අවශ්‍යතාවයන් හඳුනාගැනීම පිළිබඳවත්, 
  • මෙම CRUD අවශ්‍යතා භාවිතයෙන් ER model එක ඇගයීමට ලක් කිරීම යනාදී කරුණු පිළිබඳව අවධානය යොමු කරමු.

මෙහිදී අපගේ අවධානයට යොමු විය යුතු වැදගත් ම කාරණය වන්නේ ERD එක මත පදනම් වෙලා තමයි සේවාදායකයා සහ වැඩසටහන් සකසන්නා අතර සම්බන්ධිකරණයක් ඇති කරනු ලබනවා කියන කාරණය. මෙම ආකෘතිය භාවිත කරමින් තමයි අවසානයේ අපගේ දත්ත සමුදාය නිර්මාණය කරන්නේ.

ඒ නිසා  ERD එකෙහි entity එකක හෝ relationship වල අඩුපාඩුවත් ඇත්දැයි විමසා බැලීම වැදගත් වෙනවා. ඒ වගේම ව්‍යාපාරයට අනවශ්‍ය දෙයක් එය තුළ ඇත්දැයි  විමසීම ද අවශ්‍ය වෙනවා. මෙම කාර්යයන් කැ ගැනීම සඳහා CRUD analysis භාවිත කරන්න පුළුවන්.


CRUD analysis යනු කුමක්දැයි මීළගට අපි බලමු.
ERD එකෙහි නිවැරදි බව තහවුරු කිරීම සඳහා CRUD භාවිත කරනවා යනුවෙන් අදහස් වන්නේ create, retrieve, update, delete යන මුලික යෙදුම් 4 භාවිත කරමින් දත්ත සමුදායේ ක්‍රියාකාරීත්වය අධ්‍යයනය කිරීමයි. data model එකක සම්පූර්ණභාවය තීරණය වන්නේ මෙම ක්‍රියාකාරකම් සිදු කිරීම මගිනි.

මීළගට අපි CRUD analysis යටතේ අපි හඳුනාගත් මූලික මෙහෙයුම් 4 පිළිබඳව මීළගට අපි අවධානය යොමු කරමු.

Create මෙහෙයුම
සාකච්ඡා වලදී සහ ව්‍යාපාර අවස්ථා අධ්‍යයනයේ දී අපිට හමුවන Create මෙහෙයුම හා සම්බන්ද Keywords ගණනාවකි. INPUT, ENTER, LOAD, IMPORT, RECORD, සහ CREATE ඒ අතර වේ. මේ සෑම මෙහෙයුමක් තුලින්ම නිරෑපනය වන්නේ දත්ත සමුදාය නිර්මාණය කිරීම, දත්ත ඇතුලත් කිරීම පිළිබඳවයි. ඒ අනුව අපගේ data model එක සඳහාත් මෙම සෑම මෙහෙයුමක්ම ක්‍රියාත්මක කල හැකිදැයි විමසා බැලීම මෙහිදී සිදු කරනවා.

Retrieve මෙහෙයුම
සාකච්ඡා වලදී සහ ව්‍යාපාර අවස්ථා අධ්‍යයනයේ දී අපිට හමුවන Retrieve මෙහෙයුම හා සම්බන්ද Keywords ගණනාවකි. VIEW, REPORT, BRING UP, PRINT, FIND, READ සහ LOOK UP ඒ අතර වේ. මේ සෑම මෙහෙයුමක් තුලින්ම නිරෑපනය වන්නේ දත්ත සමුදායෙන් තොරතුරු ආපසු ලබා ගැනීම පිළිබඳවයි. ඒ අනුව අපගේ data model එක සඳහාත් මෙම සෑම මෙහෙයුමක්ම ක්‍රියාත්මක කල හැකිදැයි විමසා බැලීම මෙහිදී සිදු කරනවා.

Update මෙහෙයුම
සාකච්ඡා වලදී සහ ව්‍යාපාර අවස්ථා අධ්‍යයනයේ දී අපිට හමුවන Update මෙහෙයුම හා සම්බන්ද Keywords ගණනාවකි. CHANGE, MODIFY, ALTER සහ UPDATE ඒ අතර වේ. මේ සෑම මෙහෙයුමක් තුලින්ම නිරෑපනය වන්නේ දත්ත සමුදායේ දැනට පවතින තොරතුරු විවිධ ආකාරයට වෙනස් කිරීම පිළිබඳවයි. ඒ අනුව අපගේ data model එක සඳහාත් මෙම සෑම මෙහෙයුමක්ම ක්‍රියාත්මක කල හැකිදැයි විමසා බැලීම මෙහිදී සිදු කරනවා.

Delete මෙහෙයුම
සාකච්ඡා වලදී සහ ව්‍යාපාර අවස්ථා අධ්‍යයනයේ දී අපිට හමුවන Delete මෙහෙයුම හා සම්බන්ද Keywords ගණනාවකි. DISCARD, REMOVE, TRASH, PURGE සහ DELETE ඒ අතර වේ. මේ සෑම මෙහෙයුමක් තුලින්ම නිරෑපනය වන්නේ දත්ත සමුදායේ දැනට පවතින තොරතුරු මකා දැමීම පිළිබඳවයි. ඒ අනුව අපගේ data model එක සඳහාත් මෙම සෑම මෙහෙයුමක්ම ක්‍රියාත්මක කල හැකිදැයි විමසා බැලීම මෙහිදී සිදු කරනවා.

CRUD Validation
CRUD analysis භාවිතයට ගනීමෙන් අපගේ data model එක විමර්ශනය කිරීනේ එහි තිබිය හැකි සැඟවුණුතැන් ඉවත් වී සම්පුර්ණ එකක් බවට පත් කර ගැනීමට අවස්ථාව උදා වෙයි.

අවසාන වශයෙන් අප අවධානය ොමු කළ යුත්ේ අපdata modelඇති සෑම entity එකක්ම හෝ relationship එකක්ම ඉහත කී මෙහෙයුම් භාවිතයෙන් ක්‍රියාවලියකට ලක් කල හැකි ද නොහැකිද යන්නයි. නොහැකි නම් එතන ගැටළුවක් ඇති හෙයින් ඒ පිළිබඳව නැවත අවධානය යොමු කර එය විසඳා ගත යුතු වෙනවා.


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 එකක් හෝ කිපයක් සලසා දෙනවා.


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 කර ගැනීම වන අතර මේ සඳහා එක් සම්බන්ධතාවයක් වෙනස් කිරීමකට ලක් කළ යුතු වෙනවා.












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










SQL - (12) Relationship Transferability

මෙම ලිපියේ දී අපි 
  • Transferable සහ nontransferable relationships පිළිබඳවත්
  • Relationship nontransferability යනු කුමක්ද පිළිබඳවත්
  • ERD එකක් භාවිත කර nontransferable relationships ඇඳීම පිළිබඳවත් අවධානය යොමු කරමු.
මුලින්ම අපි සරළ උදාහරණයක් භාවිත කර සම්බන්ධතාවයක් (relationship) හදුනාගනිමු.
 
                                                                                                                                                                                                                                                
මෙම SONG සහ TYPE කියන සම්බන්ධතාවය හොදින් විමසා බලමු. ඒ අනුව
Optionality යනු :
සිදුවක් (SONG) වර්ගීකරණය නොකර TYPE එකකට පැවතිය හැකිද?
සෑම සිංදුවක් (SONG) සදහාම වර්ගයක් (TYPE) එකක් තිබිය යුතු වෙනවා?
Cardinality යනු :
එක TYPE එකක් යටතේ කොපමණ  SONG ප්‍රමාණයක් වර්ග කරන්න පුළුවන්ද?
එක් සිංදුවකට (SONG) TYPE කීයක් තිබෙන්න පුළුවන් ද?
Transferability යනු :
SONG එකක් TYPE එකකින් TYPE එකකට මාරු කරන්න පුළුවන්ද?
යන ප්‍රශ්න වලට උත්තර සෙවීමෙන් එම සංකල්ප නිසි අයුරින් වටහා ගැනීමට අපට හැකියාව ලැබෙනවා.
මීළගට අපි මෙම සංකල්ප නිදර්ශන ඇසුරින් විමසා බලමු.
Transferable relationship නිදර්ශනයක් ඇසුරින් :
 පහත උදාහරණයට අනුව STUDENT සහ STUDY GROUP අතර සම්බන්ධතාවයක් පවතිනවා. මෙහි STUDENTට හැකියාව තියෙනවා  STUDY GROUP එකක සිට තවත් එකකට මාරු වෙන්න. මෙන්න මේ තත්ත්වය හඳුන්වනවා transferable relationship එකක් විදියට.
 
Nontransferable relationship නිදර්ශනයක් ඇසුරින් :
පහත දැක්වෙන නිදර්ශනයට අනුව STUDENT සහ RECEIPT අතර සම්බන්ධතාවයක් පවතිනවා. එහි ස්වරූපය වන්නේ STUDENT වෙත නිකුත් කරන RECEIPT එකක් වෙනත් සිසුවෙකුට පැවරීමක් කරන්න පුළුවන් කමක් නැ. එහෙම පැවරීමක් කරන්න අවශ්‍ය නම් මුල් RECEIPT එක අවලංගු කිරීමට සිදු වෙනවා. ඒ අනුව STUDENT සහ RECEIPT අතර පවතින සම්බන්ධතාවය nontransferable විදියට හදුනාගන්න පුළුවන්.
 
සම්බන්ධතාවය මත පවතින දියමන්ති හැඩයෙන් ඇගවෙනුයේ මෙම  nontransferable සම්බන්ධතාවය බව අප මතක තබා ගත යුතු වෙනවා.
පහත දැක්වෙන නිදර්ශන දෙස හොඳින් බලන්න. එයිනුත් අදහස් වන්නේ නැතිනම් නිරූපනය වන්නේ මෙම nontransferable සම්බන්ධතාවයන්මයි. හොඳින් නිරීක්ෂණය කර එය තේරැම් ගත හැකිදැයි විමසා බලන්න.