Database Views তৈরি এবং ব্যবহার

Microsoft Technologies - এন্টিটি ফ্রেমওয়র্ক (Entity Framework) Stored Procedure এবং View ব্যবহার করা |
198
198

Database Views হল ডেটাবেসের একটি ভার্চুয়াল টেবিল, যা মূল ডেটাবেস টেবিল থেকে নির্বাচিত ডেটাকে একটি নির্দিষ্ট উপস্থাপনায় প্রদর্শন করে। একটি View সাধারণত SQL কুয়েরি বা স্টোরড প্রোসিজার (Stored Procedure) হিসেবে তৈরি করা হয়, যা একাধিক টেবিলের ডেটাকে একত্রিত করে বা বিশেষভাবে সাজিয়ে একটি নির্দিষ্ট আউটপুট প্রদান করে। Entity Framework (EF) এ Views ব্যবহার করা অনেকটা স্টোরড প্রোসিজারের মতো, তবে এখানে মূল লক্ষ্য হল ডেটা নির্বাচন এবং ফরম্যাটিং, যা ডেটাবেসের বিভিন্ন অংশে পুনরায় ব্যবহার করা যায়।


Database View কী?

একটি Database View আসলে একটি সিলেক্ট কুয়েরির ফলাফল হিসেবে কাজ করে, যেটি ডেটাবেসের টেবিলগুলির ওপর ভিত্তি করে তৈরি করা হয়। এটি মূলত ভার্চুয়াল টেবিল, কারণ এটি ডেটাবেসের কোনো বাস্তব টেবিলের মতো সংরক্ষিত হয় না, তবে কেবল একটি SQL কুয়েরি বা ডেটাবেসের ডেটার নির্দিষ্ট উপস্থাপনা হিসেবে কাজ করে।

View তৈরি করতে গিয়ে, আপনি সাধারণত এক বা একাধিক টেবিলের ডেটা একত্রিত করবেন, এবং সেই ডেটা প্রদর্শনের জন্য একটি নির্দিষ্ট কাঠামো তৈরির চেষ্টা করবেন।


Database Views তৈরি করা

ডেটাবেসে View তৈরি করতে SQL ব্যবহার করা হয়। Entity Framework (EF) এ View তৈরি করা এবং তারপরে ব্যবহার করার প্রক্রিয়া নিম্নরূপ:

১. SQL তে View তৈরি করা

প্রথমে, ডেটাবেসে View তৈরি করতে হয়। ধরুন, একটি সেলস রিপোর্ট তৈরি করতে চান, যেখানে পণ্য এবং বিক্রির তথ্য একত্রিত করা হবে। একটি সাধারণ View তৈরির SQL কুয়েরি হতে পারে:

CREATE VIEW SalesReport AS
SELECT ProductName, SUM(Quantity) AS TotalQuantity, SUM(TotalPrice) AS TotalSales
FROM Sales
JOIN Products ON Sales.ProductID = Products.ProductID
GROUP BY ProductName;

এই কুয়েরিটি SalesReport নামে একটি View তৈরি করবে, যেখানে পণ্যের বিক্রি এবং মোট বিক্রির পরিমাণ দেওয়া থাকবে।

২. Entity Framework মডেলে View যোগ করা

EF-এর মধ্যে, View এর সাথে মডেল কনফিগারেশন করার জন্য আপনাকে কেবল View এর ডেটা রিড করার জন্য একটি ক্লাস তৈরি করতে হবে। মনে রাখবেন, View কে Entity হিসেবে ব্যবহার করার জন্য আপনাকে DbSet তৈরি করতে হবে, যদিও এটি সাধারণত Read-Only।

public class SalesReport
{
    public string ProductName { get; set; }
    public int TotalQuantity { get; set; }
    public decimal TotalSales { get; set; }
}

public class ApplicationDbContext : DbContext
{
    public DbSet<SalesReport> SalesReports { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        // View এর জন্য ডেটাবেস মডেল কনফিগারেশন
        modelBuilder.Entity<SalesReport>(entity =>
        {
            entity.HasNoKey();  // View এ কোনো প্রাইমারি কী থাকে না
            entity.ToView("SalesReport");  // View এর নাম উল্লেখ
        });
    }
}

৩. View থেকে ডেটা রিড করা

একবার View তৈরি এবং মডেলে কনফিগার করা হলে, আপনি Entity Framework এর মাধ্যমে সহজেই View থেকে ডেটা রিড করতে পারবেন।

using (var context = new ApplicationDbContext())
{
    var salesReports = context.SalesReports.ToList();
    foreach (var report in salesReports)
    {
        Console.WriteLine($"Product: {report.ProductName}, Total Quantity: {report.TotalQuantity}, Total Sales: {report.TotalSales}");
    }
}

এই কোডটি SalesReport View থেকে ডেটা রিড করবে এবং তারপরে তা প্রদর্শন করবে।


Database Views এর ব্যবহার

১. ডেটা অ্যাবস্ট্রাকশন (Data Abstraction)

Views আপনাকে মূল টেবিলের ডেটা অ্যাবস্ট্রাক্ট করতে সাহায্য করে, যার ফলে একাধিক টেবিলের ডেটাকে একটি সোজা ও পরিষ্কার উপস্থাপনায় রেন্ডার করা যায়। এর মাধ্যমে আপনি ডেটাবেসের কাঠামো থেকে ব্যবহারকারীদের দূরে রাখতে পারেন এবং কেবল প্রয়োজনীয় ডেটাই প্রদর্শন করতে পারেন।

২. কনসোলিডেটেড ডেটা (Consolidated Data)

Views ব্যবহার করে একাধিক টেবিলের ডেটা একত্রিত করা যায় এবং সেই ডেটাকে একটি সহজ ও ব্যবহারযোগ্য ফরম্যাটে উপস্থাপন করা যায়। এটি বিশেষভাবে তখন কার্যকরী হয়, যখন আপনাকে ডেটাবেসের মধ্যে সম্পর্কিত টেবিলের ডেটা একত্রিত করতে হয়।

৩. ডেটা রিড-অনলি (Read-Only Data)

Views সাধারণত Read-Only হয়ে থাকে, অর্থাৎ আপনি Views থেকে ডেটা রিড করতে পারেন, তবে তাতে ডেটা ইনসার্ট, আপডেট বা ডিলিট করতে পারবেন না। এর মানে হল, যে ডেটা ব্যবহারকারীদের দেখানো হচ্ছে তা পূর্বে তৈরি হওয়া এবং কার্যকরী ডেটাবেস টেবিল থেকে একত্রিত।

৪. পারফরম্যান্স অপটিমাইজেশন

Views ব্যবহার করে আপনি নির্দিষ্ট ধরনের জটিল কুয়েরি পুনরাবৃত্তি করতে পারবেন, এবং তা সরাসরি ডেটাবেসে সংরক্ষণ করে রাখতে পারবেন। এতে ডেটাবেসে সিলেক্ট কুয়েরি প্রক্রিয়া দ্রুত হয়, কারণ Views আগে থেকেই প্রিপেয়ার্ড থাকে।


Entity Framework এ Stored Procedure এবং View পরিচালনা

Stored Procedure এবং Views এ কাজ করার জন্য Entity Framework-এর মধ্যে কিছু সীমাবদ্ধতা রয়েছে, তবে আপনি FromSqlRaw বা ExecuteSqlRaw এর মতো মেথড ব্যবহার করে এগুলোকে সমর্থন দিতে পারেন। এই মেথডগুলো সরাসরি SQL স্টেটমেন্ট ব্যবহার করতে সাহায্য করে।

var salesReports = context.SalesReports.FromSqlRaw("SELECT * FROM SalesReport").ToList();

সারাংশ

Entity Framework-এ Database Views হল শক্তিশালী টুল যা ডেটা একত্রিত, প্রসেস, এবং উপস্থাপনা করতে সাহায্য করে। আপনি Views ব্যবহার করে জটিল কুয়েরি অপারেশনগুলো ডেটাবেস স্তরে অগ্রসর করতে পারেন এবং এটি ডেটার রিড-অনলি অ্যাক্সেস প্রদান করে। Views এবং EF-এর মডেল কনফিগারেশন করার মাধ্যমে আপনি ডেটাবেসের কাঠামো ও ডেটা ম্যানেজমেন্টকে আরও কার্যকরী এবং অপটিমাইজড করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion