ডাটাবেজ ও অন্যান্য গুরুত্বপূর্ণ বিষয়সমূহ | শিক্ষক নিবন্ধন লিখিত ICT | পর্ব ৮.২

By | February 25, 2023

ইউনিট ৮ এর ডাটাবেজ ম্যানেজমেন্ট অধ্যায়ের আজকের পর্বে আপনাদের সকলকে স্বাগতম। এটি বেসরকারি শিক্ষক নিবন্ধন এর কম্পিউটার সাইন্স বিষয়ের ৮ম অধ্যায়ের দ্বিতীয় অংশ। গত পর্বে ডাটাবেজের কিছু অংশ দেখানো হয়েছিলো এবং এই পর্বে SQL ডাটাবেজের অবশিষ্ট বিষয়গুলো দেখানো হয়েছে। এই পর্বের সিলেবাসটা দেখে নেই:

SQL ডাটাবেজ ও অন্যান্য
ডাটাবেজ ম্যানেজমেন্ট । শিক্ষক নিবন্ধন লিখিত ICT iSudip

Relational Algebra কী?

Relational Algebra হলো একটি প্রসিডিউরাল কুয়েরি ল্যাংগুয়েজ। এটা এমন একসেট অপারেশন নিয়ে গঠিত হয় যারা এক বা একাধিক রিলেশন কে ইনপুট হিসেবে গ্রহণ করে এবং একটি নতুন রিলেশনকে আউটপুট হিসেবে প্রেরণ করে। অপারেশনগুলো হলো:

  • Select
  • Project
  • Union
  • Set difference
  • Cartesian product
  • Rename

ডাটাবেজে SQL কী?

ডাটাবেজের কোয়েরির জন্য SQL খুবই গুরুত্বপূর্ণ SQL এর সর্বপ্রথম developer হলো IBM. প্রথমে এটির নাম ছিল sequel যা তৈরি করা হয়েছিল ৭০ দশকে। পরবর্তীতে এর নাম পরিবর্তন করে রাখা হয় SQL যার অর্থ হলো Structured Query Language. যদিও এর মূল কাজ query করা তবে বাস্তবে এই ভাষা দিয়ে কুয়েরির সাথে সাথে ডাটার ধরণ define, modify, security সহ অনেক কাজ করা যায়।

SQL language এর বেসিক ডোমেন টাইপগুলো কী কী?

  • Char (n): fixed length character string
  • Varchar (n): variable length character string
  • Int: integer
  • Smallint: small integer
  • Real, double precision: floating point
  • Numeric (p, d)
  • Float (n)

SQL ডাটাবেজের প্রধান উপাদানসমূহ:

  • Table
  • Index
  • Views
  • Stored procedures
  • Triggers

Database Design করতে হয় কিভাবে?

Database Design এর প্রক্রিয়া:

i) প্রাথমিক ধাপ: Database Design এর প্রাথমিক ধাপ হলো ডাটাবেজে কি কি ধরণের তথ্য সংরক্ষণ করা হবে তা নির্ধারণ করা। তথ্যের ধরণ নির্ধারণ করার জন্য ডাটাবেজ ডিজাইনারের কাজ হলো ডোমেন এক্সপার্টের সাথে আলোচনা করে ব্যবহারকারীর চাহিদাসমূহ নির্ণয় করা।

ii) Data model: পরবর্তী ধাপ হলো একটি ডাটা মডেল নির্ধারণ করা। এই ডাটা মডেলের কনসেপ্টগুলো একত্র করে একটি conceptual schema তৈরি করতে হবে। এর মাধ্যমে ডাটাবেজের সার্বিক ধারণা পাওয়া যাবে। প্রাথমিকভাবে conceptual design এর জন্য যদি ER model বাছাই করা হয় তাহলে একটি ER Diagram তৈরি করা হবে যার মধ্যেমে ডাটাবেজের physical representation পাওয়া যাবে।

এই অবস্থায় ডিজাইনারের কাজ হলো ব্যবহারকারীর সম্ভাব্য সকল চাহিদা পূরণ হয় কিনা তা পরীক্ষা করা। কোথাও কোন conflict হলো কিনা বা কোন কিছু যুক্ত বা বাতিল করতে হবে কিনা সেটা দেখা।

iii) Functional requirement: একটি conceptual schema এর মাধ্যমে ডাটাবেজের functional requirement প্রস্তুত করতে হবে। তথ্যসমূহ কিভাবে হালনাগাদ করা হবে, কিভাবে কোন কিছু খুঁজে পাওয়া যাবে অথবা মুছে ফেলা হবে সেটা বর্ণনা করা হয় এই ধাপে। এই ধাপে functional requirement সমূহ স্বয়ংসম্পন্ন করা হয়।

iv) সর্বশেষ ধাপ: এই ধাপে মডেল বাস্তবায়ন (implement) করা হয় এবং এটাই সর্বশেষ ডিজাইন প্রক্রিয়া। লজিক্যাল ডিজাইনের মাধ্যমে স্কিমা বাস্তবায়ন, ডাটা মডেল বাস্তবায়ন, ER মডেলকে relation schema তে বাস্তবায়ন করা হয় এবং physical schema design phase এ পূর্বের সকল অগ্রগতি সফলভাবে বাস্তবায়ন সাপেক্ষে ডাটাবেজ ডিজাইন সম্পন্ন হয়।

  • Indexing কী?

