Oracle Database-Relation

 সাধারন আলোচনা

আধুনিক যেকোন অফিস/ব্যবসা প্রতিষ্ঠান সুষ্ঠু ব্যবস্থাপনা বলতে ডাটাবেস ব্যবস্থাপনা বুঝায়। আধুনকি যেকোন ব্যবসা প্রতিষ্ঠান চলতে গেলে ডাটা বেস / তথ্য ব্যবস্থাপনা অতীবগুরুত্বপূর্ণ। বড় বা ছোট যে কোন ধরনের এমনকি, সরকারী, বেসরকারী, সেবামূলক, শিক্ষা, ব্যাংক-বীমা ইত্যাদি ক্ষেত্রে ডাটাবেস ব্যবহার করেই সুষ্ঠু ব্যবস্থাপনা করা সম্ভব। পুরাতন আমলের ফাইল  কিপিং পদ্ধতি আজকের যুগে অচল। নিচের চিত্রটি লক্ষ্য করুন। একারনেই বর্তমান কালে সুষ্ঠু ব্যবস্থাপনায় ডাটাবেস ব্যবহারের কোন বিকল্প নেই।



DATABASE কি?

অভিধানিক অর্থে- ডাটাবেস মানে হচ্ছে তথ্যঘাটি। তথ্যের সমারহ। অর্থাৎ যে ব্যবস্থার মাধ্যমে বা যার মাধ্যমে কম্পিউটারে বিপুল পরিমান তথ্য সংরক্ষিত থাকে, তাকেই ডাটাবেস বলে। অন্যভাবে তথ্য বা Information জমা করার আধারকে ডাটাবেস বলে। অনেকগুলি অবজেক্টের সমন্বয়ে ডাটাবেস গঠিত হয়। মিলিয়ন, বিলিয়ন ডাটা বা তথ্য রাখার ব্যবস্থাই ডাটাবেস। আর এইসকল ডাটা প্রসেস বা প্রক্রিয়ারতাজ করার নামই ডাটাবেস ম্যানেজমেন্ট। আর সম্পূর্ন ব্যবস্থাই হচ্ছে সিস্টেম। তাই সহজ ভাবে বলতে গেলে- তথ্য জমা করে প্রয়োজন মত কাজে লাগানোর সমস্ত ব্যবস্থাই হলো ডাটাবেস ম্যানেজমেন্ট সিস্টেম।

 

ধরা যাক, বাংলাদেশর সকল মানুষের বা কোন একটি এলাকার বা কোন গোষ্ঠীর সকল প্রকার তথ্য/ডাটা কম্পিউটারাইজড করতে হবে। এক্ষেত্রে ডাটাবেস ব্যবহারের কোন বিকল্প নেই। MS-EXCEL ev MS-ACCESS এর মত ছোট ডাটবেসে হয়তো এই কাজ করা সম্ভব, কিন্তু সুষ্ঠ ব্যবস্থাপনা অত্যন্ত জটিল এবং এটাদ্বারা সকল চাহিদা পূরন করা অত্যন্ত দুরুহ ব্যাপার। ওরাকল ডাটাবেস এক্ষেত্রে উপযুক্ত ডাটাবেস। সকল সীমাবদ্ধতার উর্দ্ধে থেকেই আপনার প্রয়োজনীয় সকল প্রকার ম্যানেজমেন্ট সম্ভব এই সফটওয়্যারে বা ল্যাঙ্গুয়েজে।

 

একটি কথা স্মরণ রাখতে হবে এখানে- তাহলো সরাসরি ডাটাবেসে কোন তথ্য বা Information রাখা যায়না। ডাটাবেস আসলে বলতে গেলে একটি লজিক্যাল বিষয়। কয়েকটি অবজেক্ট নিয়েই ডাটাবেস গঠিত হয়। মূলতঃ এই অবজেক্ট গুলিই নিয়ে আমরা কাজ করি। এই সকল অবজেক্ট ডাটাবেসের অধীনেই পরিচালিত হয়। ডাটাবেসে কানেক্ট করেই এই সব অবজেক্টে কাজ করা যা। সুতারাং ডাটাবেস বলতে গেলে নিম্নলিখিত অবজেক্ট গুলিকে বুঝায়।

 

ওরাকল ডাটাবেস নিম্নলিখিত প্রধান ৫ (পাঁচটি) অবজেক্ট নিয়ে গঠিত। বিভিন্ন অবজেক্টের মধ্যে সম্পর্ক তৈরী করে কাজ করার জন্য রিলেশনের দরকার হয়।

ডাটাবেস অবজেক্ট সমূহ

Sl

Object

Description

01

Table

Basic unit of storage: Composed of rows & Column

02

View

Logically represent subset of data from one or more table

03

Sequence

Gnerate primary key

04

Index

Improves the performance of some query

05

Synonym

Chose Alternative name to object           

 RELATION কি?

In order to learn anything the first question that needs to be answered is why you need that thing? What purpose it serves for you? In our case here the question is why we need to join many tables. And the answer is when the data we need does not exist in one single table then we have to join with other table.

রিলেশনের ধারণা

