ডেটাবেস ম্যানেজমেন্ট সিস্টেম

টেবিল, কী, রিলেশন, SQL ও ডেটা সুরক্ষা

০%

০/৫ পাঠ শেষ

পাঠ

ডেটাবেসের ধারণা

পাঠ ১ / ৫

ডেটাবেসের ধারণা

ডেটা গুছিয়ে রাখা ও সহজে খুঁজে পাওয়া।

  • ফিল্ড হলো একটি কলাম, রেকর্ড হলো একটি সারি।
  • সম্পর্কিত রেকর্ড মিলে টেবিল বা ফাইল।
  • DBMS হলো ডেটাবেস চালানোর সফটওয়্যার।

এই পাঠের ভিডিও ও ক্লাস রেকর্ডিং শিগগির যুক্ত হবে।

ওপরের টেবিল থেকে গোনা

  1. Roll, Name ও GPA, তাই ফিল্ড ৩টি।
  2. দুটি শিক্ষার্থীর তথ্য, তাই রেকর্ড ২টি।
  3. সবগুলো ঘর মিলে ডেটা আছে 3 × 2 = 6টি।

ইন্টারঅ্যাকটিভ ল্যাব

SQL ল্যাব

শর্ত বদলাও, SQL ও ফলাফল একসঙ্গে বদলাবে।

SELECT *
FROM Student
WHERE GPA >= 3
ORDER BY Roll;
RollNameDeptGPA
101RafiScience4.50
102SaymaScience5.00
103TanimCommerce3.75
104NadiaArts4.25
105ImranCommerce4.00
106MituArts3.50
107ShuvoScience3.25

চ্যাপ্টার নোট

  • ফিল্ড হলো একটি কলাম, রেকর্ড হলো একটি সারি।
  • সম্পর্কিত রেকর্ড মিলে টেবিল বা ফাইল।
  • DBMS হলো ডেটাবেস চালানোর সফটওয়্যার।

উদাহরণ

ওপরের টেবিল থেকে গোনা

  1. Roll, Name ও GPA, তাই ফিল্ড ৩টি।
  2. দুটি শিক্ষার্থীর তথ্য, তাই রেকর্ড ২টি।
  3. সবগুলো ঘর মিলে ডেটা আছে 3 × 2 = 6টি।

বিস্তারিত

ডেটা হলো কাঁচা তথ্য, যেমন একটি নম্বর। ডেটা প্রক্রিয়া করে অর্থপূর্ণ হলে তাকে ইনফরমেশন বলে। পরস্পর সম্পর্কিত ডেটার গোছানো সংগ্রহই ডেটাবেস।

ডেটা সাজানো থাকে টেবিলে। প্রতিটি কলাম একটি ফিল্ড, প্রতিটি সারি একটি রেকর্ড। ফিল্ডের ধরন আগে ঠিক করতে হয়, যেমন সংখ্যা, লেখা বা তারিখ।

DBMS হলো ডেটাবেস তৈরি ও চালানোর সফটওয়্যার, যেমন MySQL, Oracle, Microsoft Access। এটি একই ডেটা বারবার রাখা কমায়, ডেটা নিরাপদ রাখে এবং অনেকে একসঙ্গে ব্যবহারের সুযোগ দেয়।

শব্দ

ফিল্ড
টেবিলের কলাম।
রেকর্ড
টেবিলের সারি।
ডেটা রিডানডেন্সি
একই ডেটা একাধিক জায়গায় থাকা।
RDBMS
সম্পর্কযুক্ত টেবিলভিত্তিক DBMS।

টেবিল

ফিল্ড ও রেকর্ড চেনা

RollNameGPA
101Rafi4.50
102Sayma5.00

ভুল

  • ফিল্ড ও রেকর্ড উল্টে ফেলো না। কলাম ফিল্ড, সারি রেকর্ড।
  • মোবাইল নম্বরের ফিল্ড Text হওয়া ভালো, কারণ এতে শুরুর 0 থাকে এবং যোগ-বিয়োগ লাগে না।

টিপস

CQ-তে ফিল্ডের ধরন চাইলে ভাবো, সেটি দিয়ে হিসাব হবে কি না। হিসাব না হলে Text।

  • প্রাইমারি কী প্রতিটি রেকর্ডে অনন্য ও খালি থাকে না।
  • ফরেন কী অন্য টেবিলের প্রাইমারি কী নির্দেশ করে।
  • যেমন রোল নম্বর প্রাইমারি কী হতে পারে।

উদাহরণ

কোন ফিল্ড প্রাইমারি কী

  1. Student টেবিলে Name, Roll ও Dept আছে।
  2. Name ও Dept একাধিক জনের একই হতে পারে।
  3. Roll প্রতিটি শিক্ষার্থীর আলাদা, তাই Roll প্রাইমারি কী।

বিস্তারিত

একই নামের দুজন শিক্ষার্থী থাকতে পারে, তাই নাম দিয়ে নিশ্চিতভাবে কাউকে চেনা যায় না। কী ফিল্ড এই সমস্যার সমাধান।

প্রাইমারি কী প্রতিটি রেকর্ডকে অনন্যভাবে চেনায়। এর মান কখনো খালি থাকে না, একবারের বেশি থাকে না। একটি টেবিলে একটিই প্রাইমারি কী থাকে।

ফরেন কী হলো অন্য টেবিলের প্রাইমারি কী, যা সম্পর্ক তৈরি করে। এর মান একাধিকবার থাকতে পারে। প্রাইমারি কী হওয়ার যোগ্য সব ফিল্ড হলো ক্যান্ডিডেট কী।

শব্দ

প্রাইমারি কী
অনন্য, খালি নয়, টেবিলে একটি।
ফরেন কী
অন্য টেবিলের প্রাইমারি কী নির্দেশ করে।
ক্যান্ডিডেট কী
প্রাইমারি কী হওয়ার যোগ্য ফিল্ড।
কম্পোজিট কী
একাধিক ফিল্ড মিলে তৈরি কী।

টেবিল

প্রাইমারি কী বনাম ফরেন কী

বিষয়প্রাইমারি কীফরেন কী
মান একই হতে পারে?নাহ্যাঁ
খালি থাকতে পারে?নাহ্যাঁ, থাকতে পারে
টেবিলে সংখ্যাএকটিএকাধিক হতে পারে
কাজরেকর্ড চেনাটেবিল যুক্ত করা

ভুল

  • নাম কখনো প্রাইমারি কী হিসেবে ভালো নয়।
  • ফরেন কী-এর মান সংশ্লিষ্ট প্রাইমারি কী-তে থাকতে হয়।

টিপস

প্রাইমারি কী বাছতে নিজেকে প্রশ্ন করো: এই মান কি দুজনের কখনো একই হতে পারে?

  • ধরন: ওয়ান টু ওয়ান, ওয়ান টু ম্যানি ও ম্যানি টু ম্যানি।
  • রিলেশনে একই ডেটা বারবার রাখা কমে।
  • কী ফিল্ড দিয়েই টেবিল যুক্ত হয়।

উদাহরণ

রিলেশনের ধরন বের করা

  1. প্রশ্ন ১: একজন শিক্ষক কতটি ক্লাস নেন? অনেকগুলো।
  2. প্রশ্ন ২: একটি ক্লাস কতজন শিক্ষক নেন? ধরি একজন।
  3. তাই শিক্ষক থেকে ক্লাসের সম্পর্ক ওয়ান টু ম্যানি।

বিস্তারিত

সব তথ্য এক টেবিলে রাখলে একই ডেটা বারবার লিখতে হয়। তাই তথ্য আলাদা টেবিলে ভাগ করে কী ফিল্ড দিয়ে যুক্ত করা হয়। এই সংযোগই রিলেশন।

রিলেশন তিন ধরনের। ওয়ান টু ওয়ানে একটি রেকর্ডের সঙ্গে একটিই যুক্ত। ওয়ান টু ম্যানিতে একটির সঙ্গে অনেকগুলো যুক্ত, এটিই সবচেয়ে বেশি দেখা যায়। ম্যানি টু ম্যানিতে দুই দিকেই অনেকগুলো যুক্ত।

ম্যানি টু ম্যানি সরাসরি রাখা যায় না। তাই একটি তৃতীয় টেবিল ব্যবহার করে তাকে দুটি ওয়ান টু ম্যানিতে ভাগ করা হয়।

শব্দ

রিলেশন
টেবিলের মধ্যে সম্পর্ক।
ER ডায়াগ্রাম
টেবিল ও সম্পর্ক দেখানোর চিত্র।
নরমালাইজেশন
ডেটার পুনরাবৃত্তি কমাতে টেবিল ভাগ করা।

টেবিল

রিলেশনের উদাহরণ

ধরনউদাহরণকারণ
ওয়ান টু ওয়াননাগরিক ও জাতীয় পরিচয়পত্রএকজনের একটি
ওয়ান টু ম্যানিবিভাগ ও শিক্ষার্থীএক বিভাগে অনেক শিক্ষার্থী
ম্যানি টু ম্যানিশিক্ষার্থী ও বিষয়দুই দিকেই অনেক

ভুল

  • সম্পর্ক এক দিক থেকে দেখলে ভুল হয়। সব সময় দুই দিক থেকেই প্রশ্ন করো।

টিপস

উদ্দীপকে প্রতিটি শব্দের ওপর ভরসা করো। প্রতিটি শিক্ষার্থীর একটি ফলাফল মানে ওয়ান টু ওয়ান।

  • SELECT ডেটা আনে, WHERE শর্ত দেয়।
  • ORDER BY সাজায়, GROUP BY দলে ভাগ করে।
  • INSERT, UPDATE ও DELETE ডেটা বদলায়।

উদাহরণ

Science বিভাগের নাম, বেশি GPA আগে

SELECT Name, GPA
FROM Student
WHERE Dept = 'Science'
ORDER BY GPA DESC;
  1. SELECT: Name ও GPA ফিল্ড দেখাও।
  2. WHERE: শুধু Science বিভাগ।
  3. ORDER BY GPA DESC: বড় থেকে ছোট।

বিস্তারিত

SQL (Structured Query Language) হলো ডেটাবেসের সঙ্গে কথা বলার ভাষা। এটি দিয়ে টেবিল তৈরি, ডেটা যোগ, বদল, মুছে ফেলা এবং খোঁজা যায়।

কুয়েরি হলো ডেটাবেসকে করা প্রশ্ন। SELECT বলে কোন ফিল্ড, FROM বলে কোন টেবিল, WHERE দেয় শর্ত। ORDER BY সাজায়, আর GROUP BY সমান মানের রেকর্ডকে দলে ভাগ করে।

SUM, AVG, COUNT, MAX ও MIN ফাংশন একসঙ্গে অনেক রেকর্ডের ওপর হিসাব করে। দুটি টেবিল JOIN দিয়ে কী ফিল্ডের মাধ্যমে যুক্ত করা যায়।

শব্দ

কুয়েরি
ডেটা খোঁজার নির্দেশ।
DDL
টেবিলের গঠন বদলানোর কমান্ড: CREATE, ALTER, DROP।
DML
ডেটা বদলানোর কমান্ড: INSERT, UPDATE, DELETE।

টেবিল

প্রয়োজনীয় কমান্ড

কমান্ডকাজ
SELECTডেটা আনা
INSERT INTOনতুন রেকর্ড যোগ
UPDATEরেকর্ড বদলানো
DELETEরেকর্ড মোছা
CREATE TABLEটেবিল তৈরি
DROP TABLEপুরো টেবিল মুছে ফেলা

ভুল

  • লেখার মান একক উদ্ধৃতিতে রাখতে হয়, সংখ্যার মান নয়।
  • WHERE ছাড়া DELETE চালালে সব রেকর্ড মুছে যায়।
  • DELETE রেকর্ড মোছে, DROP পুরো টেবিল মোছে।

টিপস

SQL লেখার ক্রম মনে রাখো: SELECT, FROM, WHERE, GROUP BY, ORDER BY।

  • সর্টিং রেকর্ডের ক্রম বদলায়, ইনডেক্সিং আলাদা সূচি বানায়।
  • এনক্রিপশন ডেটাকে অপাঠ্য রূপে নেয়।
  • ডিক্রিপশন তা আবার পড়ার উপযোগী করে।

উদাহরণ

সিজার সাইফার (চাবি = 3)

  1. প্রতিটি অক্ষরকে বর্ণমালায় ৩ ঘর এগিয়ে নাও।
  2. ICT: I থেকে L, C থেকে F, T থেকে W
  3. সাইফার টেক্সট: LFW
  4. ফেরাতে প্রতিটি অক্ষর ৩ ঘর পিছিয়ে নাও।

বিস্তারিত

সর্টিং হলো নির্দিষ্ট ফিল্ড অনুযায়ী রেকর্ডের ক্রম বদলে সাজানো। ইনডেক্সিংয়ে আসল টেবিলের ক্রম ঠিক থাকে, শুধু বইয়ের সূচির মতো আলাদা একটি তালিকা তৈরি হয়। তাই খোঁজা অনেক দ্রুত হয়।

ডেটা সুরক্ষার সবচেয়ে গুরুত্বপূর্ণ উপায় এনক্রিপশন। সাধারণ লেখাকে (প্লেইন টেক্সট) একটি চাবি দিয়ে অপাঠ্য লেখায় (সাইফার টেক্সট) বদলানো হয়। চাবি ছাড়া পড়া যায় না।

এনক্রিপশন দুই ধরনের। সিমেট্রিকে একই চাবি দিয়ে তালা দেওয়া ও খোলা হয়। অ্যাসিমেট্রিকে দুটি চাবি থাকে: পাবলিক ও প্রাইভেট।

শব্দ

প্লেইন টেক্সট
পড়ার যোগ্য মূল লেখা।
সাইফার টেক্সট
এনক্রিপ্ট করা অপাঠ্য লেখা।
ডিক্রিপশন
সাইফার টেক্সটকে মূল লেখায় ফেরানো।

টেবিল

সর্টিং বনাম ইনডেক্সিং

বিষয়সর্টিংইনডেক্সিং
আসল ক্রমবদলায়বদলায় না
বাড়তি জায়গালাগে না বা কমসূচির জন্য লাগে
খোঁজার গতিতুলনামূলক কমদ্রুত
নতুন রেকর্ডআবার সাজাতে হয়সূচি হালনাগাদ হয়

ভুল

  • সর্টিং ও ইনডেক্সিং এক নয়। আসল ক্রম বদলায় কি না, সেটিই মূল পার্থক্য।
  • এনক্রিপশন ডেটা লুকায় না, অপাঠ্য করে।

টিপস

উপরের ইনডেক্সিং রেসে একই রোল দুইভাবে খুঁজে দেখো। তুলনার প্রশ্নে এই ছবি মনে থাকবে।