বর্তমানে আমরা তথ্য প্রযুক্তির যুগে বসবাস করছি। আমাদের চতুর্দিকেই যেন ছড়িয়ে ছিটিয়ে আছে বিভিন্ন রকমের ডাটা এবং তথ্য। আমরা যে কাজই করিনা কেন সবকিছুর সাথে তথ্য সম্পর্কিত। যেমন আপনি কোন কিছু জানার জন্য যখন গুগল এ সার্চ করেন তখন গুগলের তথ্যের মাধ্যমে আপনি জানতে পারেন। আবার ফেসবুক, ইনস্ট্রাগ্রাম, টুইটারে আমরা বিভিন্ন তথ্য শেয়ার করি। এগুলোই সুন্দর ভাবে ম্যানেজ করার জন্যই ডাটাবেজ ম্যানেজমেন্ট সিস্টেম তৈরি করা হয়েছে। আজ আমরা এই ডাটাবেজ ম্যানেজমেন্ট সিস্টেম সম্পর্কেই বিস্তারিত জানার চেষ্টা করবো।

 

ডাটাবেজ ম্যানেজমেন্ট সিস্টেম হলো পরষ্পর সম্পর্কযুক্ত তথ্যের এমন একটি সিস্টেম যার মাধ্যমে ব্যাবহারকারী সহজেই ডাটা সংগ্রহ, অর্গানাইজ, অ্যাক্সেস, ম্যানিপুলেশন এবং অনুসন্ধান করতে পারে। এটাকে অন্যভাবেও সংজ্ঞায়িত করা যায় যেমন, ডাটাবেজ ম্যানেজমেন্ট সিস্টেম হলো ইন্ড ইউজার এবং অ্যাপ্লিকেশনের মধ্যে একটি লিংক।

 

একটি প্রতিষ্ঠানের ডাটা সংগ্রহ, লেয়ার ভিত্তিক অ্যাক্সেস এবং ম্যানিপুলেশনের জন্য ডাটাবেজ ম্যানেজমেন্ট সিস্টেম খুবই গুরুত্বপূর্ণ। DBMS কর্মীদের ডাটার নিয়ন্ত্রিত এবং সুসংগঠিত অ্যাক্সেস প্রদান করতে পারে যার মাধ্যমে প্রতিষ্ঠান তার লক্ষে পৌছাতে পারে। 

 

 ডাটাবেজ ম্যানেজমেন্ট সিস্টেমকে কম্পিউটারাইজড ডাটা কিপিং সিস্টেমও বলা হয়ে থাকে। পূর্বের ডাটাবেজগুলি থেকে কেবলমাত্র প্রস্ততকৃত ডাটাগুলিই পৃথকভাবে পরিচালনা করা যেত। কিন্তু ডাটাবেজের উন্নতির ফলে বিভিন্ন ধরনের স্ট্রাকচারের উন্নতি হয়েছে ফলে এটি আরো জটিল জটিল ডাটাকে সংযুক্ত করতে পারে। বর্তমানে ডাটাবেজের একজন ইন্ড ইউজারও তার লেভেল অনুসারে ডাটা ক্রিয়েট, প্রোটেক্ট, রিড, আপডেট এমনকি প্রয়োজনে রিমোভ ও করতে পারে।

 

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

একটি সাধারণ ডাটাবেজ ম্যানেজমেন্ট সিস্টেম বিভিন্ন মডেলের হয়ে থাকে। নিচে এগুলো বর্ণনা করা হলো:

 

হায়ারার্কিক্যাল মডেল

একটি অর্গানাইজড হায়ারার্কিক্যাল ডাটা মডেলে ডাটাগুলিকে গাছের মত করে সংগ্রহ করা হয়। এই মডেলটি সাধারণত ওয়েবসাইটের সাইটম্যাপের জন্য কিছু লিঙ্ক রিপ্রেজেন্ট করে। হায়ারার্কিক্যাল মডেলের কিছু বৈশিষ্ঠ রয়েছে, নিচে বৈশিষ্ঠগুলি উল্লেখ করা হলো:

 

ওয়ান টু ম্যানি রিলেশনশিপ: ওয়ান টু ম্যানি রিলেশনশিপ হলো একটির সাথে অনেকগুলির রিলেশন থাকে। যা একটি গাছের সাথে তুলনা করা যেতে পারে। 

 

প্যারেন্ট-চাইল্ড রিলেশনশিপ: একটি প্যারেন্ট নোডে একাধিক চাইল্ড নোড থাকতে পারে। কিন্তু প্রতিটি চাইল্ড নোডে একটিই প্যারেন্ট নোড থাকে। 

 

ডিলেশন প্রবলেম: যদি কোন প্যারেন্ট নোড ডিলিট করা হয় তবে এর চাইল্ড নোডগুলিও ডিলিট হয়ে যায়।


পয়েন্টার: পয়েন্টার সাধারণত প্যারেন্ট-চাইল্ড সংযুক্ত নোড এবং স্টোর ডাটাকে নেভিগেট করে।

 

রিলেশনাল মডেল

যে সব ডাটা মডেলগুলি বেশি ব্যাবহার হয় তার মধ্যে রিলেশনাল মডেল অন্যতম। এই ডাটা মডেলকে দ্বি-মাত্রিক টেবিল হিসেবে রাখা হয়। ডাটা স্টোরেজগুলি রো এবং কলাম আকারে থাকে। রিলেশনাল মডেলের মূল বৈশিষ্ট্য নিচে উল্লেখ করা হলো:

 

Tuples: টেবিলের রো গুলিকে টিপল হিসেবে উল্লেখ করা হয়। যেকোন অবজেক্ট এর একটি সম্পূর্ণ তথ্য একটি রো তে বিদ্যমান থাকে। 


Attribute or field: একটি টেবিলের যে সব প্রোপারটি থাকে তাকেই attribute বলে। যেমন মানুষ যদি একটি টেবিল হয় তাহলে এর নাম, বয়স, বাবার নাম এগুলো একেকটা attribute।

 

অবজেক্ট-ওরিয়েন্টেড মডেল

অবজেক্ট ওরিয়েন্টেড মডেল অনুসারে ডাটাবেজ হলো সম্পর্কিত বৈশিষ্ট্য এবং পদ্ধতিসহ কিছু অবজেক্ট এর সমষ্ঠি অথবা পুনঃব্যবহারযোগ্য সফ্টওয়্যার কম্পোনেন্ট। বিভিন্ন ধরনের অবজেক্ট-ওরিয়েন্টেড ডাটাবেজ রয়েছে, যেমন:

 

  • ছবি বা যেকোন মিডিয়া টাইপ ডাটাকে একটি রিলেশনাল ডাটাবেজে রাখা যায়না, তাই এটিকে মাল্টিমিডিয়া ডাটাবেজে রাখা হয়।

  • যেকোন অবজেক্ট হাইপারটেক্স ডাটাবেজ ব্যবাহার করে অন্য যেকোন অবজেক্ট এর সাথে লিঙ্ক করতে পারে।

 

অবজেক্ট-ওরিয়েন্টেড হলো সবচেয়ে জনপ্রিয় পোস্ট-রিলেশনাল ডাটাবেজ মডেল। এটিকে হাইব্রিড ডাটাবেজ ডিজাইন হিসেবেও উল্লেখ করা হয়।

 

নেটওয়ার্ক মডেল

এই মডেলটি ম্যাথমেটিক্যাল সেট থিওরির উপর ভিত্তি করে রিলেটেড রেকর্ডের সেট ব্যাবহার করে তৈরি করা হয়েছে। নেটওয়ার্কের মডেলের কিছু বৈশিষ্ঠ নিচে উল্লেখ করা হলো:

 

রিলেশনশিপ: এই মডেলে যত বেশি রিলেশনশিপ থাকে তত বেশি সংযুক্ত থাকে। 

 

একাধিক পাথ: একটি রেকর্ডে একাধিক রিলেশনশিপ থাকার কারণে এর একাধিক পাথ ও থাকতে পারে। এটি দ্রুত এবং সহজেই ডাটা অ্যাক্সেস এর সুবিধা দেয়। লিঙ্কযুক্ত সারকুলার: সারকুলার লিঙ্কযুক্ত লিস্ট সাধারণত নেটওয়ার্ক মডেলে কাজ করে।

 

ফ্লোট ডাটা মডেল

এই ডাটা মডেলে ডাটা উপাদানগুলির একটি দ্বি-মাত্রিক অ্যারে ফ্লোট ডেটা মডেল তৈরি করে। এটি একটি সহজ ডাটা মডেল যেখানে একটি টেবিলের মাধ্যমে ডাটাবেজকে সারি এবং কলাম আকারে দেখানো হয়। এখানে উল্লেখ্য যে যে কোনো ডাটা রিড করতে হলে কম্পিউটারকে সম্পূর্ণ টেবিলটিই রিড করতে হবে। 

 