রিলেশন আসলে দুই বা ততোধিক টেবিলের মধ্যে সম্পর্ক গড়া। আর টেবিলের মধ্যের এই সম্পর্কের কারনে আমরা ভিন্ন ভিন্ন টেবিল থেকে সঠিক তথ্য কুয়েরী করে কাজে লাগাতে পারি। ধরা যাক- একটি ব্যাংকে আপনার একটি একাউন্ট রয়েছে। যদি আমরা এটিকে কম্পিউটারাইড করতে চাই তাহলে আমাদেরকে টেবিল বানাতে হবে। টেবিলটি Customer নামে নিম্নরপ হতে পারে-

 

একাউন্ট নং                                                            Account_no

গ্রাহকের নাম                                                          Customer_name

পিতার নাম                                                             Fathers_name

ঠিকানা                                                                    Cust_address

টেলিফোন                                                               Cust_Phone

মোবাইল                                                                  Cust_Mobile

জন্ম তারিখ                                                              Cust_B_Date

একাউন্ট খোলার তারিখ                                          Cust_Op_Date

একাউন্ট টাইপ                                                     Cust_AC_type

জমার পরিমান                                                    Opening_balance

লেনদেনের তারিখ                                                  Dilling_date

জমা  টাকার পরিমান                                       Dilling_Amount

পেমেন্ট টাইপ                                                        Payment_type

লেনদেনের তারিখ                                                  Dilling_date

তোলা টাকার পরিমান                                            Dilling_Amount

পেমেন্ট টাইপ                                                        Payment_type

 

আরো অনকে তথ্য থাকতে পারে। তবে ব্যাংক কি ধরনরে তথ্য রাখতে চায়, তা ব্যাংকের চাহিদার উপরই নির্ভর করবে। আমরা ধরে নলিাম আপাততঃ এই র্পযন্ত হলইে চলবে। আর সে কারনে উপররে মত করে একটি টবেলি তরৈী করা হলো।

ধরা যাক, সকাল ৯.০০ টায় ব্যাংকে এলেন একজন ব্যাক্তি কিছু টাকা জমা দেওয়ার জন্য। তাহলে উপররে টেবিলের সকল তথ্য প‚রণ করতে হবে ব্যাংক র্কমচারীকে নিচের টেবিলের মত।


এভাবে ১০ বার লেনদেন করলে ১০ বারই নাম, পিতার নাম ঠিকানাসহ সকল তথ্য এনিট্র করতে হবে। এ কাজটি জটিল, সময়ের অপচয় তথা পরবর্তীতে ম্যানেজ করা অত্যন্ত কঠিন। টেবিলের আকার বড় হওয়ার কারনে স্পেস বেশী নেবে। একই তথ্য বার টাইপ করার কারনে সকল দিক দিয়ে বিষয়টি জটিল হয়ে যায়। এভাবে যদি ১০০০ একাউন্টে লেনদেন হয়, তবে অবস্থাটা কি দাড়ায়?

 কিন্তু আমরা যদি নিচের মত করি, তাহলে কেমন হয়?

এখন আমরা আসলে কি করলাম? একটি টেবিল ভেংগে (৩) তিনটি টেবিল তৈরী করলাম। ১ম টেবিলের Account_no Kjvg‡K Primary key এবং ২নং টেবিলের Account_no কলাম ও ৩ নং টেবিলের Account_no কলামকে Foreign key বানালাম। এখন আমরা ১নং টেবিলে শুধুমাত্র একবারই ডাটা এন্ট্রি করবো। বাকী যতবার টাকা লেনদেন হবে ততবার আমরা শুধুমাত্র ২নং ও ৩নং টেবিলে ডাটা এন্ট্রি করবো। যখন কোন ব্যাক্তি টাকা তোলার জন্য আসবেন তখন তার একাউন্ট নম্বরের ভিত্তিতে ২ নং টেবিলে ডাটা এন্ট্রি করবো। আবার কেউ টাকা তুলতে আসলে একাউন্ট নম্বরের ভিত্তিতে ৩নং টেবিলে ডাটা এন্ট্রি করবো। সুতরাং উক্ত একাউন্ট নম্বরের অধীনে যত ডাটা এন্ট্রি হবে তা সিরিয়ালি হবে। এবং যখনই দরকার তখনই আমরা উক্ত একাউন্টের সকল লেনদেনের তথ্য পেয়ে যাবো।

 

বৃহত্তম ডাটাবেসগুলির মধ্যে সম্ভবত ওরাকল ১ নং অবস্থানে আছে জনপ্রিয়তায়। সাইবেসের অবস্থানও যথেষ্ঠ শক্ত। মাক্রোসফট্ কোম্পানীর SQL, SQL.NET ও বাজারে তাদের আধিপত্য বিস্তারে পিছিয়ে নেই।

  

WvUv‡e‡mi aviYvt

