ডেটাবেজ কি (database overview in bengali)


আমরা যারা টেকনোলজির ব্যাপারে একটু ইন্টারেস্টেড তারা প্রত্যেকেই ডেটাবেজ এই শব্দটার সঙ্গে পরিচিত কিন্তু আমাদেরকে কেউ যখন ডাটাবেস সম্পর্কে বিশদে কিছু জিজ্ঞাসা করে তখন আমরা সঠিকভাবে বলতে পারিনা। 

আজ আমি এই আর্টিকেলের আপনাদের ডাটাবেজ সম্পর্কে বেসিক কিছু জিনিস খুবই সহজে বোঝাবো।

আজ আপনি জানবেন ডেটাবেজ কি এবং কত প্রকার , রিলেশনাল ডাটাবেজ কি ,কম্পিউটার ডাটাবেজ কি, ডাটাবেজ কিভাবে তৈরি করা যায় এসমস্ত কিছু সম্পর্কে।

database-details-overview-bangla

Data কি ?

ডাটাবেস সম্পর্কে জানতে গেলে আগে এটা জানা প্রয়োজন ডাটা কি ?

 

আমরা কম বেশি সবাই জানি ডাটা আসলে কি। সহজে বলতে গেলে ডাটা বলতে কোনো কিছুর information কে বোঝায়। 

 

আপনার ক্ষেত্রে ডাটা কি হতে পারে ? আপনার নাম ,ইমেইল ,ঠিকানা। ফোন নম্বর ইত্যাদি এক একটি ডাটা।

 

আবার একটি স্কুলের ক্ষেত্রে তার স্টুডেন্টদের পার্সোনাল ইনফরমেশন এ এক প্রকার ডাটা।

 

আবার একটি ব্যাঙ্ক এ কাস্টমারের ব্যাঙ্ক detailsই হলো ডাটা। অর্থাৎ দেখা যাচ্ছে সব ক্ষেত্রে ডাটা রয়েছে সুতরাং একটি স্কুলের যেমন ডাটা রাখার প্রয়োজন রয়েছে তেমনি একটি ব্যাংকেরও ডাটা কোথাও জমা রাখার প্রয়োজন রয়েছে।এই সমস্যাটি সমাধান করে ডাটাবেস। 

 

ডেটাবেজ কি(what is database in Bengali)

ডাটাবেজ হলো একটি তথ্য সংরক্ষণের ব্যবস্থা, যেখানে related information প্রথমে সংগ্রহ করা হয়, সেগুলিকে জমা রাখা হয়, এবং প্রয়োজন বিশেষে সেখান থেকে access করা যায়।


আগেকার দিনে অফিস স্কুল কলেজে গিয়ে আপনি দেখে থাকবেন সেখানে data জমা করার জন্য অনেক ফাইল এর ব্যবহার হতো, এমন কি অনেক পুরনো সিনেমায় থানায় পুরনো ফাইল বের করার দৃশ্য দেখা যায়।

কিন্তু আজকালকার দিনে ফাইলে জমা করার ব্যাপার পুরোপুরি উঠে গেছে। এর বদলে এসেছে  ডাটাবেজ , সেখানে আপনি যে কোন তথ্য জমা রাখতে পারবেন শুধু ইন্টারনেট ও কম্পিউটারের মাধ্যমে। এই পুরো ব্যাপারটাই হয় digital ।

 

ডাটাবেজ এর বৈশিষ্ট্য (characteristics)

  • একটি ডাটাবেজ তৈরি করার পর সেটিকে সেটিকে update করার প্রয়োজন হয় যাতে আরো নতুন ডাটা জমা করা যায়
  •  লাইব্রেরীতে যেমন নির্দিষ্ট বিষয়ের বই নির্দিষ্ট জায়গায় রাখা হয় তেমনি ডাটাবেসের ক্ষেত্রেও শ্রেণীবদ্ধ ভাবে সাজানো খুবই প্রয়োজন কারণ সেক্ষেত্রে প্রয়োজনীয় ডাটা খুঁজে পাওয়া যায় খুব সহজে।
  • ডাটা জমা রাখতে কম্পিউটারের সাথে digital memory device হার্ডডিক্সকে যুক্ত করা হয় অথবা ক্লাউড কম্পিউটিং এর সাহায্য নেওয়া হয়।

ডাটাবেসের কাজ (functions of database)

  • ডাটাবেজ মূলত দ্রুতগতিতে ডাটা খোঁজার কাজ করে থাকে এবং যাতে খুবই নিরাপদে ডাটা সংরক্ষণ করা যায় তার ব্যবস্থা করে থাকে

 

  • ডাটাবেসের ডাটা প্রসেস করে আমরা জানতে পারি নির্দিষ্ট ডাটা গুলি কি প্রকৃতির ও তাদের বৈশিষ্ট্য সম্পর্কে অর্থাৎ সেইটা গুলি কি ধরনের।

 

  • ডাটাবেজ গুলিকে বিভিন্ন হিসেব-নিকেশ, বার্ষিক রিপোর্ট, বিভিন্ন স্কুল কলেজের পরীক্ষার ফলাফল তৈরি ও সংরক্ষণ প্রভৃতি কাজে ব্যবহার করা হয়।

 

Database বলতে কী বোঝায় উদাহরণসহ-

ডাটাবেজ কি এ সম্পর্কে উপরের লেখাটুকু যদি আপনি কিছু বুঝতে না পারেন । তাহলে আরো সহজে আমি বোঝানোর চেষ্টা করছি। ডাটাবেস বলতে আসলে কি বোঝায়?

ধরুন কোনো একটি কলেজে 1000 জন স্টুডেন্ট রয়েছে। এখন তাদের নির্দিষ্ট রোল নাম্বার অনুযায়ী খাতা দেখে নাম্বার বসানো হলো।

প্রত্যেক পরীক্ষার্থীর রোল নাম্বার, ক্লাস , প্রাপ্ত নম্বর ও অন্যান্য পার্সোনাল ডিটেলস ইউনিভার্সিটি মাইক্রোসফট এক্সেল সিতে বসিয়ে ইউনিভার্সিটির ডাটাবেসে জমা করে দিলো।

এখন নির্দিষ্ট দিনে পরীক্ষার্থীরা তাদের রোল নাম্বার অনুযায়ী প্রাপ্ত নম্বর দেখে নিতে পারল ইউনিভার্সিটির ওয়েবসাইটে গিয়ে। অর্থাৎ এখানে ডাটাবেসের এক্সেস হচ্ছে একে বলা হয় accessing database 

ওই নির্দিষ্ট তথ্যগুলি ইউনিভার্সিটির ডাটাবেসের যতদিন খুশি সংরক্ষিত করে রাখা যাবে।

ধরুন যেসময়ে পরীক্ষার্থীরা তাদের রেজাল্ট দেখছিল তাদের রোল নাম্বার অনুযায়ী যদি সঠিক ফলাফল না দেখাত, তবে কি সেটা সঠিক হত?
 

এই ডাটাবেজ ম্যানেজমেন্ট সিস্টেম তথ্য জমা করা থেকে শুরু করে তথ্য অ্যাক্সেস করা পর্যন্ত সমস্ত ব্যাপারটিকে সহজতর করার কাজটি করে থাকে। 

 

তাহলে ডাটাবেজ ম্যানেজমেন্ট সিস্টেম কি? এ সম্পর্কে জানার পর আমাদের জানা প্রয়োজন ডাটাবেজ প্রোগ্রামিং সফটওয়্যার কি কি রয়েছে।

 

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

ডাটাবেজ ম্যানেজমেন্ট সিস্টেম (Database Management System/DBMS) এর পুরো কথাটি দেখেই আমরা বুঝতে পারছি এমন একটি সিস্টেম যেখানে খুব সহজে যেকোনো ধরণের ডাটাকে collect, store ও access করা যায়।

 

DBMS হলো একটি ডাটাবেজ প্রোগ্রামিং সফটওয়্যার প্যাকেজ যা আপনার সমস্ত ডেটাবেজকে maintain করার কাজে লাগে । 

 

এখন আমরা প্রত্যেকেই জানি, ডাটাবেস মেইনটেইন বলতে এখানে ডাটাবেসে data edit, data remove, update এই সব কাজ খুবই সহজে করা যায়। 

 

তাহলে এখন জেনে নেওয়া যাক ডাটাবেজ ম্যানেজমেন্ট সফটওয়্যার বা ডাটাবেস প্রোগ্রামিং সফটওয়্যার কোনগুলো?

 

ডাটাবেস প্রোগ্রামিং সফটওয়্যার (DBMS Software)

এখনকার দিনে অনেক ডাটাবেস প্রোগ্রামিং সফটওয়্যার রয়েছে যার মধ্যে উল্লেখযোগ্য হল –

dBase

প্রথম তৈরী করা DBMS Software ছিল dBase .এটি খুবই successful একটি software ছিল। 

1980 সালে Ashton-Tate company এই সফটওয়্যারটি publish করেছিল microcomputer এর জন্য। মাইক্রোকম্পিউটারের OS এর জন্য এটিকে ব্যবহার করা হতো। 

এই সফটওয়ারের কিছু গুরুত্বপূর্ণ ফিচারস ছিল যেমন – database engine, query system, form engine. 

পরে এই DBMS সফটওয়্যারটি Apple ও IBM PC এই দুই জায়গায় ব্যবহৃত হতে থাকে এবং একটা সময় best selling software তকমাও পেয়েছিলো এই সফটওয়্যারটি । 

Foxpro 

Fox software দ্বারা publish করা foxpro একটি object oriented programming বেসড DBMS software .২০০৭ সালে Microsoft windows এর সাথে প্রতিযোগিতায় না পেরে এটি বন্ধ হয়ে যায়।

Oracle 

Oracle corporation এর তৈরী এই সফটওয়্যারটি বর্তমানে বহু জায়গায় খুবই জনপ্রিয় ও বহুল ব্যাবহৃত। ল্যারি এলিসন ও তার সহকর্মী এই Oracle corporation প্রতিষ্ঠা করেন। 

এই সফটওয়্যারটি একটি object-relational database management system software তাই একে oracle RDBMS ও বলা হয়। 

MySQL 

SQL কথাটির full form হল Structured Query Language .এই DBMS software টিও আগের মতোই একটি object-relational database management system software .

1995 সালে MySQL AB কোম্পানীর তত্ত্বাবধানে এই সফটওয়্যার তৈরী হয়,যার মালিক ছিলেন M. Widenius

পরে oracle corporation এটিকে কিনে নেয়।

 

Database Operational Term

Insert – ইনসার্ট এর মানে হলো কোনো ডাটাবেসে কোনো তথ্যকে জমা করা বা ঢোকানো। যেমন ধরুন আপনি কোনো স্টুডেন্ট ডাটাবেস এর মধ্যে রোল নাম্বার ,ক্লাস ,ঠিকানা ইত্যাদি জমা রাখলেন। 

 

Update – আপডেট করা মানে ডাটা বেসে যে ডাটা আছে ওটাকে আরো তথ্য যোগ করে মডার্ন বা সময় উপযোগী করে তোলা। স্টুডেন্ট ডাটাবেসে ঠিকানা বা সময় আপডেট করা যেতে পারে। 

 

Delete -কোনো ডাটাবেসে তথ্য না রাখতে চাইলে ডিলিট করা যায়। 

 

Store  – কোনো ডাটাবেসে নির্দিষ্ট সময়ের জন্য ডাটাকে জমা রাখা 

 

Access – কেউ সার্চ করলে তৎক্ষণাৎ সেই ডাটা তার কাছে রেজাল্ট হিসাবে বেরিয়ে আসা। যেমন গুগলে সার্চ করলে গুগলের ডাটাবেস থেকে তথ্য বেরিয়ে আসে। 

 

ডাটাবেস মডেল এর প্রকার (Database model types)

ডাটাবেস মডেল কি ?

ডাটাবেস নিয়ে তো জানলেন ডাটাবেসে তথ্য জমা রাখা হয় । কিন্তু তাহলে ডাটাবেস মডেল কি ?

 

ডাটাবেসে যে ডাটা জমা থাকে সেই ডাটাকে অ্যাক্সেস করে বের করে আনতে যে রুল কাজ করে বা যে মডেল অনুযায়ী ডাটাগুলি বেরিয়ে আসে তাকে ডাটাবেস মডেল বলা হয় 

 

