Object-Oriented PL/SQL এর উদাহরণ

PL/SQL Object Types এবং Object-Oriented Features - পিএল/এসকিউএল (PL/SQL) - Database Tutorials

461

PL/SQL-এ Object-Oriented Programming (OOP) ধারণা কিছুটা সীমিত আকারে ব্যবহার করা যায়, যেখানে আমরা Object Types, Methods, এবং Constructors তৈরি করতে পারি। PL/SQL-এ Object-Oriented PL/SQL একটি শক্তিশালী উপায় হতে পারে যখন আপনি ডেটাবেসে অবজেক্ট ভিত্তিক পদ্ধতিতে ডেটা পরিচালনা করতে চান।

PL/SQL-এ Object-Oriented Programming এর মাধ্যমে আপনি বিভিন্ন ধরনের Objects (অবজেক্ট টাইপ) তৈরি করতে পারেন, যা ডেটা এবং তার সাথে সম্পর্কিত কার্যক্রম (Methods) সংরক্ষণ করে। এর মাধ্যমে আপনি ডেটাবেসে অবজেক্টের মতো কাজ করতে পারবেন।


PL/SQL Object Types:

PL/SQL Object Types দুটি অংশে বিভক্ত হয়:

  1. Specification (Specification Section): এখানে Object Type এর বৈশিষ্ট্য এবং মেথডের ঘোষণা করা হয়।
  2. Body (Body Section): এখানে Object Type এর কার্যকরী মেথড এবং ফাংশনগুলির বাস্তবায়ন থাকে।

Object Type Definition (Specification Section):

-- Object type definition
CREATE OR REPLACE TYPE Employee AS OBJECT (
   emp_id       NUMBER,
   emp_name     VARCHAR2(50),
   emp_salary   NUMBER,
   
   -- Constructor to initialize the object
   CONSTRUCTOR FUNCTION Employee(p_emp_id NUMBER, p_emp_name VARCHAR2, p_emp_salary NUMBER) 
   RETURN SELF AS RESULT,
   
   -- Method to display employee information
   MEMBER FUNCTION display_info RETURN VARCHAR2
);

Object Type Body (Body Section):

-- Object type body definition
CREATE OR REPLACE TYPE BODY Employee AS

   -- Constructor to initialize Employee object
   CONSTRUCTOR FUNCTION Employee(p_emp_id NUMBER, p_emp_name VARCHAR2, p_emp_salary NUMBER) 
   RETURN SELF AS RESULT IS
   BEGIN
      SELF.emp_id := p_emp_id;
      SELF.emp_name := p_emp_name;
      SELF.emp_salary := p_emp_salary;
      RETURN;
   END Employee;
   
   -- Method to display employee information
   MEMBER FUNCTION display_info RETURN VARCHAR2 IS
   BEGIN
      RETURN 'Employee Name: ' || SELF.emp_name || ', Salary: ' || SELF.emp_salary;
   END display_info;

END Employee;

Object-Oriented PL/SQL ব্যবহার:

PL/SQL-এ Object-Oriented ধারণা ব্যবহার করার জন্য প্রথমে আপনাকে একটি Object Type তৈরি করতে হবে। তারপর সেই Object Type এর Constructor এবং Methods ব্যবহার করে আপনাকে ডেটা কাজ করতে হবে।

Object-ইনস্ট্যান্স তৈরি এবং Method ব্যবহার করা:

DECLARE
   -- Declare an instance of the Employee object
   emp1 Employee;
   emp_info VARCHAR2(100);
BEGIN
   -- Creating an instance of the Employee object using the constructor
   emp1 := Employee(101, 'John Doe', 50000);
   
   -- Calling the display_info method to fetch employee information
   emp_info := emp1.display_info;
   
   -- Displaying employee information
   DBMS_OUTPUT.PUT_LINE(emp_info);
END;

এখানে:

  1. Employee একটি Object Type, যা কর্মচারী (Employee) এর তথ্য সংরক্ষণ করতে ব্যবহৃত হয়।
  2. emp1 হল সেই Object এর ইনস্ট্যান্স, যা Employee কনস্ট্রাক্টর ফাংশনের মাধ্যমে তৈরি করা হয়েছে।
  3. emp1.display_info মেথডটি emp1 অবজেক্টের তথ্য প্রদর্শন করতে ব্যবহৃত হচ্ছে।

Output:

Employee Name: John Doe, Salary: 50000

PL/SQL Object Types এর আরও উদাহরণ:

১. Voter Object Type:

-- Create Object Type Voter
CREATE OR REPLACE TYPE Voter AS OBJECT (
   voter_id   NUMBER,
   name       VARCHAR2(50),
   age        NUMBER,
   CONSTRUCTOR FUNCTION Voter(p_voter_id NUMBER, p_name VARCHAR2, p_age NUMBER) RETURN SELF AS RESULT,
   MEMBER FUNCTION is_eligible RETURN BOOLEAN
);

Voter Object Type Body:

-- Body for the Voter object type
CREATE OR REPLACE TYPE BODY Voter AS

   -- Constructor to initialize the Voter object
   CONSTRUCTOR FUNCTION Voter(p_voter_id NUMBER, p_name VARCHAR2, p_age NUMBER) 
   RETURN SELF AS RESULT IS
   BEGIN
      SELF.voter_id := p_voter_id;
      SELF.name := p_name;
      SELF.age := p_age;
      RETURN;
   END Voter;
   
   -- Method to check if the voter is eligible to vote
   MEMBER FUNCTION is_eligible RETURN BOOLEAN IS
   BEGIN
      IF SELF.age >= 18 THEN
         RETURN TRUE;
      ELSE
         RETURN FALSE;
      END IF;
   END is_eligible;

END Voter;

Voter Object Use:

DECLARE
   v1 Voter;
   eligibility BOOLEAN;
BEGIN
   -- Creating an instance of Voter object
   v1 := Voter(1, 'Alice', 25);
   
   -- Checking eligibility
   eligibility := v1.is_eligible;
   
   IF eligibility THEN
      DBMS_OUTPUT.PUT_LINE(v1.name || ' is eligible to vote.');
   ELSE
      DBMS_OUTPUT.PUT_LINE(v1.name || ' is not eligible to vote.');
   END IF;
END;

Output:

Alice is eligible to vote.

Object-Oriented PL/SQL এর সুবিধা:

  1. Encapsulation: Object-Oriented PL/SQL এ Encapsulation ধারণাটি মেনে চলে, যেখানে ডেটা (Attributes) এবং কার্যকলাপ (Methods) একত্রে সংরক্ষণ করা হয়।
  2. Code Reusability: একবার একটি Object Type তৈরি করার পর সেটি বিভিন্ন জায়গায় পুনরায় ব্যবহার করা যেতে পারে।
  3. Maintainability: Object-Oriented প্রোগ্রামিং কোড ব্যবস্থাপনাকে সহজ করে তোলে, কারণ অবজেক্ট এবং মেথডের মধ্যে সম্পর্ক পরিষ্কার থাকে।
  4. Extensibility: নতুন ফিচার বা মেথড যোগ করা সহজ, কারণ OOP-এ এক্সটেনশন করার ক্ষমতা থাকে।

সারাংশ:

PL/SQL Object-Oriented Programming (OOP) আপনাকে Object Types, Methods, এবং Constructors তৈরি করার সুবিধা দেয়। এর মাধ্যমে আপনি ডেটাবেসের ভিতরে অবজেক্ট-ভিত্তিক পদ্ধতিতে কাজ করতে পারেন এবং এর সাহায্যে ডেটা ম্যানিপুলেশন আরও সিস্টেমেটিক এবং কার্যকরী হয়। OOP এর সুবিধাগুলির মধ্যে Encapsulation, Code Reusability, এবং Maintainability রয়েছে, যা কোডের গঠন এবং কার্যক্ষমতা উন্নত করতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...