با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. SQL قابلیتی به نام VIEW یا دیدگاه را در اختیار کاربران خود قرار می دهد. از دیدگاه در SQL ، برای ایجاد یک جدول مجازی استفاده می شود، که فیلدها و داده های آن از جداول موجود در پایگاه داده دریافت می شود. VIEW به ما کمک می کند تا قبل از اجرای پرس و جوهایی در پایگاه داده، نمایی از آن را در جدول VIEW مشاهده کنیم. برای درک بهتر این مباحث، در ادامه ی آموزش ایجاد VIEW در SQL یا ایجاد دیدگاه در SQL با ما همراه باشید.
در SQL، یک view در واقع یک جدول مجازی است، که بر اساس نتایج پرس و جوها، ایجاد می شود.
view همانند جدول واقعی، شامل فیلدها و رکوردهاست و فیلدهای آن بر اساس فیلدهای یک یا چند جدول در پایگاه داده ایجاد می شود.
شما همچنین می توانید از توابع SQL، از جمله WHERE ، JOIN و… در دیدگاه SQL اضافه کنید.
ساختار دستور CREATE VIEW در SQL:
1 2 3 4 | CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; |
نکته: VIEW همیشه داده ها را بروز نمایش می دهد. و کاربر همیشه داده های بروز شده را مشاهده خواهد کرد.
مثال۱:
دیدگاه “Current Product List” تمام محصولات فعال را از جدول “Products” نمایش می دهد:
1 2 3 4 | CREATE VIEW [Current Product List] AS SELECT ProductID, ProductName FROM Products WHERE Discontinued = No; |
سپس می توانیم از VIEW فوق، یک پرس و جو نیز بگیریم:
1 | SELECT * FROM [Current Product List]; |
مثال۲:
نمایش قیمت هایی که از میانگین کل قیمت ها در جدول “Products” بیشتر است:
1 2 3 4 | CREATE VIEW [Products Above Average Price] AS SELECT ProductName, UnitPrice FROM Products WHERE UnitPrice > (SELECT AVG(UnitPrice) FROM Products); |
همچنین می توانید از دیدگاه بالا، بصورت زیر یک پرس و جو، تهیه کنید:
1 | SELECT * FROM [Products Above Average Price]; |
مثال۳:
محاسبه ی کل فروش در سال ۱۹۹۷ در جدول “Products” :
1 2 3 4 | CREATE VIEW [Category Sales For 1997] AS SELECT DISTINCT CategoryName, Sum(ProductSales) AS CategorySales FROM [Product Sales for 1997] GROUP BY CategoryName; |
همچنین از دیدگاه فوق، بصورت زیر می توان پرس و جو، تهیه کرد:
1 | SELECT * FROM [Category Sales For 1997]; |
همچنین می توانیم شرطی را در پرس وجوهای VIEW اعمال کنیم.
مثال۴:
نمایش جمع کل فروش از دسته ی “Beverages”:
1 2 | SELECT * FROM [Category Sales For 1997] WHERE CategoryName = 'Beverages'; |
شما می توانید یک دیدگاه در SQL را با استفاده از ساختار زیر، آپدیت کنید:
1 2 3 4 | CREATE OR REPLACE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; |
مثال۱:
افزودن فیلد “Category” به دیدگاه “Current Product List” در پایگاه داده:
1 2 3 4 | CREATE OR REPLACE VIEW [Current Product List] AS SELECT ProductID, ProductName, Category FROM Products WHERE Discontinued = No; |
در SQL از دستور DROP VIEW برای حذف VIEW، استفاده می شود:
1 | DROP VIEW view_name; |
با یادگیری این آموزش به خوبی با مباحث ایجاد و آپدیت دیدگاه در SQL ، آشنا خواهید شد. سپس خواهید توانست با استفاده از دیدگاهها از جداول موجود در پایگاه داده خود، پرس و جوهای مجازی و موقت ایجاد کنید. امیدواریم که مباحث آموزش ایجاد VIEW در SQL مورد توجه شما قرار گرفته باشد.
مجتبی اکبری
ترجمه لفظ به لفظ سایتهای خارجی بعضا باعث مشکل مفهومی میشه، مثل اینکه شما view رو دیدگاه ترجمه کردید .
و بعد اینکه ای کاش متخصصینی به محتوای پایه ای که از سایتهای دیگه میگیرید اضافه کنن، مثلا همین view یسری معایب داره و اون هم عدم آپدیت بودنشه .
یا یک نوع دیگه ای view هست که عین یه کوئریه، یعنی یه کوئری خاصی توی حافظه دیتابیس ذخیره میشه و خاصیتش اینه که دیگه بصورت جدول عین این view که گفتید نیست و فقط هربار فراخوانی میشه .
این نکات کنار هم دید بهتری رو نسبت به کسی که شاید تنها منبعش برای آموزش باشه میده، چون عملا بعدش وارد فضای تمرین و تکرار میشه و شاید دیگه فرصت اینو پیدا نکنه تا خیلی مراجع مختلفو بخونه .
اما در کل زحمتی که میکشید خیلی خیلی قابل تقدیره، ممنون ازتون .