COBOL এ Indexed Files এর মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন তৈরি
Indexed Files COBOL-এ ব্যবহৃত একটি গুরুত্বপূর্ণ ডেটা স্টোরেজ প্রযুক্তি যা ফাইলের মধ্যে নির্দিষ্ট কীগুলোর সাহায্যে দ্রুত অনুসন্ধান এবং অ্যাক্সেস নিশ্চিত করে। এটি সাধারণত বড় পরিমাণ ডেটা সঞ্চয় এবং দ্রুত ডেটা পুনরুদ্ধারের জন্য ব্যবহৃত হয়। Indexed Files-এর মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন তৈরি করার সময় বিভিন্ন রেকর্ডকে একটি নির্দিষ্ট কীর মাধ্যমে অ্যাক্সেস করা হয়, যা ফাইলের মধ্যে খুঁজে পাওয়া যায়।
COBOL-এ Indexed File তৈরি এবং ডেটা প্রক্রিয়া করার জন্য মূলত INDEXED, KEY, FILENAME, READ, WRITE, REWRITE, এবং DELETE স্টেটমেন্টগুলি ব্যবহৃত হয়। এখানে একটি Indexed File তৈরি এবং তার মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন ব্যবহার করার উদাহরণ দেওয়া হলো।
উদাহরণ: Indexed File ডেটাবেস অ্যাপ্লিকেশন
এই উদাহরণে, আমরা একটি Indexed File তৈরি করব যেখানে গ্রাহকদের তথ্য (যেমন গ্রাহক আইডি, নাম এবং বয়স) সঞ্চয় করা হবে। গ্রাহক আইডি (Customer ID) এখানে মূল কী (key) হিসেবে ব্যবহার করা হবে, যার মাধ্যমে আমরা দ্রুত গ্রাহকদের তথ্য অনুসন্ধান করতে পারব।
ফাইল ডেফিনিশন এবং Indexed File তৈরি:
IDENTIFICATION DIVISION.
PROGRAM-ID. IndexedFileExample.
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE.
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(4).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-AGE PIC 99.
WORKING-STORAGE SECTION.
01 END-FILE PIC X VALUE 'N'.
01 KEY-VALUE PIC 9(4).
PROCEDURE DIVISION.
OPEN I/O CUSTOMER-FILE
PERFORM MENU
CLOSE CUSTOMER-FILE
STOP RUN.
MENU.
DISPLAY "Choose an option:"
DISPLAY "1. Add new customer"
DISPLAY "2. Read customer by ID"
DISPLAY "3. Exit"
ACCEPT KEY-VALUE
IF KEY-VALUE = 1
PERFORM ADD-CUSTOMER
ELSE IF KEY-VALUE = 2
PERFORM READ-CUSTOMER
ELSE
MOVE 'Y' TO END-FILE
END-IF.
ADD-CUSTOMER.
DISPLAY "Enter Customer ID: "
ACCEPT CUSTOMER-ID
DISPLAY "Enter Customer Name: "
ACCEPT CUSTOMER-NAME
DISPLAY "Enter Customer Age: "
ACCEPT CUSTOMER-AGE
WRITE CUSTOMER-RECORD
DISPLAY "Customer added successfully."
READ-CUSTOMER.
DISPLAY "Enter Customer ID to search: "
ACCEPT CUSTOMER-ID
READ CUSTOMER-FILE
KEY IS CUSTOMER-ID
AT END
DISPLAY "Customer not found."
NOT AT END
DISPLAY "Customer Name: " CUSTOMER-NAME
DISPLAY "Customer Age: " CUSTOMER-AGE
END-READ.ব্যাখ্যা:
- FILE SECTION:
- CUSTOMER-FILE: Indexed File এর জন্য ফাইল ডিফাইন করা হয়েছে।
- CUSTOMER-RECORD: গ্রাহকের আইডি, নাম এবং বয়স ধারণ করার জন্য রেকর্ড ডিফাইন করা হয়েছে।
- WORKING-STORAGE SECTION:
- END-FILE: ব্যবহারকারী যখন প্রোগ্রাম বন্ধ করতে চায়, তখন এই ভেরিয়েবলটি চেক করা হবে।
- KEY-VALUE: ব্যবহারকারীর ইনপুটের জন্য একটি ভেরিয়েবল যা বিভিন্ন অপশন চিহ্নিত করবে (যেমন নতুন গ্রাহক যোগ করা বা গ্রাহক অনুসন্ধান করা)।
- PROCEDURE DIVISION:
- OPEN I/O CUSTOMER-FILE: ফাইলটি ইনপুট/আউটপুট মোডে খোলা হয়েছে, যাতে ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা যায়।
- ADD-CUSTOMER: নতুন গ্রাহক যোগ করার জন্য একটি প্রক্রিয়া তৈরি করা হয়েছে। গ্রাহক আইডি, নাম, এবং বয়স ইনপুট নেয়ার পর ফাইলে লেখা হবে।
- READ-CUSTOMER: গ্রাহক অনুসন্ধানের জন্য একটি প্রক্রিয়া তৈরি করা হয়েছে। ইনপুট গ্রাহক আইডি দিয়ে ফাইল থেকে সেই গ্রাহকের তথ্য অনুসন্ধান করা হবে।
- Indexed File:
- এখানে গ্রাহক আইডি CUSTOMER-ID হিসেবে ব্যবহৃত হয়েছে, যা ফাইলের মধ্যে গ্রাহকের রেকর্ড অনুসন্ধান করতে ব্যবহৃত হবে।
Indexed File ডেটাবেস অ্যাপ্লিকেশন সম্পর্কিত কিছু গুরুত্বপূর্ণ পয়েন্ট:
- ফাইল আর্কিটেকচার: Indexed File ফাইলের মধ্যে রেকর্ডগুলো কীগুলির ভিত্তিতে সাজানো থাকে, যাতে নির্দিষ্ট কীর মাধ্যমে দ্রুত এক্সেস করা যায়।
- কী ব্যবহার: COBOL-এ KEY নির্দেশক ব্যবহার করে ফাইলের মধ্যে সঠিক রেকর্ডে দ্রুত পৌঁছানো সম্ভব।
- ফাইল ম্যানিপুলেশন:
- READ: ফাইল থেকে রেকর্ড পড়ার জন্য ব্যবহৃত হয়, যেখানে KEY IS স্টেটমেন্টের মাধ্যমে কী ব্যবহার করা হয়।
- WRITE: নতুন রেকর্ড লেখার জন্য ব্যবহৃত হয়।
- REWRITE: বিদ্যমান রেকর্ড আপডেট করার জন্য ব্যবহৃত হয়।
- DELETE: রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়।
সারসংক্ষেপ
COBOL-এ Indexed Files এর মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন তৈরি একটি গুরুত্বপূর্ণ পদ্ধতি, যা ডেটার দ্রুত অনুসন্ধান এবং কার্যকরীভাবে ডেটা ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। KEY এবং INDEXED FILE ব্যবহার করে বিভিন্ন রেকর্ড দ্রুত সনাক্ত করা যায় এবং প্রয়োজন অনুসারে তা ম্যানিপুলেট করা সম্ভব। COBOL-এর Indexed Files ডেটাবেস অ্যাপ্লিকেশন তৈরির ক্ষেত্রে খুবই কার্যকরী, বিশেষ করে যখন ডেটা বড় আকারে থাকে এবং দ্রুত প্রবেশাধিকার প্রয়োজন হয়।
Read more