ষষ্ঠ অধ্যায় পাঠ-৪: ডেটাবেজ কুয়েরি, বিভিন্ন কুয়েরি ভাষা এবং অপারেটর সমূহ।

ষষ্ঠ অধ্যায় পাঠ-৪: ডেটাবেজ কুয়েরি, বিভিন্ন কুয়েরি ভাষা এবং অপারেটর সমূহ।

এই পাঠ শেষে যা যা শিখতে পারবে-

  • ১। ডেটাবেজের বিভিন্ন কুয়েরি ব্যাখ্যা করতে পারবে।
  • ২। বিভিন্ন কুয়েরি ভাষা ব্যাখ্যা করতে পারবে।
  • ৩। ডেটাবেজের বিভিন্ন অপারেটর ব্যাখ্যা করতে পারবে।

কুয়েরিঃ ডেটাবেজে সংরক্ষিত অসংখ্য তথ্য থেকে নির্দিষ্ট কোনো শর্ত সাপেক্ষে তথ্য খুঁজে বের করাকে বলা হয় কুয়েরি।  কুয়েরির সাহায্যে নির্দিষ্ট ফিল্ডের ডেটা,নির্দিষ্ট গ্রুপের ডেটা নির্দিষ্ট শর্ত সাপেক্ষে প্রদর্শন করা যায়।

বিভিন্ন প্রকার কুয়েরিঃ 
  • সিলেক্ট কুয়েরি (Select Query): কোনো ডেটাবেজ টেবিলের ফিল্ড বা কলাম নির্বাচন করে যে কুয়েরি করা হয় তাকে সিলেক্ট কুয়েরি বলা হয়।
  • প্যারামিটার কুয়েরি (Parameter Query): ডায়লগ বক্সের তথ্য পূরণ করে যে কুয়েরি করা হয় তাকে প্যরামিটার কুয়েরি বলে।
  • ক্রসট্যাব কুয়েরি (Cross tab Query): শর্তারোপ করে কুয়েরিকৃত ফলাফল সামারি আকারে প্রদর্শনের জন্য যে কুয়েরি করা হয় তাকে, ক্রসট্যাব কুয়েরি বলে।
  • অ্যাকশন কুয়েরি (Action Query): কোনো কুয়েরি যখন ডেটাবেজের ডেটার মানের পরিবর্তন করে তাকে অ্যাকশন কুয়েরি বলে। যেমন-
    • Append Query- নতুন রেকর্ড যুক্ত করার জন্য ব্যবহার করা হয়।
    • Update Query -কোনো ডেটার পরির্বতনের জন্য ব্যবহার করা হয়।
    • Delete Query- টেবিল থেকে ডেটা মুছে ফেলার জন্য ব্যবহার করা হয়।
    • Make Table Query- কুয়েরিকৃত ফলাফল দিয়ে নতুন টেবিল তৈরির জন্য ব্যবহার করা হয়।

কুয়েরি ভাষাঃ যে ভাষার সাহায্যে কুয়েরি করা হয় তাকে কুয়েরি ভাষা বলে। ডেটা ম্যানিপুলেশনের উপর ভিত্তি করে তিন ধরণের কুয়েরি ভাষা আছে।  যেমন-
  • 1. QUEL (Query Language)
  • 2. QBE (Query By Example)
  • 3. SQL (Structured Query Language)
