ডাটাবেসের উদ্দেশ্য ও ডাটাবেস ডিজাইনের ধাপসমূহ – নিয়ে আজকের আলোচনা। এই পাঠটি “সিস্টেম অ্যানালাইসিস অ্যান্ড ডিজাইন” বিষয় এর “সিস্টেম ডিজাইন ও ডেভেলপমেন্ট” বিভাগের একটি পাঠ।

Table of Contents
ডাটাবেসের উদ্দেশ্য ও ডাটাবেস ডিজাইনের ধাপসমূহ
ডাটাবেস হচ্ছে মূলত তথ্যের ঘাঁটি, যা কম্পিউটার সিস্টেমে সংরক্ষণ করা হয় এবং যাকে প্রয়োজন অনুযায়ী প্রসেস করা যায় কিংবা পরিবর্তন, পরিবর্ধন ও পরিমার্জন করা যায়। কোনো বিষয়ের পরস্পর সম্পর্কযুক্ত অসংখ্য ডাটার সুসংবদ্ধ ও সুসজ্জিত সমাহারকে ডাটাবেস বলে। এখান থেকে নির্দিষ্ট ও প্রয়োজনীয় ডাটাকে দ্রুত, সহজ ও কার্যকরীভাবে শনাক্ত করা যায়। সাধারণত পরস্পর সম্পর্কযুক্ত অনেকগুলো ফাইল বা টেবিল নিয়ে ডাটাবেস গঠিত হয়। একটি ডাটাবেসের মধ্যে থাকতে পারে একাধিক টেবিল (Table), ফর্ম (Form), রিপোর্ট (Report) ইত্যাদি।
(ক) এটি প্রকৃতপক্ষে তথ্যের ঘাঁটি।
(খ) তথ্য বা ইনফরমেশন সংগ্রহ করা ডাটাবেসের প্রধান উদ্দেশ্য।
(গ) একটি ডাটাবেসের মধ্যে এক বা একাধিক টেবিল, ফর্ম, রিপোর্ট ইত্যাদি থাকতে পারে।
(ঘ) ডাটাবেসের মধ্যে দ্রুত প্রবেশ করে ডাটা নিয়ে বিভিন্ন কাজ করা যায়।
(ঙ) ইউজারের দ্রুত ডাটার মধ্যে প্রবেশ, কার্যনির্বাহ, দক্ষতার সাথে ডাটা নিয়ে কার্য পরিচালনা করাই ডাটাবেসের মূল উদ্দেশ্য।
ডাটাবেসের মূল উদ্দেশ্যগুলো দেওয়া হলো-
(ক) রিডানডেন্সি নিয়ন্ত্রণ (Controlled redundancy) :
ডাটাবেসে একই ধরনের ডাটা বিভিন্ন স্থানে অবস্থান করলে তাকে ডাটা রিডানডেন্সি বলা হয়। রিডানডেন্ট ডাটা অথবা জায়গা দখল করে, আর একারণেই এটা অপচয়মূলক। নতুন সংস্করণমূলক ডাটা যদি ভিন্ন ফরম্যাটে থাকে তবে তা আপডেটিং করা অত্যন্ত দুরূহ ব্যাপার। তা ছাড়া একই তথ্য বিভিন্ন ফাইলের বিভিন্ন স্থানে সংরক্ষণের ফলে সময় ও স্থান উভয়ের অপচয় ঘটে। ফলে ডাটা প্রসেসিং, মডিফিকেশন ইত্যাদি ক্ষেত্রে জটিলতা দেখা দেয়। ডাটাবেস ডিজাইনের ফলে কেবলমাত্র একটি ডাটা স্টোর হবে। ফলে ডাটার ডুপ্লিকেট হওয়ার সম্ভাবনা নাই এবং সিস্টেমের পারফরমেন্সও বৃদ্ধি পাবে ।
(খ) শেখা ও ব্যবহারে সহজবোধ্যতা (Ease of learning and use) :
বেশিরভাগ ডাটাবেস প্যাকেজের ফিচারসমূহ সহজেই শেখা যায় এবং তা ব্যবহারেও সহজ।

