IMS DB (Information Management System Database) হল একটি হায়ারার্কিকাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম, যা IBM দ্বারা তৈরি করা হয়েছে। এটি মূলত মেইনফ্রেম কম্পিউটার-এ ব্যবহৃত হয় এবং ডেটা অ্যাক্সেস ও ট্রানজেকশন প্রসেসিং এর জন্য ব্যবহৃত হয়। IMS DB-এর প্রোগ্রাম তৈরি করতে COBOL, PL/I, Assembler, বা Java ব্যবহার করা যেতে পারে।
এখানে একটি COBOL প্রোগ্রামের উদাহরণ দেখানো হচ্ছে, যা IMS DB-এ গ্রাহক তথ্য রিড এবং আপডেট করে।
১. IMS DB প্রোগ্রাম তৈরি করার জন্য প্রাথমিক উপাদান
- Database Description (DBD): ডেটাবেজের ফিজিক্যাল গঠন সংজ্ঞায়িত করে।
- Program Specification Block (PSB): প্রোগ্রাম ও ডেটাবেজের মধ্যে যোগাযোগের পদ্ধতি সংজ্ঞায়িত করে।
- Access Control Blocks (ACB): ডেটাবেজের অ্যাক্সেস অনুমতি সংজ্ঞায়িত করে।
২. COBOL প্রোগ্রামের উদাহরণ
ধরা যাক, একটি গ্রাহক (Customer) সেগমেন্ট তৈরি করা হয়েছে যেখানে গ্রাহকের তথ্য (যেমন CustomerID, CustomerName, ContactNumber) সঞ্চিত থাকবে। প্রোগ্রামটি গ্রাহকের তথ্য IMS DB থেকে রিড এবং আপডেট করবে।
COBOL প্রোগ্রাম - IMS DB রিড এবং আপডেট
IDENTIFICATION DIVISION.
PROGRAM-ID. IMS-CUSTOMER-PROGRAM.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CUSTOMER-FILE ASSIGN TO IMS-DATABASE.
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE.
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC X(10).
05 CUSTOMER-NAME PIC X(50).
05 CONTACT-NUMBER PIC X(15).
WORKING-STORAGE SECTION.
01 WS-CUSTOMER-ID PIC X(10).
01 WS-CUSTOMER-NAME PIC X(50).
01 WS-CONTACT-NUMBER PIC X(15).
PROCEDURE DIVISION.
OPEN INPUT CUSTOMER-FILE.
** গ্রাহকের তথ্য রিড করা **
MOVE 'CUST12345' TO WS-CUSTOMER-ID.
EXEC DLI
GU CUSTOMER_PSB, WS-CUSTOMER-ID, CUSTOMER-RECORD
END-EXEC.
** যদি গ্রাহকের তথ্য পাওয়া যায়, তাহলে আপডেট করা **
IF WS-CUSTOMER-NAME NOT = ' '
MOVE 'New Contact Number' TO CONTACT-NUMBER
EXEC DLI
REPL CUSTOMER_PSB, WS-CUSTOMER-ID, CUSTOMER-RECORD
END-EXEC
END-IF.
CLOSE CUSTOMER-FILE.
STOP RUN.
৩. প্রোগ্রাম ব্যাখ্যা
- Identification Division:
প্রোগ্রামের নাম এবং অন্যান্য তথ্য সংজ্ঞায়িত করা হয়। - Environment Division:
IMS ডেটাবেসের সাথে সংযোগ স্থাপন করার জন্য ফাইল সেটিংস করা হয়। - Data Division:
এখানে ডেটার গঠন (ফাইল সেকশন) এবং প্রোগ্রামের মধ্যে ব্যবহৃত কর্মী-স্টোরেজ (working-storage) ডেটা সংজ্ঞায়িত করা হয়। - Procedure Division:
প্রোগ্রামটির কার্যকরী অংশ।- প্রথমে ডেটাবেস থেকে গ্রাহক তথ্য রিড করা হয়।
- তারপর, যদি গ্রাহকের তথ্য পাওয়া যায়, তবে গ্রাহকের কন্টাক্ট নম্বর আপডেট করা হয়।
EXEC DLI কমান্ড:
- GU (Get Unique): ডেটাবেস থেকে গ্রাহকের তথ্য রিড করার জন্য ব্যবহৃত হয়।
- REPL (Replace): ডেটাবেসে বিদ্যমান গ্রাহকের তথ্য আপডেট করার জন্য ব্যবহৃত হয়।
৪. ফাইল ডেফিনিশন (FD) এবং PSB সেটআপ
IMS DB-এ ডেটাবেস অ্যাক্সেসের জন্য PSB এবং DBD ফাইল সঠিকভাবে কনফিগার করা প্রয়োজন। একটি উদাহরণ হিসেবে, DBD এবং PSB এর কনফিগারেশন দেখানো হলো।
Database Description (DBD) ফাইল উদাহরণ:
SEGMENT CUSTOMER
CUSTOMER_ID PIC X(10)
CUSTOMER_NAME PIC X(50)
CONTACT_NUMBER PIC X(15)
Program Specification Block (PSB) ফাইল উদাহরণ:
PSB CUSTOMER_PSB
DBDNAME CUSTOMER_DBD
ACCESS METHOD SEQUENTIAL
CALLING PROGRAM CUSTOMER_PROG
৫. IMS DB প্রোগ্রামের অন্যান্য উদাহরণ
ট্রানজেকশন প্রক্রেসিং
প্রোগ্রামটি গ্রাহকের ট্রানজেকশন রেকর্ড প্রসেস করতে পারে। উদাহরণস্বরূপ, একটি ব্যাংক অ্যাকাউন্টে ট্রানজেকশন রিড এবং আপডেট করা।
অর্ডার প্রসেসিং
অর্ডার সেগমেন্ট থেকে তথ্য রিড এবং আপডেট করা। নতুন অর্ডার ইনসার্ট করার জন্য ISRT কমান্ড ব্যবহার করা হয়।
সারাংশ
IMS DB প্রোগ্রামিং হল একটি শক্তিশালী পদ্ধতি যেখানে COBOL, PL/I, বা Assembler এর মাধ্যমে ডেটাবেস অ্যাক্সেস ও ম্যানিপুলেশন করা হয়। এখানে ডেটার হায়ারার্কিকাল মডেল ব্যবহার করা হয়, যেখানে প্যারেন্ট-চাইল্ড সম্পর্ক অনুসারে ডেটা সংরক্ষিত থাকে এবং অ্যাক্সেস করা হয়। EXEC DLI কমান্ডের মাধ্যমে IMS DB থেকে রেকর্ড রিড, আপডেট, ইনসার্ট বা ডিলিট করা হয়।
Read more