SQL কি এবং কিভাবে কাজ করে SQL? জেনে নিন SQL সম্পর্কে সবকিছু
SQL হচ্ছে একটি ডোমেইন স্পেসিফিক ল্যাংগুয়েজ যার মাধ্যমে ডাটাবেজে তথ্য ঢুকানো, বের করা এবং পরিবর্তন করা যায়। ডাটাবেজ প্রোগ্রামিং ল্যাংগুয়েজ হিসেবে এটি অনেক পুরাতন হলেও এটিই এখনও পর্যন্ত সর্বাধিক ব্যবহৃত ডাটাবেজ প্রোগ্রামিং ল্যাংগুয়েজ। তবে SQL সম্পর্কে জানার আগে আমাদের মনে হয় ‘ডাটা’ এবং ‘ডাটাবেজ’ সম্পর্কে জেনে নেয়া দরকার। ‘ডাটা’ আর ‘ডাটাবেজ’ এই দুইটি বিষয় বুঝতে পারলে SQL প্রোগ্রামিং ল্যাংগুয়েজটি আসলে কি কাজ করে সেটি বুঝা সবার জন্য সহজ হয়ে যাবে।
ডাটা (Data) কি?
ডাটা মানে তথ্য। আমরা যেখানে যে কাজই করি না কেনো আমাদের ডাটা প্রদান করতে হয়। ধরা যাক আপনি একটি কলেজে ভর্তি হতে গিয়েছেন। কলেজের ফর্ম ফিলাপ করার সময় আপনাকে আপনার নাম, ঠিকানা, বাবা মায়ের নাম, মোবাইল নাম্বার, পূর্ববর্তী পরীক্ষার রেজাল্ট ইত্যাদি তথ্য দিতে হয়েছে। এই যে তথ্যগুলোই ডাটা।
ডাটাবেজ (Database) কি?
ডাটাবেজ হচ্ছে একটি সিস্টেম যেখানে আমাদের ডাটাগুলি সুন্দর করে বিন্যস্ত করে সাজানো থাকে। এর সুবিধা হচ্ছে, যখন যে ডাটার প্রয়োজন হয় তখন আমরা সহজেই সেটি বের করতে পারি।
ডাটাবেজ হচ্ছে একটি সফটওয়্যার যা আমাদের সকল তথ্যসমূহ সাজিয়ে গুছিয়ে রেখে দেয় এবং আমরা চাওয়া মাত্রই সেগুলো আমাদের সামনে হাজির করে।
SQL কি?
আপনারা এখন “ডাটা কি” এবং “ডাটাবেজ কি” এই দুইটা ব্যাপারই জানেন। এখন তাহলে আপনাদের SQL কি এটা বুঝানো সুবিধা হবে। আমরা আগেই বলেছি যে, SQL হচ্ছে একটা প্রোগ্রামিং ল্যাংগুয়েজ তবে এটি শুধ্মাত্র ডাটাবেজ নিয়েই কাজ করে। অন্যান্য প্রোগ্রামিং ল্যাংগুয়েজ দিয়ে আমরা সিস্টেম (এপ/সফটওয়্যার) বানানোর কাজ করি কিন্তু SQL শুধু ডাটাবেজ লেভেলেই কাজ করে।
SQL এর পুরো মানে হচ্ছে Structured Query Language। তারমানে স্ট্রাকচার্ড ওয়েতে ডাটা কুইরি (খোঁজা)ই হচ্ছে এর কাজ। কিন্তু একটি মাত্রই টেবিলেই কি সকল ডাটা রাখা সম্ভব? না। SQL তাই রিলেশনাল ডাটাবেজ নিয়েও কাজ করতে পারে। এখন তাহলে প্রশ্ন রিলেশনাল ডাটাবেজ কি? তার আগে ত জানতে হবে ‘ডাটা টেবিল’ কি?
ডাটা টেবিল (Data Table)
নাম শুনেই বুঝতে পারছেন যে এটি একটি টেবিল। আমাদের ডাটাসমূহ সুবিন্যিস্ত উপায়ে রাখার জন্য ডাটাবেজ যে টেবিল তৈরি করে সেটিই হচ্ছে ডাটা টেবিল। সাধারণত প্রতিটি টেবিলি প্রতিটি ডাটার বিপরীতে একটি ইউনিক নাম্বার তৈরি করা হয় SQL দিয়ে যেনো পরবর্তীতে সেই ডাটা খুঁজে পেতে সমস্যা না হয়।
এই ইউনিক নাম্বারটিকে বলা হয় Primary Key। এই প্রাইমারি কি ব্যবহার করেই SQL একটি ডাটাবেজ থেকে সঠিক ডাটা বের করে নিয়ে আসে।
রিলেশনাল ডাটাবেজ (Relational Database)
একটি ডাটাবেজের একটি টেবিল যদি অন্য একটি টেবিলের সাথে যোগাযোগ করে ডাটা ট্রান্সফার করতে পারে তবে সে ডাটাবেজকে রিলেশনাল ডাটাবেজ বলা হয়।
ধরা যাক, আপনি একাদশ শ্রেনীতে ভর্তি হয়ে এখন দ্বাদশ শ্রেনীতে উঠেছেন। এখন নিশ্চয়ই আপনি আবার ফর্ম ফিলাপ করে সকল ডাটা নতুন করে দিবেন না। তাহলে দ্বাদশ শ্রেনীর ডাটাবেজে আপনার তথ্য কিভাবে যাবে? সহজ বিষয়, একাদশ শ্রেনীর টেবিল দ্বাদশ শ্রেনীর টেবিলকে প্রয়োজনীয় ডাটা সরবহারোহ করবে।
আমরা পূর্বে জেনেছি Primary Key দিয়ে আমরা একটি ডাটা নিরূপন করি। একই ভাবে এক টেবিল থেকে অন্য টেবিলে ডাটা ট্রান্সফার করার জন্য Foreign Key তৈরি করে ডাটা ট্রান্সফার করি।
SQL কি কি করতে পারে?
- ডাটাবেজ তৈরি করি।
- কোন কোন ডাটাবেজে কোনো কোন ইউজার এক্সেস করতে পারবে সেটি ঠিক করা।
- ডাটাবেজে নতুন ডাটা এন্ট্রি করা।
- ডাটাবেজ থেকে ডাটা নিয়ে এসে সেই ডাটা দিয়ে প্রয়োজনীয় কাজ করা।
- ডাটার সিকিউরিটি রক্ষা করা।
- ডাটা ডিলিট করা।
- নতুন টেবিল তৈরি করা।
- এক টেবিল থেকে অন্য টেবিলে ডাটা ট্রান্সফার করা।
- এরকম আরও অনেক কিছু।
প্রয়োজনীয় কিছু SQL Command
চলুন জেনে নেই আমরা কিভাবে ডাটাবেজে SQL কমান্ড দিয়ে বিভিন্ন কাজ করে থাকি। নিচের টেবিলে কিছু কমান্ড এবং কোন কমান্ডের কি কাজ তা জেনে নেই।
Command | ফলাফল |
Create | নতুন টেবিল তৈরি করা |
Alter | ডাটাবেজের কোনো অবজেক্ট অর্থাৎ টেবিল পরিবর্তন করা |
Drop | টেবিল ডিলিট করা |
Select | টেবিল থেকে ডাটা বের করা |
Insert | টেবিলে নতুন ডাটা যোগ করা |
Update | বর্তমান ডাটা আপডেট করা |
SQL কমান্ড লেখার সময় * চিহ্ন ব্যবহার করতে হয়। একটি উদাহরণ দেয়া যাক। ধরা যাকে একটি টেবিলের নাম Students. ঐ টেবিলে থেকে আপনার নাম বের করা হবে। সেক্ষেত্রে কমান্ডটি হবে এরকমঃ
Select * From Students Where Name = “Your Name”
Name হচ্ছে একটি কলামের নাম যে কলামে আপনার নাম এন্ট্রি করা আছে। উপরের কমান্ডটি লিখলে এর রেজাল্ট হিসেবে আপনার নাম চলে আসবে।
উপসংহার
আশা করি এই আর্টিকেলের মাধ্যমে আপনারা SQL কি এই প্রশ্নের উত্তর পেয়েছেন। ফেসবুক, ওয়ার্ডপ্রেস সহ পৃথিবীর অনেক বড় বড় প্রতিষ্ঠান এখনও SQL ডাটাবেজ ব্যবহার করে। তাই যতই পুরাতন প্রোগ্রামিং ল্যাংগুয়েজ হওক না কেনো মার্কেটে SQL প্রোগ্রামারদের এখনও দারুন চাহিদা আছে। প্রোগ্রামিং শিখতে চান? ডাটাবেজ ম্যানেজমেন্ট এক্সপার্ট হতে চান? শুরু দেন SQL শেখা।