: SQL Views

Title: SQL Views
অনুবাদক: ফয়সাল রকি (এম.এ)
Total words in the article: 478

SQL এ view বলতে virtual table এর view কে বোঝায়, অর্থাৎ real table কে virtually দেখানো হয়।
কিভাবে view create, update বা delete করা হয় তা এই অধ্যায়ে আলোচনা করা হবে।

SQL CREATE VIEW Statement
SQL statement এর result-set এর উপর ভিত্তি করে virtual table তৈরির মাধ্যমে view দেখানো হয়।
View এর ক্ষেত্রে real table এর মতোই rows এবং columns থাকে। View এর fields গুলো database এর এক বা একাধিক real table হতে নেয়া হয়।
view এবং present করার ক্ষেত্রে যদি একটি মাত্র table হতে data নেয়া হয় তাহলে WHERE ও JOIN এর মতো SQL functions গুলো add করা যাবে।

SQL CREATE VIEW Syntax
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
নোট: view এর মাধ্যমে সবর্দাই হালনাগাদ বা up-to-date data দেখানো হয়। কোনো user যখন SQL statement view এর জন্য query করে তখন database engine ডাটাকে recreate করে দেখায়।

SQL CREATE VIEW Examples
আপনার কাছে যদি Northwind database টি থাকে তাহলে আপনি দেখবেন যে সেখানে by default অনেকগুলো view ইন্সটল রয়েছে।
"Current Product List" View টিতে শুধুমাত্র active product গুলোকে দেখানো হয়, অর্থাৎ যেসকল product active নয় বা পরবর্তীতে discontinue করেছে সেগুলোকে দেখানো হয়নি। নিম্নোক্ত SQL এর সাহায্যে View টি প্রস্তুত করা হয়েছে।
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

আমরা এই View টি নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Current Product List]

Northwind sample database এর অন্য আরেকটি View এর ক্ষেত্রে "Products" table এর যেসকল Product এর unit price গড় বা average unit price এর চেয়ে বেশি সেগুলোকে নিম্নোক্তভাবে দেখানো যায়:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)

আমরা এই View টি নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Products Above Average Price]

Northwind sample database এর অন্য আরেকটি View এর ক্ষেত্রে প্রত্যেক category তে 1997 সালের মোট বিক্রয় বা total sale এর calculation দেখানো হয়েছে। এখানে উল্লেখ্য যে, এই View এর ডাটাগুলো অন্য আরেকটি View "Product Sales for 1997" হতে নেয়া হয়।
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName

আমরা এই View টি নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Category Sales For 1997]
আমরা এই query তে condition যোগ করতে পারি। আমরা শুধূ মাত্র "Beverages" Category এর total sale দেখার জন্য নিম্নোক্তভাবে query করতে পারি।
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'

SQL Updating a View
নিম্নোক্ত syntax ব্যবহার করে View কে update করা যেতে পারে।

SQL CREATE অথবা REPLACE VIEW Syntax
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

এখন যদি আমরা "Current Product List" view এ "Category" column টি যোগ করতে চাই, তাহলে নিম্নোক্ত SQL এর মাধ্যমে View টিকে update করতে হবে।
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

SQL Dropping a View
DROP VIEW command এর সাহায্যে কোনো View কে delete করা যায়।
SQL DROP VIEW Syntax
DROP VIEW view_name

Permanent link to this article: http://bangla.sitestree.com/sql-views/

Leave a Reply