এখনো বুঝতে না পারলে খুব সহজে বুঝিয়ে দিছি । 

 

ধরুন  – কোন ব্যাংক এর কাস্টমারদের যে নিয়ে যে ডাটাবেস তৈরি করা হয়েছে সেখানে । সব কাস্ট মারের একাউন্ট নম্বর কোনো একটি টেবিলে ,ঠিকানা অন্য একটি টেবিলে সেভ করা হয়েছে আবার তাদের ফোন নম্বর আর একটি টেবিলে এবং তাদের balance আর একটি টেবিলে।

 

এখন ডাটাবেসটি ওয়েবসাইটে সংযুক্ত করা হয়েছে। এবার কোনো একটি কাস্টমার তার একাউন্ট নম্বর দিয়ে যদি সার্চ দেয়, তাহলে তার নাম ঠিকানা, ফোন নম্বর, ব্যালেন্স সব  দেখাবে একটি পেজে।

 

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

 

এখন যদি টেবিলগুলি কানেক্টেড না থাকতো তাহলে কাস্টমারের ঠিকানা ভুল দেখাতো বা অন্য কারুর দেখাতো ,ব্যাঙ্ক ব্যালান্স ও অন্য কারুর দেখাতো। তাই ডাটাবেসের ডাটা এক্সেস করার জন্য বিভিন্ন মডেল কাজ করে। 

 

Database Model Types –

ডাটাবেজ প্রোগ্রামিং এর ক্ষেত্রে প্রচুর মডেল রয়েছে।যেমন – 

  • Hierarchical database model 
  • Relational model
  • Network model
  • Object-oriented database model
  • Entity-relationship model
  • Document model
  • Entity-attribute-value model
  • Star schema
  • The object-relational model

এগুলোর মধ্যে সবচেয়ে জনপ্রিয় ও গুরুত্তপূর্ণ ডাটা মডেল হলো –Hierarchical model, Relational model,Network model তাই আজ এগুলো নিয়ে খুব সহজে আপনাদের বোঝাব । 


Hierarchical Model  বা শ্রেণীবদ্ধ মডেল 

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

 

এটাকে কিছুটা family tree এর মতো  দেখতে লাগে। তাই ফ্যামিলিট্রি অনুযায়ী ভাবলে এই মডেলের একটি root রয়েছে এবং প্রত্যেক চাইল্ড নির্দিষ্ট অর্ডারে সাজানো এবং তাদের প্রত্যেকের সিঙ্গেল parent রয়েছে। 

 

ডাটাবেসের ক্ষেত্রে প্রত্যেক অপশনকে এক একটি ডাটা টেবিল হিসাবে কল্পনা করতে হবে। 

Hierarchical Model of database-in bengali -detalis-overview

60-70 এর দশকে IBM কোম্পানির Information Management Systems এই মডেলটি ব্যবহার করতো তাদের নিজেদের কাজে যেটি পরে ব্যার্থ হয়ে যায় বিভিন্ন টেকনিক্যাল কারনে।
 

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

Hierarchical Model এর থেকে কিছুটা অ্যাডভান্স হলো নেটওয়ার্ক মডেল। এটি ম্যাথমেটিক্স এর set theory দিয়ে তৈরী করা হয়েছে। এখানে চাইল্ড প্যারেন্ট রিলেসনগুলো একে ওপরের সঙ্গে connected রয়েছে।

Data Systems Languages এর কনফারেন্সে Network Modelকে define করার পর এটি 70এর দশকে খুবই জনপ্রিয় একটি মডেল হয়ে ওঠে । 

Network Model of database-in bengali -detalis-overview

 

Relational Model সম্পর্কিত বা রিলেশনাল মডেল 

এখনো যদি আপনি না জানেন রিলেশনাল মডেল কি ? তাহলে বলা যায় ডাটাবেস মডেলের প্রকারভেদের মধ্যে সবচেয়ে powerful ও কার্যকরী মডেলের একটি হলো সম্পর্কিত বা রিলেশনাল মডেল। 

 

