සාපේක්ෂ වීජීයය

හැඳින්වීම
සාපේක්ෂ වීජීයය (Relational Algebra) යනු දත්ත සමුදාය (Database) හා සබැඳි විෂයයක් වන අතර මෙමඟින් දත්ත සමුදායක අන්තර්ගත දත්ත නැවත ලබාගැනීමේදී එය  මනාව කලමනාකරණය කරමින් සැලසුම් කිරීම මෙහි අරමුණයි. මෙහි වඩාත් යෝග්‍ය අර්ථ දැක්වීම නම්, සාපේක්ෂ ආකෘතිය (Relational Model) සඳහා වන මූලික මෙහෙයුම් එකතුව යන්න වේ. මෙය තව දුරටත් පැහැදිලි කල හොත්, සාමාන්‍යයෙන් අප භාවිතා කරන සාපේක්ෂ දත්ත සමුදාය කලමනාකරණ පද්ධතියක (Relational Database Management System (RDBMS)) අන්තර්ගත දත්ත සමුදායකින් දත්ත ලබාගැනීමේදී (data retrieval) අප බොහෝවිට ව්‍යුහගත සංවේදන භාෂා (SQL) විධාන (Commands) භාවිතා කරනු ලබයි.නමුත් වගු ගනනාවකින් එකවර තොරතුරු ලබා ගැනීමේදී මෙය සංකීර්ණ කාර්‍යයක් වන අතර ගැටලු බොහෝ මතු කරවයි. එබැවින් එකවර SQL විධානය ලිවීමට වඩා සාපේක්ෂ වීජීයය භාවිතා කර වීජීය ප්‍රකාශනය ලියා එයින් SQL විධානය ලිවීම ගැටලු අවම කරන අතරම, වඩාත් සුදුසු විධානය ‍තෝරා ගැනීමටද හැකියාව ඇති කරයි.

සාපේක්ෂ වීජීයය පිලිබඳ විශේෂ තොරතුරු
 Edger F. Codd විසින් 1970 දී හඳුන්වා දෙනු ලැබීය.
 දත්ත ලබා ගැනීම සැලසුම් කිරීම සඳහා පමණක් භාවිතා කරනු ලබයි.
 සාපේක්ෂ වීජීය ප්‍රකාශනයකින් සැකසෙනුයේ නව සබැඳුමක් (Relation එකක්) වන අතර එය නැවතත් තවත්  සාපේක්ෂ වීජීය ප්‍රකාශනයක ගණනයට භාජනය කළ හැකිය.

මූලික මෙහෙයුම්
 මෙහි ප්‍රධාන මෙහෙයුම් වර්ග 2කි. ඒවා නම්,
කුලක වාදය මත පදනම් වූ මෙහෙයුම්.
 මෙහෙයුම සංකේතය  කුලක ක්‍රියාව Union  ∪  මේලය Intersection  ∩  අතිච්ඡාදනය Set Difference  -  කුලක අන්තරය Cartesian product  ×  කාටීසියානු ගුණිතය

බන්ඳුතා දත්ත සමුදාය (Relational Database) මත පදනම් වූ මෙහෙයුම්.
 මෙහෙයුම සංකේතය අර්ථය Select  σ  තේරීම Project  π  ප්‍රක්ශේපනය Join  ⋈  සබඳනය Rename  ρ  නම වෙනස් කිරීම

 (මෙහි Rename මෙහෙයුම Codd විසින් හඳුන්වා දෙන ලද්දක් නොවේ.)
 අප දැන් මෙම මෙහෙයුම් සවිස්තරාත්මකව විමසා බලමු.
බන්ඳුතා දත්ත සමුදාය මත පදනම් වූ මෙහෙයුම්.
Select(σ ) මෙහෙයුම

 මෙම ම්හෙයුම භාවිතා කරනුයේ දී ඇති තේරුම් කොන්දේසිය තෘප්ත කරන පේලි (Tuple) යම් කිසි සබැඳුමකින් තොරා ගැනීම සඳහාය. 
 එනම් අදාල (Table) එකේ අපට අවශ්‍යය පේලි පෙරා ගැනීම සඳහාය. 
මේ  සඳහා පොදු සූත්‍රය පහත පරිදි වේ.

  σ(තේරුම් කොන්දේසිය)(සබැඳුම)
මෙහි යන්න Selection මෙහෙයුම සංකේතවත් කරයි.
තේරුම් කොන්දේසිය බූලියානු ප්‍රකාශනයක් (Boolean Expression) ජනිත කරවන අතර මේ සඳහා අදාල සබැඳුමේ තීර නාම (colomn headers=attribute) භාවිතා වේ.
මෙහි සබැඳුම සරලව දත්ත සමුදාය සබැඳුමක් (Database relation) හෝ සබැඳුමක් ජනිත කරවන සාපේක්ෂ  වීජීය ප්‍රකාශනයක් හෝ වේ.

මෙහි තේරුම් කොන්දේසිය(Selection condition) එකෙන් නිරූප්‍ය වන බූලියානු ප්‍රකාශනය පහත ආකාරයේ උප කොටස් වලින්,
<තීර නාමය (attribute Name)> + <සැසඳුම් මෙහෙයුම (Comparison Operator)> + <නියතයක්>
හෝ
<තීර නාමය (attribute Name)> + <සැසඳුම් මෙහෙයුම (Comparison Operator)> + <වෙනත් තීර නාමයක් (attribute Name)>
ලෙස සමන්විතය.

මෙම උප කොටස් වල,
 <තීර නාමය (attribute Name)> ==> සබැඳුමට අදාල තීරයකි.
 <සැසඳුම් මෙහෙයුම (Comparison Operator)> ==> (=, !=, > ,< , <= , >=)යන මෙහෙයුම් 6න් එකකි.
 <නියතය> ==> මෙය අදාල තීරයේ වසමයේ අඩංගු නියතයකි.

 පහත උදාහරණය සලකා බලන්න.

 මෙහි පලමුවෙන්ම දැක්වෙන්න්නේ දත්ත සමුදායක අන්තර්ගත දත්ත වගුවකි.


Project (π ) මෙහෙයුම

Join (⋈ ) මෙහෙයුම
Rename (ρ ) මෙහෙයුම
කුලක වාදය මත පදනම් වූ මෙහෙයුම්.