(গ) ডাটার স্বনির্ভরতা (Data independency) :
ডাটাবেসের আর একটি গুরুত্বপূর্ণ উদ্দেশ্য হলো হার্ডওয়্যারের পরিবর্তনজনিত কারণ বা অ্যাপ্লিকেশন প্রোগ্রামের পরিবর্তনজনিত কারণে বা নতুন ডাটা সংযোজন বা বিয়োজন বা পরিবর্তনের ক্ষেত্রে নতুন করে প্রোগ্রাম লিখতে হয় না । অর্থাৎ কোনো কিছুর উপর এটি নির্ভরশীল নয়। ফলে ডাটাবেসের দক্ষতা (Performance) বৃদ্ধি পায়।
(ঘ) কম খরচে অধিক তথ্য (More information at low cost) :
কম খরচে ডাটা স্টোর করা, ডাটার মেইনটেন্যান্স, আপডেট বা মডিফিকেশন, ডাটার ব্যবহার ইত্যাদি ক্ষেত্রে খরচ কনভেনশনাল ফাইল প্রসেসিং এর তুলনায় অপেক্ষাকৃত কম। যদিও হার্ডওয়্যারের দাম দিন দিন কমতির দিকে তথাপিও সফটওয়্যার এবং প্রোগ্রামিং এর খরচ প্রতিনিয়ত বৃদ্ধি পাচ্ছে। ফলে ডাটাবেস ডিজাইনের কারণে অনেক কম খরচে অধিক পরিমাণ তথ্য সংরক্ষণ করা যায় ।
(ঙ) সঠিকতা এবং অবিচ্ছেদ্যতা (Accuracy and integrity) :
ডাটার ইন্টিগ্রিটি বা অবিচ্ছেদ্যতা ডাটাবেসের আর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য। ডাটাবেসে সংরক্ষিত ডাটার জন্য কিছু নিয়ম বা শর্ত বেঁধে দেয়া যায়, যাকে কনসিসটেন্সি কনস্ট্যান্ট বলে। যেমন- কোনো কাস্টমার তার অ্যাকাউন্ট হতে দিনে ২ বারের বেশি টাকা উত্তোলন করতে পারবে না। একজন দিনমজুর সপ্তাহে ৬০ ঘণ্টার অধিক ওভার টাইম কাজ করতে পারবে না ইত্যাদি। যদি এ জাতীয় শর্তকে ভঙ্গ করার চেষ্টা করা হয় তবে তা প্রবলভাবে বাধা দেওয়া হবে, আর এটিই হলো ডাটার অবিচ্ছেদ্যতা। নির্ভুল ডাটার গুণগত মান নিশ্চিত করাও ডাটাবেসের আর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য ।
(চ) ডাটার পুনরুদ্ধারকরণ (Recovery from failure) :
বহু ব্যবহারকারী যখন ডাটাবেস ব্যবহার করে তখন যে-কোনো অনাকাঙ্ক্ষিত কারণে ডাটার ক্ষতি হতে পারে। সাধারণত এটি ইচ্ছাকৃত ক্ষতি বা অনিচ্ছাকৃত ক্ষতি, যা তথ্যজনিত (Intentional) বা ম্যালিশাস (Malicious) লস এবং অ্যাকসিডেন্টাল (Accidental) লস নামে অভিহিত। ক্ষতি যেভাবেই হোক না কেন কোনোপ্রকার ডাটা লস ছাড়াই তা পুনরুদ্ধার করা ডাটাবেস ম্যানেজমেন্ট এর একটি গুরুত্বপূর্ণ কাজ। সিস্টেম যে- কোনো কারণে নষ্ট হওয়ার পূর্বে ডাটাকে সংরক্ষণ করা ডাটাবেস এর প্রধান উদ্দেশ্য।

(ছ) ডাটার গোপনীয়তা ও নিরাপত্তা নিশ্চিতকরণ (Privacy and security) ঃ
ডাটার গোপনীয়তা বজায় রাখা এবং নিরাপত্তা বিধান করা ডাটাবেসের একটি গুরুত্বপূর্ণ কাজ। নিরাপত্তা দুর্বল হলে যে-কোনো অনাকাঙ্ক্ষিত ব্যবহারকারী সহজেই ডাটাতে প্রবেশ করে ডাটার যে-কোনো ক্ষতিসাধন করতে পারে। তথ্য চুরি, তথ্যের পরিবর্তন, পরিবর্ধনসহ যাবতীয় নিরাপত্তা বিঘ্নিত হতে পারে। এজন্য ডাটাবেস ম্যানেজমেন্টে নিরাপত্তা ব্যবস্থা কঠোরভাবে পালন করা হয়।
জ) পারফরমেন্স (Performance) :
ডাটা ব্যবহারের ক্ষেত্রে রেসপন্স টাইম দ্বারা কোনো সিস্টেমের পারফরমেন্স নির্ধারিত হয়। অবশ্য রেসপন্স টাইম নির্ভর করে ব্যবহারকারী কোন ধরনের ডাটা ব্যবহার করছে তার উপর। যেমন, কোনো ডাটাবেস ব্যবহারকারী যদি বিমানের আসন সংখ্যা ফাঁকা আছে কি না জানতে চায় সেক্ষেত্রে মুহূর্তের মধ্যেই তা জানতে পারবে। অর্থাৎ এক্ষেত্রে রেসপন্স টাইম (তৎপর সময়কাল) হবে খুবই অল্প। আবার কোনো ডাটাবেস ব্যবহারকারী যদি এক মাসের মোট বিক্রয় (Grand Total) এবং সাবটোটাল (Subtotal) জানতে চায় সেক্ষেত্রে হয়ত রেসপন্স টাইম কিছুটা ধীরগতিসম্পন্ন (যেমন কয়েক মিলিসেকেন্ড) হতে পারে।
ডাটাবেস ডিজাইনের ধাপ (Steps of database) :
নিম্নে ডাটাবেস ডিজাইনের ধাপ (Step)-গুলোর বর্ণনা দেওয়া হলো-
(ক) ডাটাবেসের কনসেপচুয়াল মডেল (Conceptual model)-এর ডিজাইন দিয়ে ডাটাবেসের ডিজাইনের কাজ শুরু হয়। বর্তমান (Current) এবং সম্ভাব্য প্রয়োগ (Potential application) ই-আর মডেল (E-R model) এবং ডাটা ডিকশনারি (Data dictionary) কে ব্যবহার করে ডাটাবেসের কনসেপচুয়াল মডেল (Conceptual model) ডিজাইন করা হয়।
(খ) তার পরবর্তী ধাপ হলো ডাটাবেসের লজিক্যাল মডেল (logical model) কে ডিজাইন করা। লজিক্যাল মডেল (Logica model) এর ডিজাইনটি ডিবিএমএস (DBMS) সফ্টওয়্যারের ফিচার (Feature)-এর উপর নির্ভর করে ।
তিন ধরনের DBMS আছে-
(ক) রিলেশনাল ডিবিএমএস (Relational DBMS)
(খ) নেটওয়ার্ক ডিবিএমএস (Network DBMS)
(গ) হায়ারারকিক্যাল ডিবিএমএস (Hierarchical DBMS)। এগুলোর জন্য লজিক্যাল ডাটা মডেল (Loigical data model) হলো ভিন্নধর্মীয় রূপ ।
(গ) পরবর্তী ধাপ (step) হলো ভালো পারফরমেন্স (Performance) কে নিশ্চিত করার জন্য ডাটাবেসের ফিজিক্যাল ডাটা মডেল (Physical data model)-কে ডিজাইন (design) করা। এ ধাপ (Step)-এ ডাটা উপাদান (element)-এর ব্যবহারের ফ্রিকুয়েন্সি (Frequency)-এর ডাটা, প্রয়োজনীয় অ্যাক্সেস টাইম (access time) ইত্যাদি ফিজিক্যাল ডাটাবেস (physical database)-এর অ্যাকাউন্ট (account)-এ নেওয়া হয়। পরবর্তী ধাপে ফিজিক্যাল ডাটা মডেল (physical data model)টির প্রয়োগ (implement) এবং মূল্য নির্ধারণ (evaluate) হবে।
উপরোক্ত আলোচনা যে-কোনো ডাটাবেস ডিজাইনের ক্ষেত্রে প্রযোজ্য। কিন্তু একটি ভালো ডাটাবেস ডিজাইন করতে হলে উপরোক্ত ধাপ (Step)-গুলো লাগবে এবং তার সাথে নিচের ধাপ (Step)-গুলো অন্তর্ভুক্ত (include) করতে হবে।
(ক) একটি অর্গানাইজেশনের বর্তমান এবং ভবিষ্যৎ এর প্রয়োজনীয় আবেদন (application)-গুলোর অসন্তুষ্টি (satisfaction) এর ধাপ (step)।
(খ) অর্গানাইজেশনের গ্রোথ (growth) এবং চেঞ্জ (change)-এ খরচের ধাপ।
(গ) হার্ডওয়্যার এবং সফ্টওয়্যার পরিবেশ (environment)-এর যে-কোনো পরিবর্তন কিংবা মডিফাইয়ের সহজবোধ্যতার ধাপ ।
(ঘ) ডাটা স্টোর (Data store) করার পূর্বে ডাটার বৈধতা (validate) পরীক্ষা করার ধাপ ।
(ঙ) ডাটাবেসে ডাটা জমা (store) করার পর তা অথোরাইজড পারসন (authorized person) দ্বারা অ্যাক্সেস (access) করার ধাপ ।
আরও দেখুনঃ

২ thoughts on “ডাটাবেসের উদ্দেশ্য ও ডাটাবেস ডিজাইনের ধাপসমূহ”