সম্ভবত ডাটাবেসের ধারণা শুরু হয়েছিল খঙঞটঝ-১২৩ দিয়ে। লোটাসের বিভিন্ন ভার্সনের পর আসে DBASE II+, DBASE IV, FoxPro (যদিও বাজারে আরো বহু ধরনের ছোট ছোট ডাটাবেস আগেও ছিল এবং এখনও আছে) ইত্যাদি ডাটাবেস হচ্ছে- DBMS (DATA BASE MANAGEMENT SYSTEM) - তবে রিলেশনের ধারণা শুরু হয় আরো অনেক পরে ১৯৭৭ সালের দিকে।

এবং ধিরে ধিরে, ধাপে ধাপে- আসে রিলেশনের ধারণা।

 

DBMS-           DATABSE MANAGEMENT SYSTAM (Access, FoxPro etc).

তারপরে- বিভিন্ন ভার্সন পেরিয়ে আজকের-

RDBMS-        RELATION DATABSE MANAGEMENT SYSTAM (Oracle).

 

 (যদিও বর্তমানে  "ORDBMS"-OBJECT RELATED DATABSE MANAGEMENT SYSTAM (Oracle)  এর ব্যবহার শুরু হয়েছে, )

(ওরাকল কি?)

ওরাকল একটি সফটওয়্যার বা ল্যাঙ্গুয়েজ। প্রোগ্রামিং সফটওয়্যার বা ল্যাঙ্গুয়েজ। High level language / English Like Language (ইংরেজীর মত কমান্ড ব্যবহার করা হয়). বিশ্বের বৃহত্তম ডাটাবেস)। তিন ধরনের ফাইলের সমম্বয়ে ওরাকল ডাটাবেস গঠিত- যথা ঃ ডেটা ফাইল, রিডো লগ ফাইল ও কন্ট্রোল ফাইল।

 

বড় ধরনের তথ্য ব্যবস্থাপনার জন্য অবশ্যই ওরাকলের ডাটাবেসের বিকল্প নেই।মূলতঃ SQL / PL/SQL নিয়েই ওরাকল বা ওরাকল ডাটাবেস। SQL এর মূল বিষয়ের সংগে সমন্বয় করে এবং মূল ভাব ঠিক রেখেই ওরাকল তৈরী করা হয়েছে। ওরাকল বলতে ওরাকল ডাটাবেসকে বুঝায়। সাধরানত ডাটাবেস হিসাবে Back-end এ এটি ব্যবহৃত হয় এবং ওরাকলের Front-end হিসাবে ওরাকল কর্পোরেশনের তৈরী Developer-2000 ব্যবহার করা হয়ে থাকে।

 ধারণা-

১৯৭০ সালে Dr. E. F. CODD নামে এক ব্যক্তি ডাটাবেসের উপর একটি নিবন্ধ প্রকাশ করেন। তাঁরই এই লেখার Ò A RELATIONAL MODEL OF DATA FOR LARGE STORAGE DATA BANK wভত্তিতেই গড়ে ওঠে আমেরিকান প্রতিষ্ঠান ওরাকল কর্পোরেশেন। পর্যায়ক্রমে ওরাকল কর্পোরেশনের ওরাকল ডাটাবেস আজ বিশ্বের এক বৃহত্তম ডাটাবেস সিস্টেম।

ওরাকলের ইতিহাস

১৯৭০ সালে প্রকাশিত DR. E. F. CODD এর সুত্র মতে ১৯৭৭ সালে রিলেশনাল সফটওয়্যার ইনকর্পোরেটেড (RSI) নামে একটি কোম্পানী গঠিত হয় আমেরিকাতে।

 

কোম্পানী গঠনের দুই বছরের মাথায় তারা প্রথম সফটওয়্যার বাজারজাত করেন এবং একই সালে PDP-১১ নামে একটি Software বাজারজাত করেন।

 

সি ল্যাঙ্গুয়েজে লিখিত তাদের তৃতীয় ভার্সন বাজারে আসে ১৯৮৩ সালে এবং একই সালে কোম্পানীটি তাদের পুরাতন নাম পরিবর্তন করে নতুন নাম “ওরাকল কর্পোরেশন” নামে আত্ম প্রকাশ করে। এবং রিলেশনাল ডাটাবেস নিয়ে কাজ শুরু করে।

 ১৯৮৪ সালে চতুর্থ ভার্সন বাজারে আসে।

 ১৯৮৫ সালে SQL.NET নামে বাজারে আসে পঞ্চম ভার্সন, যা নেটওয়ার্কে ব্যবহারের সুবিধা দান করে।

 এবং আরো অনেক ধাপ পেরিয়ে পর্যায়ক্রমে বাজারে আসে- ওরাকল-9i, 10g & 11g.

 ওরাকল ডাটাবেসে মূলতঃ প্রধান দুটি বিষয়ঃ ঝছখ / চখ/ঝছখ. ওরাকলের বেসিক হচ্ছে SQL / PL/SQL.  এই অধ্যায়গুলো ভালো ভাবে আয়ত্তে আনতে হবে দ্বিতীয় অংশে যাওয়ার পূর্বে। এরপর আপনি ডিবিএ (Data Base Administrator) বা ডেভলেপার ট্রাকে যেতে পারেন। এই বইয়ে ডেভালপার টুলস্ নিয়ে আলোচনা করা হয়েছে।

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন