উচ্চমাধ্যমিক কম্পিউটার সায়েন্স সাজেশন | HS Computer Science Suggestion | PART-1
WBCHSE Class 12 CS Semester 4 Suggestion: DBMS (Part 1)
এই পোস্টে উচ্চমাধ্যমিক ২০২৬ কম্পিউটার সায়েন্স (সেমিস্টার ৪)-এর DBMS অংশের ২ ও ৩ নম্বরের গুরুত্বপূর্ণ প্রশ্ন ও উত্তর দেওয়া হলো। সিলেবাসের প্রতিটি টপিক কভার করে ২০টি করে প্রশ্ন এখানে দেওয়া হয়েছে।
Topic: DBMS - Short Answer Type (2 Marks)
নিচের প্রশ্নগুলো থেকে পরীক্ষায় ১টি প্রশ্নের উত্তর দিতে হবে। কিন্তু এমসিকিউ এবং কনসেপ্ট ক্লিয়ার রাখার জন্য এই ২০টি প্রশ্নই গুরুত্বপূর্ণ।
প্রশ্ন ১: DBMS কী?
উত্তর: DBMS (Database Management System) হলো এক ধরণের সফটওয়্যার যা ডেটাবেস তৈরি, সংরক্ষণ, পরিবর্তন এবং নিয়ন্ত্রণ করতে ব্যবহৃত হয়। উদাহরণ: MySQL, Oracle, SQL Server।
উত্তর: DBMS (Database Management System) হলো এক ধরণের সফটওয়্যার যা ডেটাবেস তৈরি, সংরক্ষণ, পরিবর্তন এবং নিয়ন্ত্রণ করতে ব্যবহৃত হয়। উদাহরণ: MySQL, Oracle, SQL Server।
প্রশ্ন ২: Data এবং Information-এর মধ্যে পার্থক্য কী?
উত্তর: Data হলো অসংুবদ্ধ বা raw facts (যেমন: 25, Ravi)। Information হলো প্রসেস করা ডেটা যার একটি নির্দিষ্ট অর্থ আছে (যেমন: Ravi is 25 years old)।
উত্তর: Data হলো অসংুবদ্ধ বা raw facts (যেমন: 25, Ravi)। Information হলো প্রসেস করা ডেটা যার একটি নির্দিষ্ট অর্থ আছে (যেমন: Ravi is 25 years old)।
প্রশ্ন ৩: Metadata কী?
উত্তর: 'Data about Data' বা ডেটা সম্পর্কিত ডেটাকে Metadata বলে। এটি ডেটাবেসের গঠন, ধরন এবং বৈশিষ্ট্য বর্ণনা করে। যেমন- একটি কলামের নাম এবং তার ডেটা টাইপ হলো মেটাডেটা।
উত্তর: 'Data about Data' বা ডেটা সম্পর্কিত ডেটাকে Metadata বলে। এটি ডেটাবেসের গঠন, ধরন এবং বৈশিষ্ট্য বর্ণনা করে। যেমন- একটি কলামের নাম এবং তার ডেটা টাইপ হলো মেটাডেটা।
প্রশ্ন ৪: Tuple এবং Attribute বলতে কী বোঝো?
উত্তর: রিলেশনাল ডেটাবেস টেবিলে প্রতিটি রো (Row) বা রেকর্ডকে Tuple বলা হয়। আর টেবিলের প্রতিটি কলাম (Column) বা ফিল্ডকে Attribute বলা হয়।
উত্তর: রিলেশনাল ডেটাবেস টেবিলে প্রতিটি রো (Row) বা রেকর্ডকে Tuple বলা হয়। আর টেবিলের প্রতিটি কলাম (Column) বা ফিল্ডকে Attribute বলা হয়।
প্রশ্ন ৫: Degree এবং Cardinality কী?
উত্তর: একটি টেবিলে মোট অ্যাট্রিবিউট বা কলামের সংখ্যাকে Degree বলে। আর টেবিলে মোট টাপল বা রো-এর সংখ্যাকে Cardinality বলে।
উত্তর: একটি টেবিলে মোট অ্যাট্রিবিউট বা কলামের সংখ্যাকে Degree বলে। আর টেবিলে মোট টাপল বা রো-এর সংখ্যাকে Cardinality বলে।
প্রশ্ন ৬: Weak Entity কাকে বলে?
উত্তর: যে এনটিটির নিজস্ব কোনো প্রাইমারি কি (Primary Key) থাকে না এবং অস্তিত্ব রক্ষার জন্য অন্য কোনো শক্তিশালী এনটিটির ওপর নির্ভর করে, তাকে Weak Entity বলে। ই-আর ডায়াগ্রামে একে ডবল আয়তক্ষেত্র দিয়ে প্রকাশ করা হয়।
উত্তর: যে এনটিটির নিজস্ব কোনো প্রাইমারি কি (Primary Key) থাকে না এবং অস্তিত্ব রক্ষার জন্য অন্য কোনো শক্তিশালী এনটিটির ওপর নির্ভর করে, তাকে Weak Entity বলে। ই-আর ডায়াগ্রামে একে ডবল আয়তক্ষেত্র দিয়ে প্রকাশ করা হয়।
প্রশ্ন ৭: Data Dictionary কী?
উত্তর: ডেটা ডিকশনারি হলো এমন একটি ফাইল বা ফাইলের সমষ্টি যেখানে ডেটাবেসের মেটাডেটা (Metadata) সংরক্ষিত থাকে। একে 'System Catalog'-ও বলা হয়।
উত্তর: ডেটা ডিকশনারি হলো এমন একটি ফাইল বা ফাইলের সমষ্টি যেখানে ডেটাবেসের মেটাডেটা (Metadata) সংরক্ষিত থাকে। একে 'System Catalog'-ও বলা হয়।
প্রশ্ন ৮: Physical Data Independence কী?
উত্তর: ফিজিক্যাল স্টোরেজ স্ট্রাকচার বা হার্ডওয়্যার লেভেলে কোনো পরিবর্তন করলে যদি লজিক্যাল স্কিমা বা অ্যাপ্লিকেশনে কোনো পরিবর্তন করতে না হয়, তবে তাকে Physical Data Independence বলে।
উত্তর: ফিজিক্যাল স্টোরেজ স্ট্রাকচার বা হার্ডওয়্যার লেভেলে কোনো পরিবর্তন করলে যদি লজিক্যাল স্কিমা বা অ্যাপ্লিকেশনে কোনো পরিবর্তন করতে না হয়, তবে তাকে Physical Data Independence বলে।
প্রশ্ন ৯: Super Key কী?
উত্তর: সুপার কি হলো এক বা একাধিক অ্যাট্রিবিউটের সেট যা একটি টেবিলের প্রতিটি রেকর্ডকে ইউনিকলি শনাক্ত করতে পারে। প্রাইমারি কি হলো সুপার কি-এর একটি সাবসেট।
উত্তর: সুপার কি হলো এক বা একাধিক অ্যাট্রিবিউটের সেট যা একটি টেবিলের প্রতিটি রেকর্ডকে ইউনিকলি শনাক্ত করতে পারে। প্রাইমারি কি হলো সুপার কি-এর একটি সাবসেট।
প্রশ্ন ১০: Alternate Key কাকে বলে?
উত্তর: একটি টেবিলে একাধিক ক্যান্ডিডেট কি (Candidate Key) থাকলে, যেটিকে প্রাইমারি কি হিসেবে বেছে নেওয়া হয় সেটি বাদে বাকি ক্যান্ডিডেট কি-গুলোকে Alternate Key বলে।
উত্তর: একটি টেবিলে একাধিক ক্যান্ডিডেট কি (Candidate Key) থাকলে, যেটিকে প্রাইমারি কি হিসেবে বেছে নেওয়া হয় সেটি বাদে বাকি ক্যান্ডিডেট কি-গুলোকে Alternate Key বলে।
প্রশ্ন ১১: Entity Integrity Constraint কী?
উত্তর: এই নিয়ম অনুযায়ী, কোনো রিলেশনের প্রাইমারি কি (Primary Key)-এর মান কখনওই NULL হতে পারে না। কারণ প্রাইমারি কি রেকর্ড শনাক্তকরণের জন্য ব্যবহৃত হয়।
উত্তর: এই নিয়ম অনুযায়ী, কোনো রিলেশনের প্রাইমারি কি (Primary Key)-এর মান কখনওই NULL হতে পারে না। কারণ প্রাইমারি কি রেকর্ড শনাক্তকরণের জন্য ব্যবহৃত হয়।
প্রশ্ন ১২: Referential Integrity Constraint কী?
উত্তর: এটি ফরেন কি (Foreign Key)-এর সাথে সম্পর্কিত। এই নিয়ম অনুযায়ী, ফরেন কি-এর মান হয় NULL হবে, অথবা সেটি রেফারেন্স টেবিলের প্রাইমারি কি-এর মানের সমান হতে হবে।
উত্তর: এটি ফরেন কি (Foreign Key)-এর সাথে সম্পর্কিত। এই নিয়ম অনুযায়ী, ফরেন কি-এর মান হয় NULL হবে, অথবা সেটি রেফারেন্স টেবিলের প্রাইমারি কি-এর মানের সমান হতে হবে।
প্রশ্ন ১৩: DCL এর কাজ কী? উদাহরণ দাও।
উত্তর: DCL (Data Control Language) ডেটাবেসের নিরাপত্তা এবং পারমিশন নিয়ন্ত্রণ করতে ব্যবহৃত হয়। উদাহরণ: $ GRANT $, $ REVOKE $।
উত্তর: DCL (Data Control Language) ডেটাবেসের নিরাপত্তা এবং পারমিশন নিয়ন্ত্রণ করতে ব্যবহৃত হয়। উদাহরণ: $ GRANT $, $ REVOKE $।
প্রশ্ন ১৪: SQL-এ `DISTINCT` কিওয়ার্ডের কাজ কী?
উত্তর: `DISTINCT` কিওয়ার্ডটি কুয়েরি রেজাল্ট থেকে ডুপ্লিকেট ভ্যালু বাদ দিয়ে শুধুমাত্র ইউনিক ভ্যালু দেখাতে ব্যবহৃত হয়।
সিনট্যাক্স: $ SELECT \ DISTINCT \ column\_name \ FROM \ table\_name; $
উত্তর: `DISTINCT` কিওয়ার্ডটি কুয়েরি রেজাল্ট থেকে ডুপ্লিকেট ভ্যালু বাদ দিয়ে শুধুমাত্র ইউনিক ভ্যালু দেখাতে ব্যবহৃত হয়।
সিনট্যাক্স: $ SELECT \ DISTINCT \ column\_name \ FROM \ table\_name; $
প্রশ্ন ১৫: `LIKE` অপারেটরের ওয়াইল্ডকার্ড ক্যারেক্টারগুলি কী কী?
উত্তর: SQL-এ দুটি ওয়াইল্ডকার্ড ব্যবহৃত হয়:
১. `%` (Percent): শূন্য বা একাধিক ক্যারেক্টারের জন্য।
২. `_` (Underscore): ঠিক একটি ক্যারেক্টারের জন্য।
উত্তর: SQL-এ দুটি ওয়াইল্ডকার্ড ব্যবহৃত হয়:
১. `%` (Percent): শূন্য বা একাধিক ক্যারেক্টারের জন্য।
২. `_` (Underscore): ঠিক একটি ক্যারেক্টারের জন্য।
প্রশ্ন ১৬: `IS NULL` অপারেটর কখন ব্যবহৃত হয়?
উত্তর: যখন কোনো কলামের মান ফাঁকা বা NULL আছে কিনা চেক করতে হয়, তখন `=` চিহ্নের বদলে `IS NULL` ব্যবহার করা হয়।
উত্তর: যখন কোনো কলামের মান ফাঁকা বা NULL আছে কিনা চেক করতে হয়, তখন `=` চিহ্নের বদলে `IS NULL` ব্যবহার করা হয়।
প্রশ্ন ১৭: Functional Dependency (FD) বলতে কী বোঝো?
উত্তর: যদি কোনো রিলেশনে অ্যাট্রিবিউট A-এর মান জানলে অ্যাট্রিবিউট B-এর মান অনন্যভাবে জানা যায়, তবে বলা হয় B ফাংশনালি ডিপেন্ডেন্ট A-এর ওপর। লেখা হয়: $ A \rightarrow B $।
উত্তর: যদি কোনো রিলেশনে অ্যাট্রিবিউট A-এর মান জানলে অ্যাট্রিবিউট B-এর মান অনন্যভাবে জানা যায়, তবে বলা হয় B ফাংশনালি ডিপেন্ডেন্ট A-এর ওপর। লেখা হয়: $ A \rightarrow B $।
প্রশ্ন ১৮: Composite Key কী?
উত্তর: যখন একটি মাত্র অ্যাট্রিবিউট বা কলাম প্রাইমারি কি হওয়ার জন্য যথেষ্ট নয়, তখন দুই বা ততোধিক অ্যাট্রিবিউট মিলে যে প্রাইমারি কি তৈরি করা হয়, তাকে Composite Key বলে।
উত্তর: যখন একটি মাত্র অ্যাট্রিবিউট বা কলাম প্রাইমারি কি হওয়ার জন্য যথেষ্ট নয়, তখন দুই বা ততোধিক অ্যাট্রিবিউট মিলে যে প্রাইমারি কি তৈরি করা হয়, তাকে Composite Key বলে।
প্রশ্ন ১৯: `TRUNCATE` কমান্ডের কাজ কী?
উত্তর: `TRUNCATE` কমান্ড টেবিলের সমস্ত ডেটা মুছে দেয় কিন্তু টেবিলের কাঠামো (Structure) রেখে দেয়। এটি `DELETE` কমান্ডের চেয়ে দ্রুত কাজ করে এবং এটি একটি DDL কমান্ড।
উত্তর: `TRUNCATE` কমান্ড টেবিলের সমস্ত ডেটা মুছে দেয় কিন্তু টেবিলের কাঠামো (Structure) রেখে দেয়। এটি `DELETE` কমান্ডের চেয়ে দ্রুত কাজ করে এবং এটি একটি DDL কমান্ড।
প্রশ্ন ২০: View (ভিউ) কী?
উত্তর: View হলো একটি ভার্চুয়াল টেবিল যা ফিজিক্যালি ডেটাবেসে থাকে না, কিন্তু এক বা একাধিক বেস টেবিল থেকে ডেটা নিয়ে তৈরি হয়। এটি ডেটা সিকিউরিটি বাড়াতে সাহায্য করে।
উত্তর: View হলো একটি ভার্চুয়াল টেবিল যা ফিজিক্যালি ডেটাবেসে থাকে না, কিন্তু এক বা একাধিক বেস টেবিল থেকে ডেটা নিয়ে তৈরি হয়। এটি ডেটা সিকিউরিটি বাড়াতে সাহায্য করে।
Topic: DBMS - Short Answer Type (3 Marks)
প্রশ্ন ১: ফাইল সিস্টেম এবং DBMS-এর মধ্যে তিনটি প্রধান পার্থক্য লেখো।
উত্তর:
উত্তর:
| বৈশিষ্ট্য | ফাইল সিস্টেম | DBMS |
|---|---|---|
| Redundancy | ডেটা ডুপ্লিকেশন বা পুনরাবৃত্তি বেশি হয়। | ডেটা ডুপ্লিকেশন নিয়ন্ত্রণ করা যায়। |
| Security | নিরাপত্তা ব্যবস্থা দুর্বল। | শক্তিশালী নিরাপত্তা ব্যবস্থা আছে। |
| Concurrency | একাধিক ব্যবহারকারী একসাথে কাজ করতে পারে না। | একাধিক ব্যবহারকারী একই সময়ে ডেটা অ্যাক্সেস করতে পারে। |
প্রশ্ন ২: CHAR এবং VARCHAR ডেটা টাইপের মধ্যে পার্থক্য কী?
উত্তর:
উত্তর:
- CHAR: এটি ফিক্সড লেংথ ক্যারেক্টার স্ট্রিং। যদি `CHAR(10)` ডিক্লেয়ার করা হয় এবং 'Ram' (৩ অক্ষর) লেখা হয়, তবুও এটি মেমরিতে ১০ বাইট জায়গা নেবে।
- VARCHAR: এটি ভেরিয়েবল লেংথ ক্যারেক্টার স্ট্রিং। যদি `VARCHAR(10)` ডিক্লেয়ার করা হয় এবং 'Ram' লেখা হয়, তবে এটি শুধুমাত্র ৩ বাইট জায়গাই নেবে। এটি মেমরি সাশ্রয়ী।
প্রশ্ন ৩: SQL-এর ৫টি Aggregate Function-এর নাম ও কাজ লেখো।
উত্তর:
উত্তর:
COUNT(): মোট কতগুলি রো বা রেকর্ড আছে তা গণনা করে।SUM(): কোনো নিউমেরিক কলামের মানের যোগফল নির্ণয় করে।AVG(): কোনো কলামের গড় মান নির্ণয় করে।MAX(): কলামের সর্বোচ্চ মান বের করে।MIN(): কলামের সর্বনিম্ন মান বের করে।
প্রশ্ন ৪: Logical Data Independence এবং Physical Data Independence-এর মধ্যে পার্থক্য কী?
উত্তর:
উত্তর:
- Logical Data Independence: লজিক্যাল স্কিমা পরিবর্তন করলে (যেমন নতুন কলাম যোগ করা) এক্সটারনাল স্কিমা বা অ্যাপ্লিকেশন প্রোগ্রামে পরিবর্তন না করার ক্ষমতা।
- Physical Data Independence: ফিজিক্যাল স্টোরেজ (যেমন হার্ডডিস্ক পরিবর্তন বা ফাইল স্ট্রাকচার বদলানো) পরিবর্তন করলে লজিক্যাল স্কিমায় পরিবর্তন না করার ক্ষমতা।
প্রশ্ন ৫: কার্টেসিয়ান প্রোডাক্ট (Cartesian Product) কী? উদাহরণসহ বোঝাও।
উত্তর: দুটি রিলেশনের মধ্যে ক্রস প্রোডাক্ট করাকে কার্টেসিয়ান প্রোডাক্ট বলে। এতে প্রথম টেবিলের প্রতিটি রো দ্বিতীয় টেবিলের প্রতিটি রো-এর সাথে যুক্ত হয়।
যদি টেবিল A-তে ৩টি রো এবং টেবিল B-তে ২টি রো থাকে, তবে $ A \times B $ টেবিলে মোট $ 3 \times 2 = 6 $ টি রো থাকবে।
উত্তর: দুটি রিলেশনের মধ্যে ক্রস প্রোডাক্ট করাকে কার্টেসিয়ান প্রোডাক্ট বলে। এতে প্রথম টেবিলের প্রতিটি রো দ্বিতীয় টেবিলের প্রতিটি রো-এর সাথে যুক্ত হয়।
যদি টেবিল A-তে ৩টি রো এবং টেবিল B-তে ২টি রো থাকে, তবে $ A \times B $ টেবিলে মোট $ 3 \times 2 = 6 $ টি রো থাকবে।
প্রশ্ন ৬: Natural Join এবং Inner Join-এর মধ্যে পার্থক্য কী?
উত্তর:
উত্তর:
- Natural Join: এটি অটোমেটিক্যালি দুটি টেবিলের মধ্যে একই নামের অ্যাট্রিবিউটের ওপর ভিত্তি করে জয়েন করে এবং ডুপ্লিকেট কলাম বাদ দেয়।
- Inner Join: এতে জয়েন কন্ডিশন (ON clause) উল্লেখ করতে হয়। এটি ডুপ্লিকেট কলাম বাদ দেয় না (যদি না SELECT এ নির্দিষ্ট করা হয়)।
প্রশ্ন ৭: ডেটা মডেল (Data Model) কী? বিভিন্ন প্রকার ডেটা মডেলের নাম লেখো।
উত্তর: ডেটাবেসের লজিক্যাল গঠন বর্ণনা করার জন্য যে টুলস বা ধারণা ব্যবহার করা হয় তাকে ডেটা মডেল বলে।
প্রধান ডেটা মডেলগুলি হলো: ১. Relational Data Model (সবচেয়ে জনপ্রিয়)। ২. Entity-Relationship (ER) Model। ৩. Hierarchical Model। ৪. Network Model।
উত্তর: ডেটাবেসের লজিক্যাল গঠন বর্ণনা করার জন্য যে টুলস বা ধারণা ব্যবহার করা হয় তাকে ডেটা মডেল বলে।
প্রধান ডেটা মডেলগুলি হলো: ১. Relational Data Model (সবচেয়ে জনপ্রিয়)। ২. Entity-Relationship (ER) Model। ৩. Hierarchical Model। ৪. Network Model।
প্রশ্ন ৮: HAVING ক্লজ এবং WHERE ক্লজ-এর মধ্যে পার্থক্য কী?
উত্তর:
উত্তর:
- WHERE: এটি ডেটা গ্রুপিং করার আগে ফিল্টার করে। এটি সিঙ্গেল রো-এর ওপর শর্ত প্রয়োগ করে। এখানে Aggregate Function ব্যবহার করা যায় না।
- HAVING: এটি `GROUP BY` করার পরে গ্রুপের ওপর শর্ত প্রয়োগ করতে ব্যবহৃত হয়। এখানে Aggregate Function ব্যবহার করা যায়।
প্রশ্ন ৯: SQL-এ `ALTER` কমান্ডের ৩টি ব্যবহার লেখো।
উত্তর: `ALTER` কমান্ড দিয়ে টেবিলের গঠন পরিবর্তন করা যায়। ১. নতুন কলাম যোগ করতে: `$ ADD column_name $` ২. কলামের ডেটা টাইপ বা সাইজ বদলাতে: `$ MODIFY column_name $` ৩. কোনো কলাম মুছে ফেলতে: `$ DROP COLUMN column_name $`
উত্তর: `ALTER` কমান্ড দিয়ে টেবিলের গঠন পরিবর্তন করা যায়। ১. নতুন কলাম যোগ করতে: `$ ADD column_name $` ২. কলামের ডেটা টাইপ বা সাইজ বদলাতে: `$ MODIFY column_name $` ৩. কোনো কলাম মুছে ফেলতে: `$ DROP COLUMN column_name $`
প্রশ্ন ১০: রিলেশনাল অ্যালজেব্রায় Union ($\cup$) এবং Intersection ($\cap$) অপারেশনের শর্তগুলি কী কী?
উত্তর: দুটি রিলেশনের মধ্যে ইউনিয়ন বা ইন্টারসেকশন করতে হলে তাদের অবশ্যই Union Compatible হতে হবে। অর্থাৎ: ১. দুটি রিলেশনের অ্যাট্রিবিউট সংখ্যা (Degree) সমান হতে হবে। ২. সংশ্লিষ্ট অ্যাট্রিবিউটগুলোর ডোমেইন বা ডেটা টাইপ একই হতে হবে।
উত্তর: দুটি রিলেশনের মধ্যে ইউনিয়ন বা ইন্টারসেকশন করতে হলে তাদের অবশ্যই Union Compatible হতে হবে। অর্থাৎ: ১. দুটি রিলেশনের অ্যাট্রিবিউট সংখ্যা (Degree) সমান হতে হবে। ২. সংশ্লিষ্ট অ্যাট্রিবিউটগুলোর ডোমেইন বা ডেটা টাইপ একই হতে হবে।
প্রশ্ন ১১: Candidate Key এবং Primary Key-এর সম্পর্ক কী?
উত্তর: একটি টেবিলে একাধিক কলাম বা কলামের সমষ্টি থাকতে পারে যা রেকর্ডকে ইউনিকলি শণাক্ত করে, এগুলো সবই Candidate Key। এদের মধ্যে থেকে ডেটাবেস ডিজাইনার যেটিকে প্রধান হিসেবে বেছে নেন সেটিই Primary Key। অর্থাৎ, সব Primary Key-ই Candidate Key, কিন্তু সব Candidate Key প্রাইমারি কি নয়।
উত্তর: একটি টেবিলে একাধিক কলাম বা কলামের সমষ্টি থাকতে পারে যা রেকর্ডকে ইউনিকলি শণাক্ত করে, এগুলো সবই Candidate Key। এদের মধ্যে থেকে ডেটাবেস ডিজাইনার যেটিকে প্রধান হিসেবে বেছে নেন সেটিই Primary Key। অর্থাৎ, সব Primary Key-ই Candidate Key, কিন্তু সব Candidate Key প্রাইমারি কি নয়।
প্রশ্ন ১২: Set Difference ($-$) অপারেশন কী? উদাহরণ দাও।
উত্তর: $ R - S $ অপারেশনটি এমন সব রেকর্ড খুঁজে বের করে যা রিলেশন R-এ আছে কিন্তু রিলেশন S-এ নেই।
উদাহরণ: যদি R = {1, 2, 3} এবং S = {2, 4} হয়, তবে $ R - S = \{1, 3\} $ হবে।
উত্তর: $ R - S $ অপারেশনটি এমন সব রেকর্ড খুঁজে বের করে যা রিলেশন R-এ আছে কিন্তু রিলেশন S-এ নেই।
উদাহরণ: যদি R = {1, 2, 3} এবং S = {2, 4} হয়, তবে $ R - S = \{1, 3\} $ হবে।
প্রশ্ন ১৩: নরমালাইজেশনের সুবিধাগুলি কী কী?
উত্তর: ১. ডেটা রিডান্ডেন্সি (অপ্রয়োজনীয় পুনরাবৃত্তি) কমানো।
২. ডেটাবেসের আকার বা সাইজ কমানো।
৩. ডেটা অসামঞ্জস্যতা (Inconsistency) দূর করা।
৪. ডেটাবেস ডিজাইনকে আরও সংগঠিত করা।
উত্তর: ১. ডেটা রিডান্ডেন্সি (অপ্রয়োজনীয় পুনরাবৃত্তি) কমানো।
২. ডেটাবেসের আকার বা সাইজ কমানো।
৩. ডেটা অসামঞ্জস্যতা (Inconsistency) দূর করা।
৪. ডেটাবেস ডিজাইনকে আরও সংগঠিত করা।
প্রশ্ন ১৪: 3NF-এ থাকার শর্তগুলো কী?
উত্তর: একটি রিলেশন 3NF (Third Normal Form)-এ থাকবে যদি:
১. রিলেশনটি অবশ্যই 2NF-এ থাকে।
২. কোনো Transitive Dependency না থাকে। অর্থাৎ, নন-প্রাইম অ্যাট্রিবিউট -> নন-প্রাইম অ্যাট্রিবিউট সম্পর্ক থাকতে পারবে না।
উত্তর: একটি রিলেশন 3NF (Third Normal Form)-এ থাকবে যদি:
১. রিলেশনটি অবশ্যই 2NF-এ থাকে।
২. কোনো Transitive Dependency না থাকে। অর্থাৎ, নন-প্রাইম অ্যাট্রিবিউট -> নন-প্রাইম অ্যাট্রিবিউট সম্পর্ক থাকতে পারবে না।
প্রশ্ন ১৫: `UPDATE` কমান্ডের সিনট্যাক্স ও উদাহরণ দাও।
উত্তর: ডেটা আপডেট করার জন্য `UPDATE` ব্যবহৃত হয়।
সিনট্যাক্স:
$ UPDATE \ table\_name $
$ SET \ column1 = value1, \ column2 = value2 $
$ WHERE \ condition; $
উদাহরণ:
$ UPDATE \ Student \ SET \ Marks = 90 \ WHERE \ Roll = 5; $
উত্তর: ডেটা আপডেট করার জন্য `UPDATE` ব্যবহৃত হয়।
সিনট্যাক্স:
$ UPDATE \ table\_name $
$ SET \ column1 = value1, \ column2 = value2 $
$ WHERE \ condition; $
উদাহরণ:
$ UPDATE \ Student \ SET \ Marks = 90 \ WHERE \ Roll = 5; $
প্রশ্ন ১৬: `DROP TABLE` এবং `DELETE FROM` এর মধ্যে মেমরি বা স্টোরেজের কী পার্থক্য হয়?
উত্তর: `DELETE` কমান্ড শুধুমাত্র ডেটা মুছে ফেলে, তাই টেবিলের জন্য বরাদ্দ করা মেমরি স্পেস রিলিজ হয় না (টেবিলের কাঠামো থেকে যায়)। কিন্তু `DROP` কমান্ড টেবিলটি সম্পূর্ণ মুছে ফেলে, তাই হার্ডডিস্ক থেকে ওই টেবিলের জন্য বরাদ্দ করা সমস্ত মেমরি স্পেস মুক্ত বা ফ্রি হয়ে যায়।
উত্তর: `DELETE` কমান্ড শুধুমাত্র ডেটা মুছে ফেলে, তাই টেবিলের জন্য বরাদ্দ করা মেমরি স্পেস রিলিজ হয় না (টেবিলের কাঠামো থেকে যায়)। কিন্তু `DROP` কমান্ড টেবিলটি সম্পূর্ণ মুছে ফেলে, তাই হার্ডডিস্ক থেকে ওই টেবিলের জন্য বরাদ্দ করা সমস্ত মেমরি স্পেস মুক্ত বা ফ্রি হয়ে যায়।
প্রশ্ন ১৭: Relational Algebra কী? এটি কি Procedural না Non-Procedural?
উত্তর: Relational Algebra হলো একটি থিওরেটিক্যাল ল্যাঙ্গুয়েজ যা রিলেশনের ওপর বিভিন্ন অপারেশন চালিয়ে নতুন রিলেশন তৈরি করে। এটি একটি Procedural Query Language, কারণ এতে 'কী' (What) লাগবে এবং 'কীভাবে' (How) পাওয়া যাবে, দুটোই বলে দিতে হয়।
উত্তর: Relational Algebra হলো একটি থিওরেটিক্যাল ল্যাঙ্গুয়েজ যা রিলেশনের ওপর বিভিন্ন অপারেশন চালিয়ে নতুন রিলেশন তৈরি করে। এটি একটি Procedural Query Language, কারণ এতে 'কী' (What) লাগবে এবং 'কীভাবে' (How) পাওয়া যাবে, দুটোই বলে দিতে হয়।
প্রশ্ন ১৮: SQL কে কেন Non-Procedural Language বলা হয়?
উত্তর: SQL-এ আমরা শুধু বলে দিই 'কী' (What) ডেটা চাই, কিন্তু 'কীভাবে' (How) সেই ডেটা খুঁজে বের করতে হবে তা বলতে হয় না। ডেটাবেস ইঞ্জিন নিজেই পথ খুঁজে নেয়। তাই SQL হলো Non-Procedural বা Declarative Language।
উত্তর: SQL-এ আমরা শুধু বলে দিই 'কী' (What) ডেটা চাই, কিন্তু 'কীভাবে' (How) সেই ডেটা খুঁজে বের করতে হবে তা বলতে হয় না। ডেটাবেস ইঞ্জিন নিজেই পথ খুঁজে নেয়। তাই SQL হলো Non-Procedural বা Declarative Language।
প্রশ্ন ১৯: Foreign Key ব্যবহারের সময় `ON DELETE CASCADE` এর মানে কী?
উত্তর: যখন দুটি টেবিল ফরেন কি দিয়ে যুক্ত থাকে, তখন প্যারেন্ট টেবিল থেকে কোনো রেকর্ড ডিলিট করলে যদি `ON DELETE CASCADE` অপশন সেট করা থাকে, তবে চাইল্ড টেবিল থেকেও অটোমেটিক্যালি সংশ্লিষ্ট রেকর্ডগুলো ডিলিট হয়ে যাবে।
উত্তর: যখন দুটি টেবিল ফরেন কি দিয়ে যুক্ত থাকে, তখন প্যারেন্ট টেবিল থেকে কোনো রেকর্ড ডিলিট করলে যদি `ON DELETE CASCADE` অপশন সেট করা থাকে, তবে চাইল্ড টেবিল থেকেও অটোমেটিক্যালি সংশ্লিষ্ট রেকর্ডগুলো ডিলিট হয়ে যাবে।
প্রশ্ন ২০: Pattern Matching-এর জন্য SQL-এ কোন অপারেটর ব্যবহার করা হয়? একটি উদাহরণ দাও।
উত্তর: Pattern Matching-এর জন্য `LIKE` অপারেটর ব্যবহার করা হয়।
উদাহরণ: যাদের নাম 'A' দিয়ে শুরু তাদের খুঁজতে:
$ SELECT \ * \ FROM \ Student \ WHERE \ Name \ LIKE \ 'A%'; $
উত্তর: Pattern Matching-এর জন্য `LIKE` অপারেটর ব্যবহার করা হয়।
উদাহরণ: যাদের নাম 'A' দিয়ে শুরু তাদের খুঁজতে:
$ SELECT \ * \ FROM \ Student \ WHERE \ Name \ LIKE \ 'A%'; $
(বাকি অংশ অর্থাৎ ৫ নম্বরের প্রশ্ন এবং AI-এর প্রশ্ন পরবর্তী পার্টে দেওয়া হবে)

Comments
Post a Comment