যেহেতু কোনো ডাটা রিড করতে হলে কম্পিউটারকে পুরো ডাটাসেটকে রিড করতে হয়, তাই এটি মডেলটি ছোট ডাটাসেটের জন্য বেশি কার্যকর। অনেক অনেক ডাটার জন্য এই মডেলটি ব্যবহার করা কষ্টসাধ্য। কারণ অনেক বড় ডাটা সেটের মধ্যে একটি মাত্র ডাটা খুজে পাওয়ার জন্য সম্পূর্ণ ডাটা সেট রিড করতে হয়। তাই অনেক সময় এটি অকার্যকর হয়ে পরে।

 

এনটিটি রিলেশনশিপ (ER Model) মডেল

ER মডেলগুলি এমনভাবে গ্রাফিক্যালি ডিজাইন করা হয় যা দ্বারা একজন স্টেকহোল্ডার সহজেই এর কার্যক্রম সম্পর্কে বুঝতে পারে। এই আর্কিটেকচারটাই পরবর্তীতে রিলেশনাল ডাটাবেজ মডেলে রূপান্তর করা হয়। 

 

সহজভাবে যদি বলার চেষ্টা করি, ER ডায়াগ্রাম ডাটাবেজটির লজিক্যাল স্ট্যাকচার রিপ্রেজেন্ট করে।

 

সেমি-স্ট্রাকচার্ড ডাটা মডেল

এই মডেলে ডাটা এবং schema এর মধ্যে পার্থক্য করা কঠিন কেননা কিছু এনটিটির এক বা একাধিক attributes এর কমতি থাকতে পারে। এই মডেলের কিছু এনটিটির নির্দিষ্ট কিছু কোয়ালিটি কম থাকতে পারে যা অন্যদের জন্য অতিরিক্ত থাকতে পারে। ফ্লেক্সিবল ডাটা স্টোরেজের জন্য এটা অনেক সহায়ক।

 

ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এর ACID Properties

ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এর জন্য খুব গুরুত্বপূর্ণ একটি বিষয় হলো এর ACID properties। কেননা যদি একটি ডাটাবেজের ইন্ট্রিগ্রিটি ঠিক না থাকে তাহলে এর পুরা ডাটা সেটটিই নষ্ট হয়ে যেতে পারে। ACID বলতে আমরা বুঝি Atomicity, Consistency, Isolation এবং Durability। চলুন ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এর এই পর্যায়ে আমরা ACID properties এর বিস্তারিত জেনে নেই।

 

Atomicity

Atomicity হলো এমন একটি প্রসেস যেখানে একটি ট্রানজেকশনের হয় সবগুলি ধাপ সম্পূর্ণ হবে নয়তো একেবারেই হবেনা। অতএব, এখানে অর্ধেক, এক-তৃতীয়াংশ, দুই-তৃতীয়াংশ সম্পূর্ণ হবার কোনো সুযোগ নেই। অর্থাৎ আংশিক লেনদেন হবার কোনো সুযোগ এখানে নেই। 

 

একটি উদাহরণ দেওয়া যাক, ধরুন আপনি এটিএম বুথ থেকে টাকা তুলবেন এরজন্য আপনাকে কয়েকটি ধাপ পার করতে হবে। আপনাকে কার্ড মেশিনে প্রবেশ করাতে হবে, গোপন পিন দিতে হবে, টাকার পরিমাণ দিতে হবে, এরপর টাকা বের হবে এবং আপনার অ্যাকাউন্ট থেকে সমপরিমাণ টাকা কেটে নেওয়া হবে। 

 

এখানে এমন কোনো সুযোগ নেই যে আপনি টাকা তুলছেন কিন্তু আপনার অ্যাকাউন্ট থেকে টাকা কেটে নেওয়া হয়নি। অর্থাৎ একটি ট্রানজেকশনের কিছু অংশ বাদ থেকে যাওয়া। 

 

Atomicity এর ক্ষেত্রে দুইটি বিষয় ঘটে যেমন:

 

Commit: কোন ট্রানজেকশন হলে এর পরিবর্তন বা মেসেজগুলি আমাদের কাছে স্পষ্ট থাকবে। তাই atomicity কে আমরা এমন ও বলতে পারি “হয় সম্পূর্ণ নয়তো কিছুইনা”। 

 

Abort: যদি কোন ট্রানজেকশন ফেইল হয় তাহলে আমরা ডাটাবেজ এর কোনো পরিবর্তন দেখতে পারবোনা। অর্থাৎ সেগুলি ডাটাবেজ থেকে মুছে ফেলা হয়।

 