QUEL: QUEL এর পূর্ণ রূপ হলো Query Language। এটি INGRES এর জন্য ডেটা ডেফিনিশন এবং ডেটা ম্যানিপুলেশন। INGRES এর পূর্ণ রূপ হলো Interactive Graphics and Retrieval System। INGRES একটি রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম যা মাইকেল স্টোনব্রকারের(Michael Stonebraker) তৈরি করেন। QUEL রিলেশনাল বীজগণিত অপারেশনগুলি যেমন-ইন্টারসেকশন, বিয়োগ বা ইউনিয়ন সমর্থন করে না। এটি টাপল ক্যালকুলাসের উপর ভিত্তি করে তৈরি এবং এটি নেস্টেড সাব কুয়েরিগুলিকে সমর্থন করে না।
QBE: QBE এর পূর্ণ রূপ হলো Query by example। এটি একটি কুয়েরি ভাষা যা রিলেশনাল ডেটাবেজে ব্যবহৃত হয়। এটি টেবিল থেকে তথ্য অনুসন্ধানের জন্য ব্যবহারকারীদের একটি সাধারণ ইউজার ইন্টারফেস সরবরাহ করে যেখানে ব্যবহারকারী তার যে তথ্যটি অ্যাক্সেস করতে চায় তার একটি উদাহরণ ইনপুট করতে সক্ষম হবে। SQL এর উন্নয়নের সমান্তরালে 1970-এর দশকে IBM এ Moshe Zloof কর্তৃক QBE তৈরি করা হয়েছিল। এটি একটি গ্রাফিক্যাল কুয়েরি ভাষা যেখানে ব্যবহারকারীরা শর্ত এবং উদাহরণ উপাদানগুলির মতো কমান্ডগুলি টেবিলে ইনপুট করতে পারে। ব্যাকগ্রাউন্ডে ব্যবহারকারীর কুয়েরিটি ডেটাবেজ ম্যানিপুলেশন ভাষায় (যেমন SQL) রূপান্তরিত হয় এবং এই SQL ব্যাকগ্রাউন্ডে কার্যকর হবে।
SQL(Structured Query Language): SQL এর পূর্ণ রূপ হলো Structured Query Language। SQLএকটি non-procedural বা Functional Language। কারণ SQL এ যে তথ্যাবলি দরকার কেবল তা বলে দিলেই হয়, কীভাবে কুয়েরি করা যাবে তা বলার দরকার হয় না। SQL একটি শক্তিশালী  ডেটা ডেফিনেশন ল্যাঙ্গুয়েজ অর্থাৎ SQL ব্যবহার করে ডেটাবেজ ম্যানেজমেন্ট সিস্টেমে ডেটাবেজ ফাইল তৈরি, ডেটাবেজ ফাইল পরিবর্তন, ডেটাবেজ ফাইল ডিলিট, ডেটাবেজ অবজেক্ট(টেবিল, ভিউ, ইনডেক্স ইত্যাদি)  তৈরি, পরিবর্তন এবং ডিলিট করা যায় এবং SQL একটি শক্তিশালী ডেটা মেনিপুলেশন ল্যাঙ্গুয়েজ অর্থাৎ SQL ব্যবহার করে  ডেটাবেজ  টেবিলে ডেটা ইনসার্ট, আপডেট  ও ডিলিট করা যায়। তাছাড়া ইউজার একসেস নিয়ন্ত্রন করা যায়। এ কারণে SQL  কে ডেটাবেজের জন্য একটি শক্তিশালী হাতিয়ার বলা হয়।
SQL বিভিন্ন স্টেটমেন্ট এর সমন্বয়ে গঠিত। যেমন-
  • 1.Data Definition Language (DDL)
  • 2.Data Manipulation Language (DML)
  • 3.Transaction Control Language(TCL)
  • 4.Data Control Language (DCL)
  • 5.Data query language (DQL)

বিভিন্ন SQL স্টেটমেন্ট বা কমান্ডসমূহঃ
DBMS SQL command
Data Definition Language (DDL): DDL এর সাহায্যে টেবিলের গঠন পরিবর্তন যেমন- টেবিল তৈরি, টেবিল আপডেট, টেবিল মুছে ফেলা ইত্যাদি পরিবর্তনগুলি করা হয়। সকল DDL কমান্ডগুলি auto-committed। এর মানে এটি ডেটাবেজে স্থায়ীভাবে সমস্ত পরিবর্তন সংরক্ষণ করে।
DDL কমান্ডসমূহ:
CREATE-  ডেটাবেজে নতুন টেবিল তৈরি করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
CREATE TABLE table_name (column_name data_types[,….]);
ALTER-  ডেটাবেজের স্ট্রাকচার পরিবর্তন করতে ব্যবহৃত হয়। যেমন- টেবিলে নতুন কোন ফিল্ড যোগ করা বা ডিলিট করা ইত্যাদি। নিচের সিনট্যাক্সটি লক্ষ্য কর-
ALTER TABLE table_name ADD column_name COLUMN-definition;
DROP- ডেটাবেজের টেবিল মুছে ফেলতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
DROP TABLE table_name;
TRUNCATE-  টেবিলের সকল রেকর্ড মুছে ফেলতে এবং টেবিলের স্পেস খালি করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
TRUNCATE TABLE table_name;
RENAME- টেবিলের নাম পরিবর্তন করতে ব্যবহৃত হয়।

