SQL কি? ( What is SQL )

Data কি?

SQL কি তার আগে আমাদের জানতে হবে Data কি। Data হলো কোন একটি object এর তথ্য। যেমন ধরুন আপনার নাম হলো শিব্বির এখন আমরা যদি বলি এই শিব্বিরের কিছু ডাটা দাও তাহলে আমরা বলতে পারি যে তার বয়স হলো ১৮ বছর, বাসা ধানমন্ডি, উচ্চতা ৭ ফিট ইত্যাদি ই হলো Data ।

Database কি?

Database হলো অনেকগুলো ডাটার একটি collection। Database এর মাধ্যমে আপনি আপনার object এর যে কোন Data সংরক্ষন করতে পারবেন। যেমন – আমাদের যে বিদ্যুৃৎ বিল আসে তা কিভাবে DPDC (Dhaka Power Distribution Company) আমাদেরকে বলে দেয়? হ্যা, তারা প্রত্যেকের বিদ্যুৃৎ এর ব্যবহারগুলো Database এ সংরক্ষন করে রাখে বলেই আমাদেরকে মাস শেষে একটি Bill বলে দিতে পারে । কোন গ্রাহক কোথায় আছে, তার মিটার নাম্বার কত এর সব কিছুই সংরক্ষন করা থাকে এই Database এ।

SQL কি?

আমরা জানি যে ডাটা হলো যে কোন web applications বা mobile apps এর জন্য একটি গুরুত্বপূর্ন অংশ। যেমন ধরুন আপনি যখন ফেইসবুক ব্যবহার করেন তখন ফেইসবুক আপনার প্রোফাইলের তথ্য, বন্ধুদের তথ্য তারপর আপনার ও তার পোস্ট ইত্যাদি সংরক্ষন করে থাকে। এখন এই ধরনের তথ্যগুলো সংরক্ষন করে রাখার জন্য একটি database system ব্যবহার করা হয়। এই ডাটা গুলো সংরক্ষন করার জন্য আমরা যে programming language ব্যবহার করি তাই হচ্ছে SQL।

SQL এর সম্পূর্ন অর্থ

SQL এর সম্পূর্ন অর্থ হলো Structured Query Language। এটি একটি programming language যার মাধ্যমে আমরা database এর সাথে যোগাযোগ করতে পারি মানে database এ ডাটা আদান-প্রদান করতে পারি। ।

SQL এর মাধ্যমে আমরা কি করতে পারব?

১। database থেকে যে কোন ডাটা নিয়ে আসতে পারবো।
২। database এ নতুন কোন ডাটা আমরা সংরক্ষন করতে পারবো।
৩। আগের কোন ডাটা আমরা update করতে পারবো।
৪। আগের কোন ডাটা আমরা delete করতে পারবো।
৫। নতুন কোন databases তৈরী করতে পারবো।
৬। databases এর মধ্যে নতুন কোন table তৈরী করতে পারবো।
৭। databases এর জন্য নতুন কোন User তৈরী করতে পারবো।
৮। এবং আরো অনেক কিছু …

DBMS কি?

DBMS এর মানে হলো Database Management System যেখানে এর user তার database কে access করতে পারে এবং data নিয়ে কাজ করতে পারে।
অনেক ধরনের Database Management System রয়েছে। যেমন- MS SQL Server, IBM DB2, Oracle, MySQL, এবং Microsoft Access ইত্যাদি।

RDBMS কি?

RDBMS এর মানে হলো Relational Database Management System। যেখানে data গুলো object আকারে থাকে যাকে আমরা table বলে থাকি।

Table কি ?

যেখানে আমরা আমাদের data গুলো সংরক্ষন করে থাকি যা কি না column এবং row আকারে থাকে।

column কি?

প্রত্যেকটি table এ কতগুলো fields থাকে বা আমাদের তৈরী করতে হয়। যেমন- user_id, first_name, last_name, joined_date এই গুলোই হলো একটি table এর fields যাকে আমরা column বলে থাকি।

row কি?

ঐ columns এর জন্য যে সকল ডাটা আমরা সংরক্ষরন করবো তাই হলো row । মানে আমাদের সংরক্ষনকৃত ডাটা গুলো row আকারে থাকবে।

Databse table column row
Databse table column row

আমরা যদি উপরের ছবিটি লক্ষ্য করি তাহলে দেখতে পাবো যে, users টেবিলে user_id, first_name, last_name, joined_date নামে ৪ টি column আছে এবং এই column গুলোর জন্য ৩ টি রেকর্ড বা row আছে।
যদিও এই users টেবিলটি তৈরী করার আগে আমাদেরকে একটি database তৈরী করতে হয়। এ সম্পর্কে নতুন একটি tutorial এ আমরা আলোচনা করব।

কিছু SQL command

Database এর সাথে কাজ করার জন্য SQL এর কিছু command রয়েছে। প্রাথমকি command গুলো হলো – CREATE, SELECT, INSERT, UPDATE, DELETE এবং DROP।
SQL command গুলো বিভিন্ন ভাগে ভাগ করা যায় তাদের কাজের ধরন অনযায়ী যেমন-
১। DDL – Data Definition Language
২। Data Manipulation Language
৩। Data Control Language

DDL (Data Definition Language)

DDL এর মধ্যে যে command গুলো আছে তা হলো –
CREATE – ডাটাবেজে নতুন কোন table তৈরী করার জন্য আমরা এই command টি ব্যবহার করি।
ALTER – আগের কোন অবজেক্ট কিংবা table পরিবর্তন করতে হলে আমরা এই command টি ব্যবহার করি।
DROP – আমরা যদি কোন table বা database কে ডিলেট করতে চাই তাহলে এই command টি ব্যবহার করব।

DML – Data Manipulation Language

DML এর মধ্যে যে command গুলো আছে তা হলো –
SELECT – Database থেকে কোন data আনতে হলে আমরা এই command টি ব্যবহার করি।
INSERT – Database টেবিলে নতুন কোন data সংরক্ষন করার জন্য আমরা এই কমান্ডটি ব্যবহার করি।
UPDATE – Database টেবিলে আগের কোন data পরিবর্তন করার জন্য আমরা এই কমান্ডটি ব্যবহার করি।
DELETE – Database টেবিলের আগের ডাটা মুছে ফেলার জ্ন্য আমরা এই কমান্ডটি ব্যবহার করি।

DCL – Data Control Language

DCL এর মধ্যে যে command গুলো আছে তা হলো –
GRANT – Databaes এ কোন ইউজারকে privilege দেওয়ার জন্য আমরা এই কমান্ডটি ব্যবহার করি।
REVOKE – সেই ইউজারেরে privilege বাদ দেওয়ার জন্য আমরা এই কমান্ডটি ব্যবহার করি।

SQL এর Constraints

Constraints মানে হলো কতগুলো rules যা কিনা database এর table এ columns এর জন্য যে ডাটা আছে তার জন্য ব্যবহার করা হয়। মানে আমরা কি ধরনের ডাটা আমাদের table এ columns এ রাখতে পারব তার একটি rules।
এই rules গুলো columns বা table এর জন্য হয়ে থাকে। যদি আমরা rules গুলো columns এর জ্ন্য ব্যবহার করি তাহলে তা columns উপর কাজ করবে। আবার আমরা যদি table এর জন্য ব্যবহার করি তাহলে তা সম্পূর্ন table উপর কাজ করবে।
কিছু rules হলো −
NOT NULL − মানে এই column এর value কখনো NULL হতে পারবে না।
DEFAULT − column এর value যদি none দেওয়া থাকে তাহলে default ভাবে কোন value টি থাকবে তার জন্য আমরা এই DEFAULT Constraint টি ব্যবহার করে থাকি।
UNIQUE − এর মানে হলো column এর জন্য যে values গুলো হবে তা যাতে different হয়।
PRIMARY Key − column এর value যদি Uniquely চাই তাহলে আমরা এই constraint টি ব্যবহার করব। সাধারনত টেবিলের আইডির জন্য আমরা এই constraint ব্যবহার কলি।
FOREIGN Key − অন্য কোন টেবিলে column এর value যদি Uniquely চাই তাহলে আমরা এই constraint টি ব্যবহার করব।
CHECK − নির্দিষ্ট কোন rule ব্যবহার করার জন্য আমরা এই constraint ব্যবহার করি থাকি। যেমন- কোন column এ আপনি ইউজারের কাছ থেকে তার বয়স টি নিবেন। এখন, আপনি চাচ্ছেন যে তার বয়স যাতে ১৮ বছরের বেশি হয় সে ক্ষেত্রে এই constraint টি ব্যবহার করতে হবে।
INDEX − Database থেকে data দ্রুত নিয়ে আনার জন্য আমরা এই constraint টি ব্যবহার করে থাকি। মূলত এটি ঐ column এ search এর জন্য ব্যবহার করা হয়ে থাকে।

Leave a Comment