Consistency

একটি ট্রানজেকশনের আগে এবং পরে ডাটার consistency বজায় রাখার জন্য অবশ্যই ডাটার ইন্ট্রিগ্রিটি বজায় রাখতে হবে। এটি ডাটাবেজের অ্যাকুরেসি বজায় রাখার জন্য রেফারেন্স হিসেবে কাজ করে। 

 

ট্রানজেকশনের জন্য ডাটার ইন্ট্রিগ্রিটি খুবই গুরুত্বপূর্ণ। কারণ এটি নিশ্চিত করে যে ট্রানজেকশনের আগে ও পরে ডাটা একই ছিলো। কেননা ট্রানজেকশনের জন্য তথ্য সবসময় একই ও সঠিক হতে হবে।

 

Isolation

আইসোলেশন শব্দের অর্থ সেপারেশন বা বাংলায় বিচ্ছেদ। ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এ আইসোলেশন হলো ডাটাবেজের একটি প্রোপার্টি। যেখানে কোনো ডাটা অন্যকোনো ডাটাকে প্রভাবিত করতে পারবেনা এবং একই সময়ে চলতে পারবে। 

 

আরো সহজভাবে যদি বলি তাহলে বলা যায় একটি অপারেশন সম্পন্ন হলেই কেবল অন্যটি শুরু হবে। এর অর্থ হলো যদি দুটি অপারেশন দুটি আলাদা ডাটাবেজে পারফর্ম করে তবে তারা একে অপরের মানকে প্রভাবিত করতে পারবেনা।

 

Durability

Durability সাধারণত কোনো কিছুর স্থায়ীত্ব নিশ্চিত করে। ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এ durability এটা নিশ্চিত করে যে কোনো অপারেশন সফলভাবে সম্পন্ন হবার পরে ডাটাবেজে সেটা স্টোর হয়।

 

ডাটার durability এমন পারফেক্ট হওয়া উচিত যে সিস্টেমও যদি কখনো ক্রাশ করে তাও যেন ডাটাবেজটি ঠিক থাকে। 

 

অতএব, বলা যায় ACID প্রোপার্টি ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এ ডাটার ধারাবাহিকতা বজায় রাখতে গুরুত্বপূর্ণ ভূমিকা পালন করে।

 

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

এবার আমরা জানার চেষ্টা করবো ডাটাবেজ ম্যানেজমেন্ট সিস্টেম এর কিছু কাজ সম্পর্কে।

 

  • প্রজেক্টের চাহিদা অনুযায়ী ডাটাবেজ তৈরি করা

  • ব্যবহারকারী যেন সহজেই ডাটাবেজ অ্যাক্সেস করতে পারে সেভাবে ডিজাইন করা

  • প্রয়োজন অনুযায়ী নতুন রেকর্ড জমা করা, আপডেট করা এবং ডিলিট করা

  • ডাটার নিরাপত্তা নিশ্চিত করা

  • ডাটার রিডাডেন্সি কমানো।

ডাটাবেস ম্যানেজমেন্ট সিস্টেম এর সুবিধা

ডাটাবেস ম্যানেজমেন্ট সিস্টেম এর সুবিধা নিচে আলোচনা করা হলো:

 

  • ডাটার নিরাপত্তা নিশ্চিত করা যায়

  • প্রয়োজন অনুযায়ী সহজেই উপস্থাপন করা যায়

  • ডাটাকে প্রয়োজনমত আপডেট করা যায়

  • খুব কম সময়ে ফিল্টারের মাধ্যমে প্রয়োজনমত ডাটা খুজে বের করা যায়

  • ডাটার অসামঞ্জস্যতা দূর করে ডাটাবেজ নির্ভুল রাখা যায়

  • এই তথ্য বিভিন্ন জায়গায় ব্যবহার না করে জায়গার সম্পূর্ণ ব্যবহার নিশ্চিত করা যায়

এই ছিলো ডাটাবেস ম্যানেজমেন্ট সিস্টেম এই সম্পর্কে কিছু কথা আশা করি উপরের এই আর্টিকেল থেকে ডাটাবেস ম্যানেজমেন্ট সিস্টেম সম্পর্কে মোটামুটি ভালো একটি একটা ধারণা পেয়েছেন।

 

এরপরও যদি কোন কিছু জানার থাকে তবে আমাদের সাথে যোগাযোগ করতে পারেন। আমরা সর্বাত্নক চেষ্টা করবো আপনাকে সাহায্য করার।