Blog

SQL কি? SQL কি কি কাজে ব্যবহার করা হয়?

SQL bangla blog

SQL কি তা জানার আগে আমাদের জানতে হবে ডাটা কি? ডাটা হল কোন একটি object এর তথ্য যেমন ধরুন, আপনার নাম হলো আসিফ, এখন যদি বলি এই আসিফের কিছু ডাটা দরকার তাহল, বলতে পারি যে, এই আসিফের বয়স হলো ২৮ বছর, বাসা রামপুরা, উচ্চতা ৫ ফিট ১০ ইঞ্চি ইত্যাদি হল আসিফের ডাটা। আর ডাটাবেজ হল অনেকগুলা ডাটার একটি কালেকশন। ডাটাবেজের এর মাধ্যমে আপনি আপনার Object এর যে কোন ডাটা সংরক্ষণ করতে পারবেন। যেমন- আমাদের যে প্রতি মাস বিদ্যুৎ বিল আসে তা কি ভাবে DPDC (Dhaka Power Distribution Company) আমাদেরকে বলে দেয়? তারা প্রত্যেকের বিদ্যুৎ এর ব্যবহার ডাটাগুলা ডাটাবেজে সংরক্ষণ করে রাখেন এবং সেটা আমাদেরকে মাস শেষে একটি বিল হিসেবে পাঠিয়ে দেয়।

কোন গ্রাহক কোথায় আছে, তার মিটার নাম্বার কত, এই সকল কিছু সংরক্ষণ করা থাক এই ডাটাবেজে। ঠিক তেমনি আমরা সবাই জানি ডাটা হলো যে কোন Web Applications বা Mobile Apps এর জন্য গুরুত্বপূর্ন অংশ। যেমন আপনি যখন ফেসবুক বা অন্য যে কোন সামাজিক মাধ্যমে আপনার প্রোফাইল খুলার জন্য যে তথ্যগুল দেন এবং আপনি যে পোস্ট করেন সব কিছু কিন্তু সংরক্ষণ করা থাকে। এই ধরনের তথ্যগুলা সংরক্ষণ করে রাখার জন্য একটি ডাটাবেজ সিস্টেম ব্যবহার করা হয়।

এই ডাটাগুলো সংরক্ষন করার জন্য আমরা যে programming language ব্যবহার করি তাই হচ্ছে SQL। Structure Query Language এর সংক্ষিপ্ত রুপ SQL যা একটি শক্তিশালী ডাটা Manipulation ও Definition ল্যাংগুয়েজ। বলা হয় রিলেশনাল ডাটাবেস Access করার প্রধান হাতিয়ার SQL। SQL কতগুলো স্টেটমেন্টের সমষ্টি। আর এ স্টেটমেন্ট গুলো এক বা একাদিক ডাটাবেজ টেবিল, কলাম, ইনডেস্কে প্রয়োগ করা হয়। SQL ফলাফল হিসেবে ডাটাবেজ এর রেকর্ডকে প্রদান করে। আর আজকের এই আর্টিকেলে আমরা SQL কি? এবং কি ভাবে এটি কাজ করে? এবং কেন আমাদের SQL শিখা প্রয়োজন এই সকল বিষয় নিয়ে জানব।  

এসকিউএ (SQL) কি?