এই মডেলটি সাধারণত structured  table অনুযায়ী হয়ে থাকে। আর এই টেবিল গুলোকে ডাটাবেসের ভাষায় এক একটি রিলেশন বলা হয়ে থাকে। 

 

প্রত্যেকটি টেবিলে সারি বা row ও কলাম রয়েছে যেখানে ডাটা স্টোর করা হয়। প্রত্যেক column এ অনেক attribute লিস্ট করা থাকে ,যেমন -price ,date of birth,zip code ইত্যাদি। এই রিলেসন টেবিলে থাকা attribute গুলিকে একসাথে ডোমেইন বলা হয়। 

 

যখন কোনো একটি রিলেশন টেবিলে থাকা একটি নির্দিষ্ট এট্রিবিউটকে primary key হিসাবে রেখে অন্য টেবিলের সাথে সংযোগ করা হয় তখন তাকে foreign key বলা হয়। 

 

রিলেশন বা টেবিলের প্রত্যেকটি row কে tuple বলা হয়ে থাকে। 

 

ডাটাবেসের মধ্যে থাকা টেবিল গুলোকে গুলোকে অনেক normalize করে নেওয়া যায় অর্থাৎ যদি টেবিল গুলোকে প্রত্যেকটা ডাটার পিস অনুযায়ী ভাঙলে যে ডাটাগুলো পাওয়া যায় সেগুলো খুবই useful হয়ে থাকে।

 

তাই এই সম্পর্কিত বা রিলেশনাল মডেল সর্বদা flexible, scalable এবং adoptable হয়ে থাকে। 

 

EF Codd 1970 সালে এই মডেল তৈরী করেন। এই মডেলটি সাধারণত Structured Query Language বা SQL দিয়ে লেখা হয়ে থাকে। 

 

relational Model of database-in bengali -detalis-overview

 

Types Of Relational Database Model ( সম্পর্কিত মডেলের প্রকার )

রিলেশনাল ডাটাবেস মডেলকে আবার বিভিন্ন ভাবে ভাগ করা যায়। যেমন – 

 

  • One to One রিলেশন – যখন, ডেটাবেজের একটি টেবিলের একটি রেকর্ড অপর একটি ডেটাবেস টেবিলের কেবল মাত্র একটি রেকর্ডের সাথে সম্পর্কিত থাকে,তখন তাকে One to One রিলেশন বলে

 

  • One to Many রিলেশন যখন, ডেটাবেজের একটি টেবিলের একটি রেকর্ড অপর একটি ডেটাবেস টেবিলের একের বেশি রেকর্ডের সাথে সম্পর্কিত থাকে,তখন তাকে One to Many রিলেশন বলে  

 

  • Many to One রিলেশনযখন, ডেটাবেজের একটি টেবিলের অনেকগুলি রেকর্ড অপর একটি ডেটাবেস টেবিলের কেবল মাত্র একটি রেকর্ডের সাথে সম্পর্কিত থাকে,তখন তাকে Many to One রিলেশন বলে

 

  • Many to Many রিলেশনযখন, ডেটাবেজের একটি টেবিলের অনেকগুলি রেকর্ড অপর একটি ডেটাবেস টেবিলের অনেক রেকর্ডের সাথে সম্পর্কিত থাকে,তখন তাকে Many to One রিলেশন বলে

 

সবশেষে ,

 

ইন্টারনেটের পরিধি যত বাড়ছে ,ব্যাবহারকারীর ডাটাও বহুগুন বেড়ে যাচ্ছে। তাই ডাটা জমা রাখতে ডাটাবেসের দরকার পড়ছে। আগামী দিনে হার্ডডিস্কএ ডাটা সেভ ছাড়াও অনলাইন ডাটাবেসের  এর চাহিদা খুবই  বৃদ্ধি পাবে।

 

এর কারণ অনলাইন ক্লাউড কম্পিউটিং ডাটাবেসে ডাটা হারিয়ে যাওয়া বা নষ্ট হওয়ার সম্ভবনা খুবই কম হয়। 

 

পড়ুন ক্লাউড কম্পিউটিং কি

Leave a Comment

Your email address will not be published. Required fields are marked *