Community project by students of the Faculty of Information Technology, University of Moratuwa, Sri Lanka.

9.10.1 දත්තපාදකයක දත්ත නිර්මාණය කිරීම සහ කලමනාකරණය සදහා ව්‍යුහගත විමසුම් භාෂාව යොදාගැනීම (Using Structured Query Language – SQL to create and manage data in a database)

ව්‍යුහගත විමසුම් භාෂාව (Structured Query Language)


පුළුල් පරාසයක විහිදෙන දහසකුත් දත්ත සමුහයක් , යම්කිසි කාර්යයකට හැසිරවීම ලෙහෙසි පහසු දෙයක් නොවෙයි.මෙවැනි අවස්ථා වල  පරිගණක දත්ත පාදක (Database) යොදා ගැනීමෙන් ඔබට ,දත්ත ගබඩා කිරීම,  ආපසු ලබා ගැනීම සහ වෙනස්‌ කිරීම වඩාත් පලදායි හා පහසු කාර්යයක් කර ගත හැක.


මුල් කාලයේ දත්ත පාදක (Database) සමග ගනුදෙනු කිරීමට  ක්‍රමලේඛනය (programming) ගැන පුළුල් දැනුමක් අවශ්‍ය විය. ඒ මන්ද යත් මේ සදහා භාවිතා කල   ක්‍රමලේකන (programs)  සංකීරණ  වු බැවින් දත්ත පාදක පරිපාලකයට  ක්‍රමලේකනය පිළිබද  හසල දැනුමක් උවමන වීමයි .එබැවින් දත්ත පාදක (Database) භාවිතයට  ක්‍රමලේඛශිල්පීන්ගේ  (programmers) අනිවාර්ය මැදිහත්වීම අවශ්‍ය විය . දත්ත පාදකයට සම්බන්ධ සෑම අලුත් අවශ්‍යතාවයකදීම අලුත් පරිගණක වැඩසටහනක් නිර්මාණය කිරීමට සිදුවිය.

උදාහරණයක් වශයෙන්, විශ්වවිද්‍යාල දත්ත පාදකයට (database) සෑම වසරකම ඉහලම ලකුණු ලබාගත් ශිෂ්‍යන්ගේ නම් සහ ලකුණු අකාරාදී පිළිවෙලට අවශ්‍ය වුවහොත්, එවැනි වැඩසටහනක් (program) නොමැතිනම් , ඒ සදහා අලුත් වැඩසටහනක් නිර්මාණය කිරීමට සිදු විය. මෙය ඉතාම අකාර්යක්ෂම ක්‍රියාවලියක් වූ අතර දත්ත හසුරුවාලීමට තිබුණු අවශ්‍යතා ප්‍රමාණාත්මක ලෙස ඉහළ යාම හේතුවෙන්  මේ ගැටළුව තවත් සංකිර්ණ විය. මේ වනවිට සිටි ක්‍රමලේඛ ශිල්පින් ප්‍රමාණය එම අවශ්‍යතාවය සපුරන්නට තරම් ප්‍රමාණවත් නොවුණි.  මේ නිසා ක්‍රමලේඛ දැනුමින් තොරව, සාමාන්‍ය පුදගලයෙකුට දත්ත පාදක භාවිත කරමින් තමනගේ අවශ්‍යතා ඉටුකරගත හැකි භාෂාවක අවශ්‍යතාවය වඩාත් ඉස්මතු විය.

බොහෝ අවස්ථා වල දත්ත පදකයක (Database) පවතින දත්ත සමුදායෙන් අපට එක් අවස්ථාවකදී  අවශ්‍ය වන්නේ කොටසක් පමණයි. ඒ දත්ත කොටස් ලබාගැනීම සඳහා අපි දත්ත පාදකය (database) වෙත යොමු කරන පැනය “විමසුමක්” (“query”) ලෙස හදුන්වනු ලැබේ. ක්‍රමලේඛ ශිල්පින් පරිගණක වැඩසටහන් ලෙස නිර්මාණයකරනු ලබන්නේ මෙම විමසුම් හෙවත් “qurey”ය. දත්ත ගබඩා හැසිරවීම සඳහා query පිලිබඳ දැනුම්වත් විය යුතුය. සංකීර්ණ දත්ත පාදක පහසුවෙන් හැසිරවීමට (query හැසිරවීම) සඳහා සරල භාෂාවක් නිර්මාණය කිරීම අත්‍යවශ්‍ය කාලීනව අවශ්‍යතාවක් වීය.


පසු කාලයේදී දත්ත ගබඩා සඳහා සාමාන්‍ය පුද්ගලයන්ට භාවිත කරන්න පහසු සරල විමසුම් භාෂා (“query language”)  විශාල ගණනක් නිර්මාණය විය. මේ අතරින් IBM ආයතනය විසින් 1970  දී හදුන්වාදෙන ලද ව්‍යුහගත විමසුම් භාෂාව (“Structured Query Language – SQL”) අද දත්තපාදක කලමනාකරණය පද්ධති (“Database Management Systems”) වල බහුලව භාවිතා කෙරෙමින් පවතී. අද වනවිට SQL වල බහුලව භාවිත වෙන උපකොටස් තුනක් මේ ලිපිය තුලින් ආවරණය කෙරෙනු ඇත.

දත්ත අර්ථ නිරූපණ භාෂාව (Data Definition Language – DDL)

Database එකක් තුල  දත්ත ගබඩා කිරීමට අවශ්‍ය සැකිල්ල විස්තර කිරීමට දත්ත අර්ථ නිරූපණ භාෂාව (DDL) භාවිතා කරනු ලැබේ. ඒ සදහා බහුලව භාවිතා කරන විධාන කීපයක් විස්තරාත්මකව පහත දැක්වේ.

 
CREATE TABLE 
රුපයේ පරිදි මෙම විධානය මගින් දත්ත ගබඩා කිරීමට අවශ්‍ය සැකිල්ල නිර්මාණයකළ හැකිය . දත්ත සිරස් සහ තිරස් පෙළ “rows and columns” ලෙස සංවිධානය කරන්නේ මෙම සැකිල්ලෙනි., එය “table” එකක් ලෙස හදුන්වනු ලැබේ . උදාහරණයක් මගින් මෙය වඩාත් පැහැදිලිව තේරුම් ගත හැකිය.



මේ table එකේ නම “Persons”. එහි columns (තීරු) ආකාරයට සැලකුවොත් පුද්ගලයකුගේ “LastName, FirstName, Age, Address සහ City” යන දත්ත ගබඩා කළ හැකිය . columns  සදහා , ගබඩා කල හැකි දත්ත වර්ගය “data types”   ගබඩා කිරිමට ප්‍රථමයෙන් ලබාදිය  යුතුයි . “int සහ varchar()” එවනි උදාහරණ දෙකක් පමණයි. “int” තුල සංඛ්‍යාවක් සහ “varchar(255)” තුල අක්ෂර 255 කට සීමාවූ ඕනෑම සංඛ්‍යා අකුරු මිශ්‍රනයක් ගබඩා කල හැකිය. 

ඉහත දත්ත අර්ථ නිරූපණ භාෂාව මගින් නිර්මාණය කළ , දත්ත කිසිවක් ගබඩා කර නැති Persons table එක පහත ස්වරූපයෙන් දැක්වේ.

 

ඉහත සකස් කල Persons table එකට රුපයේ පරිදි තවත් විශේෂ columns දෙකක් එකතු කල හැකිය. PRIMARY KEY විධානයෙන් ගබඩා කරන එක තීරුවක් තවත් තීරුවකින් (rows), වෙන්කොට හදුනගැනීමට PersonID column එක භාවිතාවේ. එමනිසා මෙම විධානයෙන්  PersonID column එක  කිසිවිටකත් හිස් විය නොහැකි බවත් සමාන අගයන් පැවතිය නොහැකි බවත් වක්‍රව සදහන් කෙරෙයි. FOREIGN KEY විධානයෙන් Persons table එක තවත් එවැනි table එකකට සම්බන්ධ කෙරෙයි. DepartmentID column එක මෙම table දෙකටම පොදු වන අතර tables කිහිපයකින් දත්ත ලබාගැනීමට මෙය ඉතා ප්‍රයෝජනවත් වේ.

විශේෂ යෙදුම් කිහිපයක් (Some Column Constraints in SQL)
 

  • NOT NULL, CHECK සහ DEFAULT විධාන, columns තුල ගබඩා කරන ලද දත්ත මත අමතර සිමා කීපයක් පැනවීමට යොදාගනු ලැබේ. 
  • දත්ත ඇති සැම තිරුවකම , LastName පෙළ තුල සැමවිටම අගයක් තිබිය යුතු බව දැක්වීමට NOT NULL විධානය භාවිතා කෙරෙයි. 
  • CHECK විධානය මගින් ගබඩා කරන දත්ත යම් කොන්දේසියකට යටත්දැයි පරික්ෂා කරනු ලැබේ. මෙම උදාහරණයෙන් පුද්ගලයකුගේ වයස 0 – 120 සිමාව තුල පවතීනම් පමණක් එම දත්තය ගබඩා කිරීමට මෙම විධානය යොදාගෙන ඇත.
  • Address පෙළ තුලට, දත්ත ඇතුලත් කිරීමේදී (INSERT) ,විශේෂ  අගයක් ලබාදී නොමැති නම් “Colombo” යන පොදු අගය ගබඩා  කරන ලෙස දැක්විමට DEFAULT විධානය භාවිතා කෙරෙයි.

ALTER TABLE

මෙම විධානය මගින් පෙර නිර්මාණය කල table එකකට අලුත් columns එකතු කිරීමටත්, පවතින columns අඩු කිරීමට හෝ වෙනස්‌ කිරීමේ හැකියාව පවතී. එක් එක් අවස්ථාව සදහා භාවිතා වන විධාන සහ උදාහරණ පහත දැක්වේ.


DROP TABLE

මෙම විධානය මගින් පෙර නිර්මාණය කල tables සම්පුර්ණයෙන්ම මකා දැමිය හැකිය. ඒ සදහා භාවිතා වන විධානය සහ උදාහරණයක් පහත දැක්වේ. විශේෂතාව වන්නේ table එකේ දත්ත හා සැකිල්ල සම්පුරණයෙන් දත්ත පදකයෙන් (database එකෙන්)  මකා දැමීමයි.

 

 SQL වල තවත් උපකොටස් දෙකක් ඊලග ලිපියෙන් සාකච්ඡා කරමු.
The following two tabs change content below.

Himani Jayawardane

Latest posts by Himani Jayawardane (see all)

Comments
  1. chathurauor
    • Hashini
  2. Lakchan
  3. nalin kariyawasam
  4. sajith
  5. pama
  6. Hashini

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.