এসকিউএল বা স্ট্রাকচার্ড কুয়েরি ভাষা হলো ডেটাবেজ ব্যবস্থাপনায় ব্যবহৃত একটি কুয়েরি ভাষা। এসকিউএল ব্যবহার করে ডাটাবেস তৈরি,ডাটাবেসের তথ্য হালনাগাদ,নতুন তথ্য সংযোজন,তথ্য বিয়োজন ইত্যাদি করা যায়। ডাটা গুলো সংরক্ষন করার জন্য আমরা যে programming language ব্যবহার করি তাই হচ্ছে SQL। Structure Query Language এর সংক্ষিপ্ত রুপ SQL যা একটি শক্তিশালী ডাটা Manipulation ও Definition ল্যাংগুয়েজ। বলা হয় রিলেশনাল ডাটাবেস Access করার প্রধান হাতিয়ার SQL। SQL কতগুলো স্টেটমেন্টের সমষ্টি। ১৯৭৯ সালে প্রথম ওরাকেল কর্পোরেশন SQL কে বাণিজ্যিকভাবে ব্যবহার উপযোগী করেন এবং ANIC ( American National Standard Institute ১৯৮৬ সালে এবং RDMS এ প্রণীত ল্যাংগুয়েজ হিসেবে ব্যবহার করেন।

SQL এর সাধারণ ফিচারসমূহ

  • একটি টেক্সট বেইজড ল্যাংগুয়েজ
  • SQL এ Select, Insert, Delete এ রকম শব্দ দিয়ে একসেট কমান্ড তৈরি করা হয়
  • SQL এ কোন Graphical Interface নেই
  • Oracle, MySQL Workbench সহ বিভিন্ন ডাটাবেজে ব্যবহার করা হয়
  • এর বেসিক স্ট্রাকচার রয়েছে যার মধ্য Select, From, Where ব্যবহার করা হয়

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

  • SQL রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট সিস্টেমে ইউজারকে ডাটা Access করতে সাহায্য করে
  • রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট সিস্টেমের মধ্য রয়েছে Microsoft Access, SQL server, MySQL ইত্যাদির মধ্যমে ডাটা প্রধান করতে সাহায্য করে
  • SQL দিয়ে আপনি চাইলেই সম্পূর্ণ নতুন একটা ডাটাবেজ তৈরি করতে পারবেন
  • SQL দিয়ে কুয়েরি করতে পারবেন যেটা ডাটাবেজের অত্যন্ত গুরুত্বপূর্ণ অংশ
  • SQL দিয়ে আপনি যেকোন সময় ডাটাকে পুনরায় উদ্ধার করতে পারবেন
  • যে কোন তথ্য সংরক্ষণ করতে পারবেন, তথ্য মুছে ও ফেলতে পারবেন প্রয়োজন মতো
  • আরেকটা গুরুত্বপূর্ণ কাজ হলো SQL দিয়ে ভিউ (view) তৈরি করতে পারবেন
  • আপনি চাইলে আপনার তৈরি করা টেবিল এবং ভিউ এর কোথায় সেট করবেন তার সিদ্ধান্ত নিতে পারবেন SQL এর মাধ্যমে
  • ডাটাবেজ ব্যবহার করে যে কোন প্রকার তথ্য পেতে পেতে SQL ব্যবহার করা হয়

আপনাদের মনে প্রশ্ন আসতে পারে RDMS কি?

RDMS এর পূর্ণ মিনিং হল Relational Database Management System! RDMS এর বিষয়ে কিছু বলার আগে জেনে নেই DBMS বলতে কি বুঝায়? DBMS এর মানে হলো Database Management System যেখানে ইউজার তার ডাটাবেজকে কে Access করতে পারে এবং ডাটা নিয়ে কাজ করতে পারে। অনেক ধরনের Database Management System রয়েছে। যেমন- MS SQL Server, IBM DB2, Oracle, MySQL, এবং Microsoft Access ইত্যাদি। RDBMS এর মানে হলো Relational Database Management System। যেখানে ডাটাগুলো Object আকারে থাকে যাকে আমরা টেবিল বলে থাকি। যেখানে আমরা আমাদের ডাটা গুলো সংরক্ষণ করে থাকি যা কিনা কলাম  এবং রো আকারে থাকে।

প্রত্যেকটি টেবিলে কতগুলো Fields থাকে যা আমাদের তৈরি করে নিতে হয়। যেমন- User_id, First_Name, Last_Name, Joined_Date এই গুলোই হলো একটি টেবিলের Fields যাকে আমারা কলাম বলে থাকি। এই কলামে যে সকল ডাটা আমরা সংরক্ষণ করি তাই হলো Row। অর্থাৎ আমাদের সংরক্ষণকৃত ডাটাগুলো Row আকারে থাকবে। যেমন, সাধারন কোন একটি ইউজার টেবিলে User_id, First_Name, Last_Name, Joined_Date নামে কলাম থাকে এবং সেই কলাম গুলোয় একাধিক রেকর্ড বা Row থাকে। আর কোন ইউজার টেবিল তৈরি করার আগে আমাদের একটি ডাটাবেজ তৈরি করতে হয়।

একজন SQL Developer হতে হলে কি কি জানা প্রয়োজন?

সাধারনত ডেভেলপার শব্দটি শুনলেই মনে হয় যিনি ওয়েবসাইটের উন্নয়ন কাজ বা ওয়েবসাইট তৈরি করে থাকেন। আর যে ব্যাক্তি ডাটাবেজ সফটওয়্যার তৈরি এবং যিনি ডাটাবেজের ওয়েবসাইট তৈরির ম্যানেজমেন্টের কাজ করেন তাকেই বলা হয় ডাটাবেজ ডেভেলপার। ডাটাবেজ সিস্টেম কিভাবে ডিজাইন করতে হবে এবং কি ভাবে ডাটাকে এডিট করবে বা ম্যানেজ করবে তা একজন ডেভেলপার করে থাকেন। আর ডাটাবেজ ডেভেলপারের একটি টিম থাকতে হবে। ডাটাবেজ ডেভেলপার হতে হলে যেসব বিষয়ে দক্ষতা থাকতে হবে তা হলঃ

  • SQL or Structure Query Language
  • Programs with Pl/SQL
  • ডাটা মডেল, ডাটাবেজ ডিজাইন সম্পর্কেও জানতে হবে।
  • ডেভেলপারকে ডাটাবেজের অনেক স্ট্রাকচার মনে রাখতে হয়।
  • সাধারনত ডাটাবেজের কাজগুলো মাইক্রোসফট এক্সেল অথবা মাইক্রোসফট এক্সেস দিয়েও করতে পারি, তাহলে কেন Structure Query Language(SQL) এত কষ্ট করে শিখতে হয়? তার উওর হল, অনেক জটিল সমস্যাগুলো সমাধান করতে হলে ডাটাবেজের অ্যাপ্লিকেশন জানতে হবে।
  • যদি একসাথে একের অধিক DBMS সম্পর্কে ধারণা থাকে তাহলে চাকরি পেতে অনেকটাই সহজ হয়ে যায়।
  • অপারেটিং সিস্টেমের ক্রিপ্ট (Script) এবং অ্যাডমিনেস্ট্রেশন (Administration) সম্পর্কে দক্ষতা থাকতে হবে।

কিছু SQL কমান্ড যা কাজের ক্ষেত্রে বেশি ব্যবহৃত হয়

ডাটাবেজের সাথে কাজ করার জন্য SQL এর কিছু কমান্ড রয়েছে। এর মধ্যে প্রাথমিক কমান্ডগুলো হল- Crate, Select, Insert, Update, Delete এবং Drop। SQL কমান্ডগুলো বিভিন্ন ভাগে ভাগ করা যায় তাদের কাজের ধরন অনুযায়ী। যেমনঃ

  1. DDL – Data Definition Language
  2. DML – Data Manipulation Language
  3. DCL – Data Control Language

DDL (Data Definition Language) এর মধ্যে যে কমান্ডগুলো আছে তা হলো –

  • Crate – ডাটাবেজে নতুন কোন টেবিল তৈরী করার জন্য এই কমান্ডটি ব্যবহার করা হয়ে থাকে।
  • Alter – আগের কোন অবজেক্ট কিংবা টেবিল পরিবর্তন করতে হলে এই কমান্ডটি ব্যবহার করা হয়ে থাকে।
  • Drop – কোন টেবিল বা ডাটাবেজকে ডিলেট করতে এই কমান্ডটি ব্যবহার করা হয়ে থাকে।

DML (Data Manipulation Language) এর মধ্যে যে কমান্ডগুলো আছে তা হলো –

  • Select – ডাটাবেজ থেকে কোন ডাটা আনতে হলে এই কমান্ডটি টি ব্যবহার করা হয়ে থাকে।
  • Insert – ডাটাবেজে টেবিলে নতুন কোন ডাটা সংরক্ষন করার জন্য এই কমান্ডটি ব্যবহার করা হয়ে থাকে।
  • Update – ডাটাবেজে টেবিলে আগের কোন ডাটা পরিবর্তন করার জন্য এই কমান্ডটি ব্যবহার করা হয়ে থাকে।
  • Delete – ডাটাবেজে টেবিলের আগের ডাটা মুছে ফেলার জন্য মূলত এই কমান্ডটি ব্যবহার করা হয়ে থাকে।

DCL (Data Control Language) এর মধ্যে যে কমান্ডগুলো আছে তা হলো –

  • Grant – ডাটাবেজে কোন ইউজারকে privilege দেওয়ার জন্য এই কমান্ডটি ব্যবহার করা হয়ে থাকে।
  • Revoke – সেই ইউজারেরে privilege বাদ দেওয়ার জন্য এই কমান্ডটি ব্যবহার করা হয়ে থাকে।

SQL এর Constraints

Constraints মানে হলো কতগুলো রুল যা কিনা ডাটাবেজের টেবিলে কলাম এর জন্য যে ডাটা আছে তার জন্য ব্যবহার করা হয়। মানে আমরা কি ধরনের ডাটা আমাদের টেবিলের কলামে রাখতে পারব তার একটি রুল। এই রুলগুলি কলাম বা টেবিলের জন্য হয়ে থাকে। আমরা যদি রুল গুলো কলাম এর জন্য ব্যবহার করি তাহলে কলাম এর উপর কাজ করব। আমার যদি টেবিলের জন্য ব্যবহার করি তাহলে সম্পূর্ণ টেবিলের উপর কাজ করবে। কিছু রুল হলো-

  • Not Null – এর মানে হলো এই কলামের ভ্যালু কখনো Null হতে পারবে না।
  • Default – কলামের ভ্যালু যদি None দেয়া থাকে তাহলে Default ভাবে কোন ভ্যালুটি থাকবে তার জন্য এই Default Constraint টি ব্যবহার করা হয়।
  • Unique – এর মানে হলো কলামের জন্য যে ভ্যালু গুলো হবে তা যাতে ডিফারেন্ট হয়।
  • Primary Key – কলামের ভ্যালু যদি স্বতন্ত্রভাবে চাওয়া হয় তাহলে এই Constraints টি ব্যবহার করা হয়।
  • Foreign Key – অন্য কোন কলামের ভ্যালু যদি স্বতন্ত্রভাবে চাওয়া হয় সেক্ষেত্রে এই Constraints টি ব্যবহার করা হয়।
  • Check – নিদিষ্ট কোন রুল ব্যবহার করার জন্য এই Constraints টি ব্যবহার করা হয়ে থাকে। যেমন, কোন কলামে আপনি ইউজারের কাছ থেকে তার বয়সটি নিবেন। এখন আপনি চাচ্ছেন যে তার বয়স যাতে ১৮ বছরের বেশি হয় সে ক্ষেত্রে এই Constraints টি ব্যবহার করতে হবে।
  • Index – ডাটাবেজ থেকে ডাটা দ্রুত নিয়ে আসার জন্য মুলত এই Constraints ব্যবহার করা হয়ে থাকে। এটি কলামে সার্চ এর জন্য ব্যবহার করা হয়ে থাকে।

SQL কেন শিখবেন?

সহজে শিখা যায়

তুলনামূলকভাবে SQL শেখা সহজ। খুব সহজেই আপনি SQL শিখতে পারবেন যদি পূর্বে আপনার প্রোগ্রামিং সম্পর্কে ভালো ধারণা থেকে থাকে। এমন অনেক ক্ষেত্রেই আপনি দেখতে পাবেন যে সম্পূর্ণ ইংরেজি ভাষায় ব্যবহার করা হচ্ছে কোন একটি কাজ সম্পাদন করার ক্ষেত্রে। এর উদাহরণ হিসেবে আমরা একটি টেবিল তৈরি করার ঘটনাকে ধরতে পারি। আপনি যদি বিভিন্ন বই নিয়ে একটি টেবিল তৈরি করতে চান তবে খুব সহজেই আপনি SQL এর মাধ্যমে সেটি করতে পারবেন।

গ্রহণযোগ্যতা বেশি

১৯৭০ সালের পর থেকে এখন পর্যন্ত এটি ব্যবহার করে আসা হচ্ছে নির্ভরযোগ্য কুয়েরি ল্যাঙ্গুয়েজ হিসেবে। বিভিন্ন সময় ডেটা নিয়ে কাজ করার জন্য মূলত এটিকে সবথেকে নির্ভরযোগ্য কুয়েরি ল্যাঙ্গুয়েজ হিসেবে অনেকে গ্রহণ করে থাকে। শুরু থেকে এই ভাষাটিতে খুব একটা পরিবর্তন ঘটানো হয়নি। এজন্য নতুন করে যদি কেউ SQL শিখতে চায় তবে তাকে তেমন নতুন কিছু জানতে হবে না। এই ভাষাটি যথেষ্ট স্টেবল হওয়ার কারণে Technical error এর পরিমাণ খুব কম দেখা যায়।

ডেটা নিয়ে কাজ করার সহজ

যেহেতু এই প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করা অনেকটা সহজ এবং বিভিন্ন ডেটা নিয়ে একসঙ্গে কাজ করা যায় সেহেতু ডাটাগুলোকে ম্যানেজ করা আমাদের জন্য অনেক সহজ হয়ে যায়। এটি যেহেতু অনেক তাড়াতাড়ি কাজ করে সেহেতু ডাটাগুলোকে বিভিন্নভাবে সহজে ব্যবহারযোগ্য করা যায়।

Data Science এ ব্যবহার করা যায়

বর্তমান যুগে ডাটা সাইন্স এর গুরুত্ব অনেক বেশি। কোন একটি বিষয়ে সফলতা পেতে হলে অবশ্যই আমাদের বিভিন্ন তথ্য বিশ্লেষণ করতে হবে আর এই তথ্য বিশ্লেষণ এবং কোনো সিদ্ধান্ত গ্রহণের ক্ষেত্রে বর্তমানে ডেটা সাইন্স এর গুরুত্ব অনেক।

কিভাবে শিখবেন SQL?

আশা করি এসকিউএল প্রয়োজনীয়তা সম্পর্কে একটি কমপ্লিট ধারণা এর মধ্যে পেয়েছেন। এখন আপনার মনে প্রশ্ন জাগতে পারে কি ভাবে শিখব এই এসকিউএল? আপনার যদি কম্পিউটারের ব্যবহার সম্পর্কে বেসিক ধারণা থাকলে তাহলে আপনি এসকিউএল শিখতে পারবেন। আপনার জন্য সুখবর হচ্ছে MSB Academy তে SQL for Data Science নামে একটি কোর্স রয়েছে। আপনি যদি Data Science নিয়ে আগ্রহী হয়ে থাকেন এবং SQL Developer, Database Administrator, Business Analyst & Intelligence হিসেবে নিজেকে প্রতিষ্ঠিত করতে চাইলে Ultimate SQL Bootcamp: Enter The World Of Data Science এই কোর্সে জয়েন হতে পারেন।

SQL for Data Science কোর্সটিতে আপনাকে শিখানোর পাশাপাশি প্র্যাকটিস করার জন্য আপনাকে বিভিন্নরকম টাস্ক দেয়া হবে। যেগুলো সলভ করার মাধ্যমে আপনি নিজেকে এক্সপার্টদের কাতারে নিয়ে যেতে পারবেন ইনশাআল্লাহ্‌। আর কোর্সটি কিন্তু সম্পূর্ণ বাংলায়। তাই শিখার একটু ইচ্ছা থাকলেই আপনি সহজে শিখতে পারবেন। আর কোর্সের সাথে পাবেন লাইফ টাইম কোর্স এক্সেস + লাইফ টাইম সাপোর্ট এবং ফ্রি কোর্স আপডেট।

একটা কথা মনে রাখবেন, “Data is the Key”, “Data is the Main Assets” আপনি ডেটাবেস নিয়ে কাজ করতে চান তবে অবশ্যই SQL একটি অন্যতম বিষয় যা আপনাকে জানতে হবে। এ সম্পর্কে সঠিক ধারণা থাকাটা আপনার কাজকে অনেকটা সহজ করে দেবে। এসকিউএল শিখতে চাইলে অবশ্যই আপনি আমাদের দেওয়া উপরের লিংক থেকে খুব সহজেই কোর্স জয়েন হয়ে নিজেকে একজন SQL ডেভেলপার হিসেবে প্রতিষ্ঠিত করতে পারবেন।

Leave a Reply