SQL (স্ট্রাকচার্ড কোয়েরি ল্যাঙ্গুয়েজ) হল একটি বিশেষ প্রোগ্রামিং ভাষা যা রিলেশনাল ডাটাবেস পরিচালনা এবং ডেটাতে বিভিন্ন ক্রিয়াকলাপ সম্পাদনের জন্য ব্যবহার করার জন্য প্রমিত। এসকিউএল-এর বিভিন্ন ব্যবহার রয়েছে যার মধ্যে রয়েছে ডাটাবেস টেবিল এবং ইনডেক্স স্ট্রাকচার পরিবর্তন করা; ডেটার সারি যোগ করা, আপডেট করা এবং মুছে ফেলা; এবং লেনদেন প্রক্রিয়াকরণ এবং বিশ্লেষণ অ্যাপ্লিকেশনের জন্য একটি ডাটাবেস থেকে তথ্যের বিভিন্ন উপসেট পুনরুদ্ধার করা। এখানে বিশেষ প্রশ্ন এবং ক্রিয়াকলাপ রয়েছে যা কমান্ডের আকারে কাজ করে এবং সাধারণভাবে এসকিউএল স্টেটমেন্ট হিসাবে পরিচিত যেমন নির্বাচন, যোগ, সন্নিবেশ, আপডেট, মুছে ফেলা, তৈরি, পরিবর্তন এবং ছাঁটাই।
এসকিউএল 1970-এর দশকের শেষের দিকে এবং 1980-এর দশকের শুরুতে আবির্ভূত হওয়ার পর রিলেশনাল ডাটাবেসের জন্য স্ট্যান্ডার্ড প্রোগ্রামিং ভাষা হয়ে ওঠে। সাধারণত এসকিউএল ডাটাবেস নামে পরিচিত, রিলেশনাল সিস্টেমে সারি এবং কলামের আকারে ডেটা থাকে, যেখানে একটি টেবিলের প্রতিটি কলাম ডেটা বিভাগের সাথে মিলে যায়, উদাহরণস্বরূপ, গ্রাহকের নাম বা ঠিকানা এবং প্রতিটি সারিতে একটি ডেটা মান থাকে ছেদকারী কলাম।
এসকিউএল হল একটি ডোমেন-নির্দিষ্ট ভাষা যা একটি রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) এ থাকা ডেটা প্রোগ্রামিং এবং ডিজাইন করার জন্য ব্যবহৃত হয়। এটি স্ট্রাকচার্ড ডেটা পরিচালনার ক্ষেত্রে বিশেষভাবে কার্যকর যেখানে ডেটার বিভিন্ন সত্তা/ভেরিয়েবলের মধ্যে সম্পর্ক রয়েছে৷
এসকিউএল মূলত রিলেশনাল অ্যালজেব্রা এবং টুপল রিলেশনাল ক্যালকুলাসের উপর ভিত্তি করে, এসকিউএল অনেক ধরনের স্টেটমেন্ট নিয়ে গঠিত, যা সাধারণত ডেটা কোয়েরি ল্যাঙ্গুয়েজ (DQL), একটি ডেটা ডেফিনিশন ল্যাঙ্গুয়েজ (DDL), একটি ডেটা কন্ট্রোল ল্যাঙ্গুয়েজ (DCL) এবং একটি ডেটা হিসাবে পরিচিত। ম্যানিপুলেশন ভাষা (DML)। এসকিউএল-এর সুযোগের মধ্যে রয়েছে ডেটা কোয়েরি, ডেটা ম্যানিপুলেশন (সন্নিবেশ করা, আপডেট করা এবং মুছে ফেলা), ডেটা ডেফিনিশন (স্কিমা তৈরি এবং পরিবর্তন), এবং ডেটা অ্যাক্সেস নিয়ন্ত্রণ। এছাড়াও, এসকিউএলকে একটি ঘোষণামূলক ভাষা (4GL) হিসাবে বর্ণনা করা হয়েছে, কারণ এতে প্রক্রিয়াগত উপাদানও অন্তর্ভুক্ত রয়েছে।
এসকিউএল এর অ্যাপ্লিকেশনগুলি
SQL-
এর বিভিন্ন অ্যাপ্লিকেশন রয়েছে- 1. ডেটা ইন্টিগ্রেশন স্ক্রিপ্ট - এসকিউএল-এর প্রধান প্রয়োগ হল ডাটাবেস অ্যাডমিনিস্ট্রেটর এবং ডেভেলপারদের দ্বারা ডেটা ইন্টিগ্রেশন স্ক্রিপ্ট লেখা৷
- ২. বিশ্লেষণাত্মক প্রশ্ন - ডেটা বিশ্লেষকরা নিয়মিত বিশ্লেষণাত্মক প্রশ্নগুলি সেট করতে এবং চালানোর জন্য কাঠামোগত ক্যোয়ারী ভাষা ব্যবহার করেন৷
- 3. তথ্য পুনরুদ্ধার করুন - এই ভাষার আরেকটি জনপ্রিয় অ্যাপ্লিকেশন হল বিশ্লেষণ অ্যাপ্লিকেশন এবং লেনদেন প্রক্রিয়াকরণের জন্য একটি ডাটাবেসের মধ্যে তথ্যের উপসেটগুলি পুনরুদ্ধার করা। সবচেয়ে বেশি ব্যবহৃত SQL উপাদান হল নির্বাচন, সন্নিবেশ, আপডেট, যোগ, মুছে ফেলা, তৈরি, ছাঁটাই এবং পরিবর্তন৷
- 4. অন্যান্য গুরুত্বপূর্ণ অ্যাপ্লিকেশন - এসকিউএল সূচক কাঠামো এবং ডাটাবেস টেবিল পরিবর্তনের জন্য ব্যবহৃত হয়। উপরন্তু, ব্যবহারকারীরা এই ভাষা ব্যবহার করে ডেটার সারি যোগ, আপডেট এবং মুছে ফেলতে পারেন।
SQL স্ট্যান্ডার্ড এবং মালিকানাধীন এক্সটেনশনগুলি
1986 সালে আমেরিকান ন্যাশনাল স্ট্যান্ডার্ডস ইনস্টিটিউট (ANSI) এবং তারপর 1987 সালে ইন্টারন্যাশনাল অর্গানাইজেশন ফর স্ট্যান্ডার্ডাইজেশন (ISO) দ্বারা একটি অফিসিয়াল এসকিউএল স্ট্যান্ডার্ড গৃহীত হয়েছিল। এসকিউএল নিয়মিতভাবে ডাটাবেস অ্যাডমিনিস্ট্রেটরদের দ্বারা, সেইসাথে ডেভেলপারদের দ্বারা ডেটা ইন্টিগ্রেশন স্ক্রিপ্ট এবং ডেটা লেখার দ্বারা ব্যবহৃত হয়। বিশ্লেষকরা বিশ্লেষণাত্মক ক্যোয়ারী সেট আপ এবং চালাতে খুঁজছেন।
এসকিউএল এর চারপাশে নির্মিত মালিকানা এবং ওপেন সোর্স রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম উভয়ই প্রতিষ্ঠানের ব্যবহারের জন্য উপলব্ধ। এর মধ্যে রয়েছে Microsoft SQL সার্ভার, Oracle ডেটাবেস, IBM DB2, SAP HANA, SAP অ্যাডাপটিভ সার্ভার, MySQL (এখন ওরাকলের মালিকানাধীন) এবং PostgreSQL।
যাইহোক, এই ডাটাবেস পণ্যগুলির অনেকগুলি পদ্ধতিগত প্রোগ্রামিং এবং অন্যান্য ফাংশনের জন্য স্ট্যান্ডার্ড ল্যাঙ্গুয়েজের মালিকানাধীন এক্সটেনশন সহ SQL সমর্থন করে। উদাহরণস্বরূপ, মাইক্রোসফ্ট ট্রানজ্যাক্ট-এসকিউএল (টি-এসকিউএল) নামক এক্সটেনশনের একটি সেট অফার করে, যখন ওরাকলের স্ট্যান্ডার্ডের বর্ধিত সংস্করণ হল PL/SQL। ফলস্বরূপ, বিক্রেতাদের দ্বারা অফার করা SQL এর বিভিন্ন রূপগুলি একে অপরের সাথে পুরোপুরি সামঞ্জস্যপূর্ণ নয়৷
SQL কমান্ড এবং সিনট্যাক্স
এসকিউএল কমান্ডগুলি বিভিন্ন প্রকারে বিভক্ত, যেমন ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ (DML) এবং ডেটা ডেফিনিশন ল্যাঙ্গুয়েজ (DDL) স্টেটমেন্ট, লেনদেন নিয়ন্ত্রণ এবং নিরাপত্তা ব্যবস্থা।
- ডিএমএল ডেটা পুনরুদ্ধার এবং ম্যানিপুলেট করতে ব্যবহৃত হয়।
- ডিডিএল বিবৃতিগুলি ডাটাবেস কাঠামো সংজ্ঞায়িত এবং পরিবর্তন করার জন্য৷
- লেনদেন নিয়ন্ত্রণগুলি লেনদেন প্রক্রিয়াকরণ পরিচালনা করতে সাহায্য করে, এটি নিশ্চিত করে যে লেনদেনগুলি হয় সম্পূর্ণ হয় বা ত্রুটি বা সমস্যা দেখা দিলে তা ফিরিয়ে আনা হয়৷
- নিরাপত্তা বিবৃতিগুলি ডেটাবেস অ্যাক্সেস নিয়ন্ত্রণ করার পাশাপাশি ব্যবহারকারীর ভূমিকা এবং অনুমতি তৈরি করতে ব্যবহৃত হয়
SQL ভাষা −
সহ বিভিন্ন ভাষার উপাদানে উপবিভক্ত- ধারা, যা বিবৃতি এবং প্রশ্নের উপাদান উপাদান।
- অভিব্যক্তি, যার হয় স্কেলার মান, অথবা কলাম এবং ডেটার সারি সমন্বিত টেবিল থাকতে পারে
- ভবিষ্যদ্বাণী SQL থ্রি-ভ্যালুড লজিক (3VL) (সত্য/মিথ্যা/অজানা) বা বুলিয়ান সত্য মান (সত্য/মিথ্যা) মূল্যায়ন করা যেতে পারে এমন শর্তগুলি নির্দিষ্ট করতে ব্যবহৃত হয় এবং বিবৃতি এবং প্রশ্নের প্রভাব সীমিত করতে বা প্রোগ্রাম প্রবাহ পরিবর্তন করতে ব্যবহৃত হয় .
- কোয়েরি নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে ডেটা পুনরুদ্ধার করতে ব্যবহৃত হয়।
- বিবৃতি, যা স্কিমা এবং ডেটার উপর অবিরাম প্রভাব ফেলতে পারে, অথবা লেনদেন, প্রোগ্রাম প্রবাহ, সংযোগ, সেশন, বা ডায়াগনস্টিক নিয়ন্ত্রণ করতে পারে৷
- এসকিউএল বিবৃতিতে সেমিকোলন (";") বিবৃতিও অন্তর্ভুক্ত টার্মিনেটর।
- তুচ্ছ হোয়াইটস্পেস সাধারণত SQL বিবৃতি এবং প্রশ্নগুলিতে উপেক্ষা করা হয়, এটি পাঠযোগ্যতার জন্য SQL কোড ফর্ম্যাট করা সহজ করে তোলে৷
ইন্টারঅপারেবিলিটি এবং স্ট্যান্ডার্ডাইজেশন
SQL বাস্তবায়ন বিক্রেতাদের মধ্যে বেমানান এবং সমস্ত মান অনুসরণ করে না। নির্দিষ্ট তারিখ এবং সময় সিনট্যাক্স, স্ট্রিং সংযোজন, NULL, এবং তুলনা কেস সংবেদনশীলতা বিক্রেতা থেকে বিক্রেতার মধ্যে পরিবর্তিত হয়। ফলস্বরূপ, SQL কোড খুব কমই পরিবর্তন ছাড়াই ডাটাবেস সিস্টেমের মধ্যে পোর্ট করা যেতে পারে।
ডাটাবেস সিস্টেম −
এর মধ্যে বহনযোগ্যতার সমস্যার জন্য বেশ কয়েকটি কারণ রয়েছে- এসকিউএল স্ট্যান্ডার্ডের জটিলতা এবং আকারের অর্থ হল বেশিরভাগ বাস্তবায়নকারীরা সম্পূর্ণ মানকে সমর্থন করে না।
- মানকটি বিভিন্ন গুরুত্বপূর্ণ ক্ষেত্রে ডাটাবেসের আচরণ নির্দিষ্ট করে না (যেমন সূচী, ফাইল সঞ্চয়স্থান...), কীভাবে আচরণ করতে হবে তা সিদ্ধান্ত নেওয়ার জন্য বাস্তবায়নকে ছেড়ে দেয়।
- এসকিউএল স্ট্যান্ডার্ড সুনির্দিষ্টভাবে সিনট্যাক্স নির্দিষ্ট করে যা একটি কনফর্মিং ডাটাবেস সিস্টেমকে প্রয়োগ করতে হবে। যাইহোক, ভাষা নির্মাণের শব্দার্থবিদ্যার স্ট্যান্ডার্ডের স্পেসিফিকেশন কম ভালভাবে সংজ্ঞায়িত, যা অস্পষ্টতার দিকে পরিচালিত করে।
- অনেক ডাটাবেস বিক্রেতার বড় বিদ্যমান গ্রাহক ঘাঁটি রয়েছে; যেখানে এসকিউএল স্ট্যান্ডার্ডের নতুন সংস্করণ বিক্রেতার ডাটাবেসের পূর্বের আচরণের সাথে বিরোধিতা করে, বিক্রেতা পশ্চাদগামী সামঞ্জস্য ভাঙতে নাও হতে পারে।
- ব্যবহারকারীদের ডাটাবেস সরবরাহকারী পরিবর্তন করা সহজ করতে বিক্রেতাদের জন্য সামান্য বাণিজ্যিক প্রণোদনা রয়েছে (বিক্রেতা লক-ইন দেখুন)।
- ডাটাবেস সফ্টওয়্যার মূল্যায়নকারী ব্যবহারকারীরা মান সম্মতির চেয়ে তাদের অগ্রাধিকারে কর্মক্ষমতার মতো অন্যান্য বিষয়গুলিকে স্থান দেয়।
এসকিউএল এর সুবিধাসমূহ
- এসকিউএল কোয়েরিগুলি দ্রুত এবং দক্ষতার সাথে একটি ডাটাবেস থেকে প্রচুর পরিমাণে রেকর্ড পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে।
- অবজেক্টে ডেটা সংরক্ষণ না করেই ডেটা দেখার জন্য এসকিউএল ব্যবহার করা হয়।
- SQL দুই বা ততোধিক টেবিলে যোগ দেয় এবং এটি ব্যবহারকারীর কাছে একটি বস্তু হিসাবে দেখায়।
- এসকিউএল ডাটাবেস দীর্ঘ-স্থাপিত মান ব্যবহার করে, যা ANSI & আইএসও। নন-এসকিউএল ডাটাবেস কোনো স্পষ্ট মান মেনে চলে না।
- স্ট্যান্ডার্ড SQL ব্যবহার করে যথেষ্ট পরিমাণ কোড লেখা ছাড়াই ডাটাবেস সিস্টেম পরিচালনা করা সহজ।
- এসকিউএল একটি টেবিলের অ্যাক্সেস সীমিত করে যাতে কেউ টেবিলে সারি ঢোকাতে না পারে।
- আগে SQL ডাটাবেস একটি রিলেশনাল ডাটাবেসের সমার্থক ছিল। অবজেক্ট ওরিয়েন্টেড ডিবিএমএস-এর আবির্ভাবের সাথে, অবজেক্ট স্টোরেজ ক্ষমতা রিলেশনাল ডাটাবেসে প্রসারিত হয়।
এসকিউএল-এর অসুবিধাগুলি
- কোডের কয়েকটি লাইন যোগ করার চেয়ে একটি SQL ডাটাবেস ইন্টারফেস করা আরও জটিল৷
- টেবিলটি বাদ দিলে ভিউ নিষ্ক্রিয় হয়ে যায়। এটি টেবিলের বস্তুর উপর নির্ভর করে।
- যদিও এসকিউএল ডাটাবেসগুলি ANSI এবং amp; ISO মান, কিছু ডাটাবেস বিক্রেতা লক-ইন নিশ্চিত করতে স্ট্যান্ডার্ড SQL-এ মালিকানাধীন এক্সটেনশনের জন্য যায়।
- এটি একটি বস্তু তাই এটি স্থান দখল করে।