VIEW (نمای) SQL

نمونه‌ها جداول ویدئایی هستند.

این فصل به توضیح نحوه ایجاد، به‌روزرسانی و حذف نمونه‌ها می‌پردازد.

دستور SQL CREATE VIEW

چه نمونه‌ای است؟

در SQL، نمونه‌ها جدول‌های ویدئایی بر اساس نتایج دستورات SQL هستند.

نمونه‌ها شامل ردیف‌ها و ستون‌ها هستند، مانند یک جدول واقعی. فیلدهای نمونه‌ها از یک یا چند جدول واقعی در پایگاه داده می‌آیند. ما می‌توانیم توابع SQL، WHERE و JOIN به نمونه‌ها اضافه کنیم و همچنین داده‌ها را ارائه دهیم، مانند اینکه این‌ها از یک جدول واحد آمده‌اند.

نکته:طراحی و ساختار پایگاه داده تحت تأثیر توابع، where یا دستورات join در نمونه‌ها قرار نمی‌گیرد.

قوانین SQL CREATE VIEW

CREATE VIEW نام_نمای AS
SELECT column_name(s)
FROM table_name
WHERE condition

نکته:نمونه‌ها همیشه داده‌های جدیدترین را نمایش می‌دهند. هر بار که کاربر به نمونه‌ها جستجو می‌کند، موتور پایگاه داده از طریق استفاده از دستورات SQL داده‌ها را بازسازی می‌کند.

مثال SQL CREATE VIEW

ما می‌توانیم از یک نمونه داخلی، یک پروسه ذخیره شده، یا یک نمونه دیگر برای استفاده از نمونه‌ها استفاده کنیم. با اضافه کردن توابع، join و غیره به نمونه‌ها، می‌توانیم داده‌هایی که می‌خواهیم ارائه دهیم را به کاربران دقیق‌تر ارائه دهیم.

پایگاه داده نمونه Northwind دارای برخی از نمونه‌های پیش‌فرض نصب شده است. نمونه "Current Product List" تمام محصولات در حال استفاده را از جدول Products لیست می‌کند. این نمونه با استفاده از SQL زیر ایجاد شده است:

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

ما می‌توانیم از این نمونه بالا جستجو کنیم:

SELECT * FROM [Current Product List]

یک نمونه دیگر از پایگاه داده نمونه Northwind محصولات موجود در جدول Products با قیمت واحد بالاتر از میانگین قیمت واحد را انتخاب می‌کند:

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 

ما می‌توانیم مانند این از این نمای استفاده کنیم:

SELECT * FROM [Products Above Average Price]

یک نمونه از نمونه‌های ویدئویی Northwind پایگاه داده به حساب می‌آید که تعداد فروش هر نوع در سال 1997 را محاسبه می‌کند. توجه داشته باشید که این نمونه از یک نمونه دیگر به نام "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 

ما می‌توانیم مانند این از این نمای استفاده کنیم:

SELECT * FROM [Category Sales For 1997]

ما همچنین می‌توانیم شرط‌هایی را به جستجو اضافه کنیم. در حال حاضر، ما فقط می‌خواهیم فروش کل دسته "Beverages" را مشاهده کنیم:

SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'

به‌روزرسانی نمای SQL

شما می‌توانید از جملات زیر برای به‌روزرسانی نمای استفاده کنید:

جملات Syntax SQL CREATE OR REPLACE VIEW
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

حالا، ما می‌خواهیم به نمای "Current Product List" ستون "Category" را اضافه کنیم. ما از SQL زیر برای به‌روزرسانی نمای استفاده می‌کنیم:

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

حذف نمای SQL

شما می‌توانید از دستور DROP VIEW برای حذف نمای استفاده کنید.

جملات DROP VIEW SQL

DROP VIEW نام_نمای