Database এর টেবিলের রেকর্ডসমূহের অ্যাড্রেসকে কোন লজিক্যাল অর্ডারে সাজিয়ে রাখাকেই বলা হয় Index করা। Index file মূল ডাটাবেজ ফাইলের কোনরূপ পরিবর্তন না করে রেকর্ডসমূহের address বিভিন্নভাবে সাজাতে পারে।

Index এর শর্ত ও সুবিধাসমূহ:

  • একাধিক index file থাকলেও কেবলমাত্র একটি সক্রিয় থাকে
  • Index করা ফাইলের তথ্য সহজেই খুজে পাওয়া যায়
  • কাজের গতি বৃদ্ধি পায়
  • সার্চিং, সর্টিং ও কুয়েরি দ্রুত করা যায়
  • মূল ফাইল অপরিবর্তিত থাকে
  • Data Normalization কী?

যে পদ্ধতির মাধ্যমে একটি নির্দিষ্ট ডেটা ফাইলকে তার লজিক্যাল ইকুইভ্যালেন্টে পরিবর্তন করা হয় তাকে ডাটা নরমালাইজেশন বলে। অর্থাৎ, data structure কে redefine করার পদ্ধতিই হলো নরমালাইজেশন। এই পদ্ধতিতে ডাটা ফাইলকে তার attribute অনুযায়ী ছোট ছোট অংশে বিভক্ত করা হয়।

  • Database Administrator এর ফাংশনসমূহ কী কী?
  • DDL এর মাধ্যমে schema definition
  • Storage structure এবং access method definition
  • Schema এবং physical organization modification
  • Granting of authorization
  • Routine maintenance

Aggregate Function কী?

যে ফাংশন এক সেট ভ্যালুর উপর কাজ করে একটিমাত্র output প্রদান করে তাকে aggregate function বলে। SQL এ ৫টি aggregate function রয়েছে।

  • Average (avg)
  • Minimum (min)
  • Maximum (max)
  • Total (sum)
  • Count (count)

Database এর ব্যবহারকারীসমূহ:

  • Naive users (unsophisticated users, mostly do data entry)
  • Application programmers (professionals who writes programs, ui developer)
  • Sophisticated users (uses query language and tools)
  • Specialized users (sophisticated users who writes specialized db application)

KEY কী? ইহা কত প্রকার ও কী কী?

যে field এর উপর ভিত্তি করে ডাটাবেজের অপরাপর field এর তথ্যাবলী সনাক্ত করা হয় তাকে key বলা হয়। key তিন প্রকার:

  • Primary key
  • Composite key
  • Foreign key

i) Primary Key: ডেটা টেবিলের যে ফিল্ডের মানসমূহ দ্বারা একটি রেকর্ডকে অন্য রেকর্ড থেকে সম্পূর্ণরূপে আলাদা করা যায়, সেই ফিল্ডকে Primary Key বলে। এটি unique। যেমন, id.

ii) Composite Key: অনেক সময় কোন টেবিলে সুনির্দিষ্ট কোন প্রাইমারী key নাও থাকতে পারে। তখন দুই বা ততোধিক attribute বা key মিলে কোন entity সেটকে সনাক্ত করতে পারলে তাদের বলা হয় composite key.

Roll NameClass
010RakibSix
015ZawadSeven

এই টেবিলে Roll প্রাইমারী key হবে না কারণ বিভিন্ন শ্রেণিতে একই Roll থাকতে পারে। তবে Roll এর সাথে class যুক্ত হয়ে composite key হিসেবে ব্যবহার করা যেতে পারে।

iii) Foreign Key: যদি ডাটাবেজ এর একটি টেবিলের primary key অন্য data table এর সাধারণ key হিসেবে ব্যবহৃত হয় তাহলে প্রথম ফাইলের primary key কে দ্বিতীয় ফাইলের জন্য foreign key বলা হয়।

Customer Table Order table

idnamephoneaddressOrder noiddate

Relational Database Management System (RDBMS) কী?

ডাটাবেজে একাধিক টেবিল একটি নির্দিষ্ট ফিল্ডের (primary key ও foreign key) উপর ভিত্তি করে সম্পর্ক স্থাপন করাই হলো relationship. আর এই relation করা ডাটা টেবিলের সমন্বয়ে গঠিত database কে relational database বলে। আধুনিক ডাটাবেজ সফটওয়্যার বলতে মূলত relational database management কেই বুঝায়। যেমন, ms access, oracle, mysql.

RDBMS এর বৈশিষ্ট্য:

  • সহজে টেবিল তৈরি করে ডাটা এন্ট্রি করা যায়
  • একাধিক ডাটা টেবিলের মধ্যে রিলেশন তৈরি করা যায়
  • অনেক ডাটার মধ্যে থেকে প্রয়োজনী ডাটা সহজে খুজে বের করা যায়
  • Data validation এর সাহায্যে ডাটা এন্ট্রি নিয়ন্ত্রণ করা যায়
  • সংখ্যাবাচক ডাটার উপর গাণিতিক কাজ করা যায়
  • সহজে নানা ফরম্যাটে লেবেল, রিপোর্ট তৈরি করা যায়
  • এন্ট্রি ফর্ম তৈরি করা যায়
  • অন্য প্রোগ্রাম থেকে ডাটা ব্যবহার করা যায়
  • Executable file তৈরি করা যায়।
Facebook Comments