COBOL-এ SELECT এবং ASSIGN ক্লজ এর মাধ্যমে Indexed Files ডিক্লারেশন
COBOL-এ Indexed Files ডেটা ফাইলগুলি ব্যবহারকারীর জন্য একটি দ্রুত এবং কার্যকরী পদ্ধতি প্রদান করে যেখানে ফাইলের মধ্যে ডেটা দ্রুত অ্যাক্সেস করা যায়। SELECT এবং ASSIGN ক্লজগুলি Indexed Files ডিক্লেয়ার করার সময় ব্যবহৃত হয়। এগুলি ফাইলের শর্ত এবং তার সাথে সম্পর্কিত অ্যাক্সেস পদ্ধতি নির্ধারণ করে।
COBOL-এ Indexed Files সাধারণত INDEXED BY ক্লজ ব্যবহার করে ডিফাইন করা হয়, যা ফাইলের মধ্যে ডেটা নির্দিষ্ট ইন্ডেক্সের মাধ্যমে অ্যাক্সেস করা সম্ভব করে।
SELECT ক্লজ
COBOL-এ SELECT ক্লজটি ফাইলের জন্য একটি লজিক্যাল নাম ডিফাইন করার জন্য ব্যবহৃত হয় এবং এটি ফাইলের ধরন নির্ধারণ করে।
Syntax:
SELECT file-name ASSIGN TO physical-file-name
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS record-key
FILE STATUS IS file-status-variable.file-name: লজিক্যাল নাম যা ফাইলের সাথে সম্পর্কিত।physical-file-name: ফাইলের শারীরিক অবস্থান বা স্থান (যেমন ফাইলের পথ বা নাম)।ORGANIZATION IS INDEXED: ফাইলের ধরন নির্ধারণ করে (এখানে এটি Indexed ফাইল হিসেবে ডিফাইন করা হয়েছে)।ACCESS MODE IS SEQUENTIAL: এটি ফাইলের ডেটা অ্যাক্সেস করার পদ্ধতি (এটি Sequential বা Random হতে পারে)।RECORD KEY IS record-key: এটি ফাইলের রেকর্ডের কী বা ইন্ডেক্স ফিল্ড।FILE STATUS IS file-status-variable: ফাইলের স্টেটাস বা তার অবস্থা (যেমন, ফাইল খোলা, বন্ধ ইত্যাদি)।
ASSIGN ক্লজ
ASSIGN ক্লজটি ফাইলের শারীরিক অবস্থান নির্ধারণ করে এবং এই ক্লজের মাধ্যমে আপনি ফাইলটি সিস্টেম বা ডিভাইসে অ্যাসাইন করতে পারেন।
Syntax:
ASSIGN TO 'file-path''file-path': এখানে ফাইলের সঠিক অবস্থান বা পাথ উল্লেখ করা হয়, যেমনC:\data\indexfile.datঅথবাindexfile.dat।
Indexed File ডিক্লারেশন উদাহরণ
উদাহরণ ১: Indexed File ডিক্লারেশন এবং অ্যাক্সেস পদ্ধতি
SELECT CUSTOMER-FILE ASSIGN TO 'CUSTFILE.DAT'
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS CUSTOMER-ID
FILE STATUS IS FILE-STATUS.ব্যাখ্যা:
- এখানে
CUSTOMER-FILEএকটি Indexed ফাইল হিসেবে ডিফাইন করা হয়েছে। ASSIGN TO 'CUSTFILE.DAT'দ্বারা ফাইলের শারীরিক অবস্থান দেওয়া হয়েছে।ORGANIZATION IS INDEXEDদ্বারা ফাইলের আর্কিটেকচার Indexed ফাইল হিসেবে চিহ্নিত করা হয়েছে।ACCESS MODE IS RANDOMদ্বারা ফাইলের মধ্যে Random Access অনুমোদিত করা হয়েছে (এটি Indexed File এর জন্য সাধারণ পদ্ধতি)।RECORD KEY IS CUSTOMER-IDদ্বারাCUSTOMER-IDফিল্ডটি ফাইলের রেকর্ড কী বা ইনডেক্স হিসেবে ব্যবহার করা হচ্ছে।FILE STATUS IS FILE-STATUSদ্বারা ফাইলের অবস্থা নির্ধারণ করা হচ্ছে, যাতে ফাইল অপারেশন চলাকালে যে কোনো ত্রুটি সম্পর্কে জানা যাবে।
Indexed File এর সাথে ডেটা ম্যানিপুলেশন
Indexed Files সাধারণত READ, WRITE, REWRITE, এবং DELETE অপারেশনগুলোর জন্য ব্যবহৃত হয়, এবং এগুলি Indexed Access Mode ব্যবহার করে দ্রুত ডেটা অ্যাক্সেস করতে সহায়তা করে।
উদাহরণ ২: Indexed File এ রেকর্ড পড়া
01 CUSTOMER-ID PIC 9(5).
01 CUSTOMER-NAME PIC X(30).
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
PROCEDURE DIVISION.
OPEN I-O CUSTOMER-FILE
MOVE 12345 TO CUSTOMER-ID
READ CUSTOMER-FILE
INVALID KEY
DISPLAY 'Record not found'
NOT INVALID KEY
DISPLAY 'Record found: ' CUSTOMER-NAME
CLOSE CUSTOMER-FILE.
STOP RUN.ব্যাখ্যা:
- এই উদাহরণে
READ CUSTOMER-FILEব্যবহার করা হয়েছে, যেখানে ফাইলের মধ্যেCUSTOMER-IDএর মাধ্যমে ডেটা অ্যাক্সেস করা হচ্ছে। INVALID KEYচেক করছে যে রেকর্ড পাওয়া গেছে কিনা।
Indexed File এর ক্ষেত্রে ভিন্ন ACCESS MODE
Indexed File-এ ACCESS MODE পরিবর্তন করে বিভিন্ন অপারেশন করা যেতে পারে:
- SEQUENTIAL: ফাইলের ডেটা একে একে পড়া বা লেখা। এটি Indexed File এর জন্য কম ব্যবহৃত হয়, তবে Sequential File এর জন্য বেশি উপযুক্ত।
- RANDOM: একটি নির্দিষ্ট রেকর্ডের কী বা ইনডেক্স ব্যবহার করে দ্রুত রেকর্ড অ্যাক্সেস করা।
- DYNAMIC: রেকর্ডগুলি যে কোনো সিরিয়াল বা র্যান্ডম অ্যাক্সেস পদ্ধতিতে পাওয়া যায়।
সারসংক্ষেপ
| অপারেশন | বর্ণনা |
|---|---|
| SELECT | ফাইলের লজিক্যাল নাম, শারীরিক অবস্থান, ফাইলের আর্কিটেকচার এবং কন্ট্রোল অপশন নির্ধারণ করে। |
| ASSIGN | ফাইলের শারীরিক অবস্থান বা পাথ নির্ধারণ করে, যেমন ফাইল সিস্টেম বা ডিভাইস। |
| Indexed File | Indexed Files ডেটা দ্রুত অ্যাক্সেস করতে সাহায্য করে, যেখানে রেকর্ড কী বা ইনডেক্স ব্যবহৃত হয়। |
Indexed Files COBOL-এ ডেটার দ্রুত অ্যাক্সেস ও ম্যানিপুলেশনের জন্য একটি কার্যকরী পদ্ধতি, যা SELECT এবং ASSIGN ক্লজের মাধ্যমে ডিক্লেয়ার করা হয়। এটি ডেটার র্যান্ডম অ্যাক্সেসের জন্য উপযুক্ত, বিশেষ করে যখন ডেটার মধ্যে দ্রুত অনুসন্ধান এবং আপডেট প্রয়োজন হয়।
Read more