রিলেশনাল ডেটাবেজে এসকিউএল (SQL : Structured Query Language) নামক প্রোগ্রামিং ভাষার সাহায্যে ডেটাবেজে তথ্য লেখা, পড়া, পরিবর্তন করা ও অন্যান্য কাজ করা হয়। এসকিউএল ভাষার নির্ধারিত নিয়ম-কানুন থাকলেও বিভিন্ন বাণিজ্যিক ডেটাবেজ তাদের নিজস্ব কুয়েরি ভাষা ব্যবহার করে, যা প্রমিত (standard) এসকিউএল-এর বেশ কাছাকাছি।
এসকিউএল-এর সঙ্গে সাধারণ প্রোগ্রামিং ভাষাগুলোর মূল পার্থক্য কোথায়? একজন প্রোগ্রামার যখন একটি নির্দিষ্ট সমস্যা সমাধানের জন্য প্রোগ্রাম লিখেন, তখন আসলে সেই সমস্যাটি সমাধানের যে অ্যালগরিদম, সেটিকেই প্রোগ্রামিং ভাষার মাধ্যমে প্রকাশ করেন। এসব প্রোগ্রামে কম্পিউটারের জন্য সুনির্দিষ্টভাবে বলা থাকে যে, কীভাবে ও কোন ধাপে কী কাজ করা হবে। কম্পিউটার শুধু সেই নির্দেশনা অনুসরণ করে। আর এসকিউএল কুয়েরি লেখার সময় বলে দিতে হয় যে, ডেটাবেজ সিস্টেমের কাছ থেকে কোন তথ্য চাওয়া হচ্ছে বা কোন তথ্য রাখতে হবে। অর্থাৎ কী করতে হবে সেটি বলে দিতে হয়। আর সেই কাজটি কীভাবে করা হবে, সেটি নির্ভর করে ডেটাবেজ সিস্টেমের উপর। এ জন্য এসকিউএল-কে বলা হয় ডিক্লারেটিভ (declarative) প্রোগ্রামিং ভাষা। সি এবং সি-এর মতো অন্যান্য প্রোগ্রামিং ভাষাকে বলা হয় প্রসিডিউরাল (procedural) প্রোগ্রামিং ভাষা। এসকিউএল ভাষাটি এমনভাবে তৈরি করা হয়েছে যেন, কেবল প্রোগ্রামাররাই নন, যারা প্রোগ্রামিং জগতের বাইরের মানুষ, তারাও যেন সহজে এটি শিখে ব্যবহার করতে পারেন।
এসকিউএলকে আবার কয়েক ভাগে ভাগ করা যায়। এর মধ্যে গুরুত্বপূর্ণ দুটি হচ্ছে : ডেটা ডেফিনেশন ল্যাঙ্গুয়েজ (Data Definition Language বা সংক্ষেপে DDL) ও ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ (Data Manipulation Language বা সংক্ষেপে DML)।
ডেটা ডেফিনেশন ল্যাঙ্গুয়েজ
ডেটাবেজের টেবিল তৈরি করা, টেবিল মুছে ফেলা, ইনডেক্স তৈরি করা ইত্যাদি কাজ করার জন্য ডেটা ডেফিনেশন ল্যাঙ্গুয়েজ ব্যবহার করা হয়। যেমন— একটি টেবিল তৈরি করতে গেলে টেবিলের নাম, টেবিলের বিভিন্ন কলামের নাম ও সেখানে কী ধরনের ডেটা থাকবে, ইনডেক্স ইত্যাদি বলে দিতে হয়।
ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ
ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজের সাহায্যে একটি টেবিলের ডেটার উপর বিভিন্ন ধরনের কুয়েরি চালানো হয়, যেমন— ডেটা পড়া, ডেটা পরিবর্তন করা, ডেটা মুছে ফেলা ইত্যাদি।
Read more