Database Management Systems
ඬේටාබේස් කළමණාකරනයේදී හමුවන තවත් වැදගත් සංකල්පයක් වෙතටයි අද අපි එන්නේ. ඒ තමයි Relational Algebra. මෙය ඬේටාබේස් එකක් නිර්මාණය කරද්දී මෙන්ම පසුව ඬේටාබේස් එකක් වෙනස් කරද්දී එහි දත්ත අතර තාර්කික (Logical) සම්බන්ධතා ගොඩනැංවීමට මෙය භාවිතා කරනවා. මෙය SQL වැනි ක්රමලේඛණ භාෂාවක් නෙමෙයි. දත්ත මොඩල් කිරීම සඳහා යොදාගැනෙන ක්රමවේදයක් පමණයි. සාමාන්ය වීජ ගණිතයේදී මෙන්ම මෙම Relational Algebra හි ද operators හෙවත් ගණිත කර්ම තියෙනවා. අප ඒ එක එකක් පිලිබඳව විමසා බලමු.
මෙම උදාහරණ වලට පහසු වන ලෙස අප කුඩා ටේබල් එකක් සකසා ගනිමු.
Customer
| C_id | C_fname | C_lname | C_town | C_year |
| 001 | Saman | Perera | Colombo | 1998 |
| 002 | Kapila | Silva | Kandy | 2002 |
| 003 | Nuwan | Perera | Kandy | 2005 |
| 004 | Nadee | Soyza | Galle | 1998 |
| 005 | Nuwan | Silva | Matara | 2002 |
SELECT operation
මෙය භාවිත කරන්නේ ටේබල් එකක යම්කිසි rows ප්රමාණයක් යම්කිසි රීතියකට අනුව තෝරාගැනීමටයි. මෙය අප σ සලකුණින් දක්වනවා. මුලින් අප දැක්වූ ටේබල් එකේ එක් රදඅ එකකින් පෙන්වන්නේ එක් මිනිසෙක් බව පෙනෙනවා ඇති. එහෙයින් අපට මේ ටේබල් එකේ යම් රීතියකට අනුව පුද්ගලයන් පිරිසක් තෝරාගැනීමට නම් SELECT operation එක යොදාගැනෙනවා. උදාහරණයක් ලෙස දෙවැනි නම Silva වන අය තෝරාගැනීම
σ<C_lname=Silva>(Customer)
ලැබෙන ටේබල් එක මෙසේයි,
| C_id | C_fname | C_lname | C_town | C_year |
| 002 | Kapila | Silva | Kandy | 2002 |
| 005 | Nuwan | Silva | Matara | 2002 |
ලෙස ලියා දක්වනවා. මෙහිදී පලමුව operator එකත්, ඉන් පසුව ඒ අසලින් subscript එකක් ලෙස < > සලකුණු තුල condition එකත්,ඉන් පසු වරහන් ඇතුලත අප මෙම දචැර්එසදබ එක සිදු කරන්නේ කවර ටේබල් එකටද යන්නත් දක්වනවා.
මෙම condition එක ලිවීමේදී <, >, <=, >=, =, ~= යන සම්මත comparators යොදාගැනෙනවා. එසේම comparators කීපයක් AND, OR, NOT වැනි logical operators වලින් සම්බන්ධ කිරීමටද පුලූවන්.
උදාහරණයක් ලෙස
σ<(C_lname=Silva)AND(C_town=Kandy)>(Customer)
ලෙස ලිවීමෙන් C_id 002 වන row එක තෝරාගත හැකියි.
මෙය SELECT operation කීපයක් එකක් තුල එකක් ලෙස බැිඑ කිරීමකට සමානයි. පෙර උදාහරණය මෙසේ ද ලිවිය හැකියි.
σ<C_lname=Silva>(σ<C_town=Kandy>(Customer))
එනම් Customer ටේබල් එකෙහි C_town එක Kandy වන අය මුලින් තෝරාගෙන, ඉන් C_name එක Silva වන අය තෝරාගැනීමෙන් අපගේ අවශ්යතාවය ඉටුවෙනවා.
ඇතැම් අවස්ථාවලදී SELECT වෙනුවට RESTRICT යන වදනත් භාවිත කරනු දැකිය හැකියි.
PROJECT operation
ටේබල් එකක columns කීපයක් තෝරාගැනීමට PROJECT operation එක භාවිත කරනවා. මෙහිදී condition එකක් වෙනුවට අප ලබාදෙනුයේ columns වල නම්. මෙම operation එකේ සලකුණ ලෙස අප π භාවිත කරනවා.
උදාහරණයක් ලෙස table එකෙන් C_id C_lname යන column දෙක පමණක් ගෙන වෙනත් ටේබල් එකක් සාදා ගැනීම මෙසේ ලියන්නට පුලූවන්.
π<C_id, C_lname>(Customer)
ලැබෙන ටේබල් එක මෙසේයි,
| C_id | C_lname |
| 001 | Perera |
| 002 | Silva |
| 003 | Perera |
| 004 | Soyza |
| 005 | Silva |
මෙම operator එක සඳහා අප ලබාදෙන columns අතරේ primary key එක නොතිබුනොත්, සෑදෙන ටේබල් එකේ duplicate rows පවා සෑදිය හැකි බවද අප මතක තබාගත යුතුයි.


by 
ohoma yan ohoma yan :D
ohoma yan ohoma yan :D
Post new comment