Data Manipulation Language (DML): DML কমান্ডসমূহ টেবিলে সংরক্ষিত তথ্য ম্যানিপুলেট করার জন্য ব্যবহৃত হয়। DML কমান্ডসমূহ auto-committed নয়। এর মানে হল পরিবর্তনগুলি ডেটাবেজের জন্য স্থায়ী নয়, তারা আবার পূর্বাবস্থায় আসতে পারে।
DML কমান্ডসমূহ:
INSERT – টেবিলের সারিতে ডেটা ইনসার্ট করার জন্য ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
INSERT INTO table_name(col1, col2, col3,…. col N)  VALUES (value1, value2, value3, …. valueN);
UPDATE- টেবিলের কলামের মান পরিবর্তন করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
UPDATE table_name SET [column_name1= value1,…column_nameN = valueN] [WHERE CONDITION]
DELETE- টেবিলের এক বা একাধিক সারি বা রেকর্ড ডিলিট করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
DELETE FROM table_name [WHERE condition];

Transaction Control Language(TCL): TCL কমান্ডগুলো ডেটাবেজের উপর অন্যান্য কমান্ডগুলোর প্রভাব চেক করে।  TCL কমান্ডগুলো কেবলমাত্র ইনসার্ট, ডিলিট এবং আপডেটের মতো DML কমান্ডগুলোর সাথে ব্যবহার হতে পারে। এই অপারেশনগুলো স্বয়ংক্রিয়ভাবে ডেটাবেজে committed হয়, তাই তারা টেবিল তৈরি করার সময় বা তাদের ড্রপ করার সময় ব্যবহার করা যাবে না।
TCL কমান্ডসমূহ:
COMMIT- ডেটাবেজের সকল ট্রানজেকশন সংরক্ষণ করতে ব্যবহৃত হয়।
COMMIT;
ROLLBACK- যেসকল ট্রানজেকশন এখনো ডেটাবেজে সংরক্ষণ হয় নাই তাদেরকে undo করতে এই কমান্ড ব্যবহৃত হয়।
ROLLBACK;
SAVEPOINT- সমস্ত ট্রানজেকশনটি  roll back না করে একটি নির্দিস্ট পয়েন্টে ট্রানজেকশনটি  roll back করার জন্য ব্যবহৃত হয়।
SAVEPOINT SAVEPOINT_NAME;

Data Control Language (DCL): DCL কমান্ডসমূহ ডেটাবেজের যেকোন ব্যবহারকারীকে অথরিটির এক্সেস দেওয়া এবং তা ফিরিয়ে নিতে ব্যবহৃত হয়।
DCL কমান্ডসমূহ:
GRANT- ডেটাবেজে ইউজার এক্সেস সুবিধা দিতে ব্যবহৃত হয়।
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
REVOKE- ডেটাবেজে ইউজার এক্সেস সুবিধা বাতিল করতে ব্যবহৃত হয়।
REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

Data query language (DQL): DQL কমান্ডটি ডেটাবেজ টেবিল থেকে শর্ত সাপেক্ষে ডেটা আনতে ব্যবহৃত হয়।
SELECT- শর্ত সাপেক্ষে ডেটাবেজ টেবিলের অ্যাট্রিবিউট বা কলাম সিলেক্ট করতে ব্যবহৃত হয়। নিচের সিনট্যাক্সটি লক্ষ্য কর-
SELECT column_name–/* FROM table_name WHERE conditions;

ডেটাবেজের অপারেটর সমূহঃ ডেটাবেজের বিভিন্ন SQL কমান্ড লেখার জন্য বিভিন্ন অপারেটর প্রয়োজন হয়। ডেটাবেজের বিভিন্ন  অপারেটর সমূহ নিচে আলোচনা করা হল-
  • ১। Arithmetic অপারেটর
  • ২। Comparison অপারেটর
  • ৩। Concatenation অপারেটর
  • ৪। Logical অপারেটর
  • ৫। Special অপারেটর

Arithmetic অপারেটরঃ নিউমেরিক এক্সপ্রেশন তৈরি করতে Arithmetic অপারেটর ব্যবহার করা হয়। যেমন – যোগ, বিয়োগ, গুণ,ভাগ ইত্যাদির জন্য ব্যবহৃত হয়।








Comparison অপারেটরঃ দুটি এক্সপ্রেশনের মধ্যে তুলনা করতে Comparison অপারেটর ব্যবহৃত হয়। একে রিলেশনাল
অপারেটরও বলা হয়।








Concatenation অপারেটরঃ দুটি স্ট্রিংকে যোগ করার জন্য Concatenation অপারেটর ব্যবহার করা হয়। & চিহ্ন হচ্ছে
Concatenation অপারেটর। এছাড়া + চিহ্ন দ্বারাও দুটি স্ট্রিংকে যোগ করা যায়।
  • যেমন- string_1=“Con” এবং string_2=“catenation”
  • result  = string_1 & string_2 অথবা result  = string_1 + string_2

Logical অপারেটরঃ দুটি এক্সপ্রেশনকে একত্র করে এবং এক্সপ্রেশনটি সত্য বা মিথ্যা মূল্যায়ন করে।









পাঠ মূল্যায়ন- 

জ্ঞানমূলক প্রশ্নসমূহঃ
  • ক। কুয়েরি কী?
  • ক। কুয়েরি ভাষা কী?
  • ক। SQL কী?
  • ক। DDL কী?
  • ক। DML কী?
অনুধাবনমূলক প্রশ্নসমূহঃ
  • খ। ডেটাবেজে কুয়েরির প্রয়োজনীয়তা ব্যাখ্যা কর।
  • খ। SQL কে ডেটাবেজের হাতিয়ার বলা হয়
  • খ। SQL কে অতি উচ্চস্তরের ভাষা বলা হয় কেন?
  • খ। SQL কতগুলো স্টেটমেন্টের সমষ্টি–ব্যাখ্যা কর।
সৃজনশীল প্রশ্নসমূহঃ
বহুনির্বাচনি প্রশ্নসমূহঃ
১। কুয়েরি হলো-
ক) ডেটাবেজ আপডেট রাখা
খ) ডেটাবেজ ফাইল সংরক্ষণ করা
গ) ডেটাবেজ থেকে কোনো ডেটা খুঁজে বের করা
ঘ) প্রয়োজনে ডেটাবেজ শেয়ার করা
২। কলেজের ডেটাবেজ সফ্টওয়্যার থেকে যেসকল ছাত্রের রক্তের গ্রুপ A(+) তাদের পৃথক করে বের করতে কী ব্যবহার করা হয়?
ক) টেবিল     খ) ফরম     গ) কুয়েরি    ঘ) রিপোর্ট
৩। SQL এর পূর্ণরূপ কী?
ক) Search Query Language
খ) Simulation for Query Language
গ) Standard Query Language
ঘ) Structured Query Language
৪। ডেটাবেজের কুয়েরিকৃত ডেটাকে সামারি আকারে উপস্থাপন করা হয়া কোন কুয়েরির মাধ্যমে?
ক) Select      খ) Crosstab      গ) Parameter       ঘ)  Action
৫। কুয়েরী বলতে কী বুঝায়?
ক) ডেটাবেজে ডেটা সবসময় আপডেট রাখা
খ) ডেটাবেজে ফাইলসমূহ যথাযথ সংরক্ষণ করা
গ) প্রয়োজন মাফিক ডেটা সরবরাহ করা
ঘ) ডেটাবেজের টেবিলসমূহ সাজিয়ে রাখা
৬। শর্তসাপেক্ষে ডেটা অনুসন্ধান করাকে কি বলে?
ক) মডিউল       খ) কুয়েরি       গ) সর্টিং      ঘ) ইনডেক্সিং
৭। কুয়েরি ব্যবহার করে করা যায়-
i.Data Input    ii.Data Update     iii.Data Delete
নিচের কোনটি সঠিক?
ক) i ও  ii      খ) i ও  iii     গ) ii ও  iii       ঘ) i, ii ও  iii
৮। কুয়েরি ভাষায় উদাহরণ হচ্ছে-
i.QBE      ii.SQL       iii. QUEL
নিচের কোনটি সঠিক?
ক) i ও  ii      খ) i ও  iii     গ) ii ও  iii       ঘ) i, ii ও  iii
উদ্দীপক অনুসারে ৯ নং প্রশ্নের উত্তর দাওঃ
৯। উদ্দীপকে যাদের বেতন ৩০,০০০ টাকা এর উপরে তাদের  দ্রুত খুঁজে বের করা যায় কোন পদ্ধতিতে?
ক) সার্চিং     খ) সর্টিং     গ) ইনডেক্সিং     ঘ) কুয়েরি
১০। “UPDATE” কোন কুয়েরির অন্তর্ভূক্ত?
ক) Select       খ) Parameter      গ) Crosstab       ঘ) Action

Post a Comment

0 Comments
Post a Comment (0)
To Top