آشنایی با دستور CREATE VIEW در SQL Server + مزایا و کاربردها

آشنایی با دستور CREATE VIEW در SQL Server + مزایا و کاربردها

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۲۰ اسفند ۱۴۰۲
آخرین بروزرسانی: 08 آذر 1403
زمان مطالعه: 12 دقیقه
۴.۲
(۵)

دستور Create View در SQL Server روش ساده‌تری برای دسترسی و تعامل با داده‌های زیربنای جداول ارائه می‌دهد. در مطالب قبلی، دستور Insert ، دستور Select و دستور آپدیت ، همچنین عبارت Where و تعریف محدودیت (Constraints) را مورد بررسی قرار دادیم. در این مقاله، می‌خواهیم چگونگی کارکرد و روش استفاده از دستور Create View را به‌همراه کوئری‌های قابل اجرا تشریح کنیم. برای درک بهتر مفاهیم، پیشنهاد می‌کنیم ابتدا مقاله جامع آموزش SQL Server را مطالعه کنید.

دوره کوئری نویسی در SQL Server نیک آموز

دستور CREATE VIEW در SQL Server چیست؟

دستور Create View در SQL Server به‌منظور ساختن یک جدول مجازی براساس یک دستور Select، مورد استفاده قرار می‌گیرد. درواقع، View به‌عنوان یک کوئری ذخیره‌شده عمل می‌کند که داده‌ها را از یک یا چند جدول استخراج و نمایش می‌دهد.

ساختار کلی Create View در SQL Server به‌صورت زیر است:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
[WHERE condition];

اجزای این ساختار عبارتند از:

  • CREATE VIEW: این کلمه کلیدی ساخت یک View را آغاز خواهد کرد.
  • View_name: در این بخش، نام موردنظر برای View را تعیین می‌کنید. توصیه می‌شود از یک نام توصیفی مناسب برای نمایش کاربرد View استفاده کنید.
  • AS: این کلیدواژه کوئری Select ای را معرفی می‌کند که به کمک آن، محتوای ویو تعیین خواهد شد.
  • SELECT: این عبارت برای تعیین ستون‌هایی به‌کار می‌رود که می‌خواهید در View درنظر گرفته شوند و می‌توان با استفاده از * ، تمامی ستون‌ها را Select کرده یا یک لیست خاصی از آن‌ها را درنظر گرفت.
  • FROM: با کمک این کامپوننت، می‌توان تعیین کرد که داده‌ها از کدام جداول یا View ها استخراج شوند. 
  •  Where: (گزینه انتخابی): با کمک این مورد می‌توان داده‌ها را براساس معیارهای خاصی فیلتر کرد.

کاربرد View در SQL Server

مهم‌ترین کاربردهای View در SQL Server به شرح زیر است:

  • ساده‌سازی کوئری‌های پیچیده: View ها می‌توانند جوین‌های پیچیده، فیلترها، تجمیع‌ها (Aggregations) و محاسبات را از کاربران مخفی کرده و فرآیند استخراج داده‌ها را تسهیل دهند. فرض کنید View در SQL Server داده‌های سه جدول مختلف را ترکیب کرده و روی آن‌ها فیلترهای خاصی را اعمال کند؛ در چنین شرایطی، کاربر می‌تواند بدون سروکار داشتن با پیچیدگی‌ها، از مزیت‌های ویو بهره‌مند شود.
  • امنیت داده‌ها: امکان محدودسازی دسترسی کاربری به View ها وجود دارد؛ بدین شیوه، از دیتای حساس موجود در جداول مربوطه محافظت خواهد شد. به بیان دیگر، با اعطای Permission ها روی یک View، می‌توانید داده‌هایی که کاربر مشاهده یا ویرایش می‌کنند را کنترل کنید. به‌عنوان مثال، ممکن است یک View خاص، تنها ستون‌ها یا سطرهای خاصی که به Role کاربر مربوط می‌شوند را نمایش دهد. این ویژگی، با محدود کردن دسترسی به اطلاعات حساس، امنیت داده‌ها را بهبود می‌بخشد.
  • استانداردسازی نمایش داده‌ها: به‌واسطه View در SQL Server ، تضمین می‌شود که یک نمای سازگار و مسنجم روی اپلیکیشن‌های مختلف وجود دارد. این ویژگی یک راه مشخص برای استخراج و فرمت‌دهی داده تعریف می‌کند و علاوه‌بر تسهیل فرآیند توسعه اپلیکیشن، ناسازگاری‌ها را برطرف خواهد کرد.
  • محاسبات و تجمیع داده‌ها: View ها می‌توانند تجمیع‌های پیش‌محاسباتی یا سایر محاسبات را روی داده‌ها اجرا کنند. این مشخصه، بهبود کارایی کوئری‌ها را به‌همراه دارد. در عمل، View نمی‌تواند خود داده‌‌ها را ذخیره‌سازی کند؛ بلکه منطق موردنیاز برای استخراج و نمایش مجموع Pre-calculations ها را تعریف خواهد کرد.
  • مدل‌سازی منطقی داده‌ها: View در SQL Server می‌تواند با نمایش مدل منطقی داده‌ها، نحوه تعامل کاربران با پایگاه داده را تسهیل دهد. به‌طوری که داده‌ها را هم‌تراز با نیازمندی‌های کسب و کار نشان می‌دهند و درک بهتری از دیتا حاصل خواهد شد.
  • پارتیشن‌سازی داده‌ها: شما می‌توانید View در SQL Server را به‌همراه استراتژی‌های پارتیشن‌بندی استفاده کنید تا عملکرد کوئری‌ها را روی جداول بزرگ بهبود دهید.

مزایای استفاده از View در SQL Server

مزیت‌های استفاده از دستور Create View در SQL Server عبارتند از:

  • ارائه دسترسی‌های محدود به مجموعه‌ای از View ها و بهبود امنیت داده‌ها
  • تبدیل یک کوئری چندجدولی به یک View قابل درک و شفاف
  • نمایش یک نمای ساختاری سازگار و تطبیق‌پذیر از دیتابیس
  • امکان ایندکس گذاری (Indexing) و پیش‌محاسبات View ها و کاهش محاسبات پیچیده
  • قابلیت استفاده مجدد از View ها دراپلیکیشن‌ها و کوئری‌های مختلف و ترویج ماژولاریتی

محدودیت های View در SQL Server

صرف نظر از مزیت‌های استفاده از دستور Create View در SQL Server ، به‌کارگیری View ها تعریف محدودیت هایی دارند که در ادامه به آن‌‌ها اشاره خواهیم کرد:

  • وابستگی به جداول زیربنا: View ها یک نمای مجازی از داده‌ها بوده و بر جداول زیرین متکی هستند. به همین دلیل، اگر این جداول Drop بشوند یا تغییر چشم‌گیری در آن‌ها به‌وجود بیاید، View مربوط به آن بلااستفاده یا غیرمعتبر خواهد بود. بنابراین، لازم است View به‌روزرسانی یا مجدداً از ابتدا تعریف شود تا تغییرات جداول مربوطه روی آن اعمال شوند.
  • احتمال وجود سربار کارایی: View در SQL Server می‌تواند به بهبود کارایی و تجمیع‌های پیش‌محاسباتی منجر شود؛ با این وجود، اگر تعاریف View ها پیچیده باشند، سربار به‌همراه خواهد داشت.
  • عدم وجود پارامتر: شما امکان پاس دادن پارامتر به تعریف View در SQL Server را ندارید. در حقیقت، منطق ویو به‌صورت ایستا و برمبنای کوئری مورد استفاده برای ساخت آن خواهد بود.
  • عدم امکان استفاده از پیش‌فرض‌ها و Rule ها: قابلیت استفاده مستقیم Default ها یا Rule های دیتابیسی به‌همراه View وجود ندارد. معمولاً این موارد در سطح جدول تعریف می‌شوند تا به‌واسطه آن‌ها یکپارچگی داده‌ها اعمال شود.

با درک دقیق مزیت‌ها و معایب دستور Create View در SQL Server ، در بخش بعدی به نحوه نوشتن و استفاده از آن می‌پردازیم.

نحوه نوشتن و استفاده از دستور CREATE VIEW در SQL Server

برای ساختن و استفاده از دستور Create View در SQL Server ، مراحل زیر را دنبال کنید. توجه کنید که کوئری‌های این مقاله را می‌توانید با استفاده از دیتابیس Northwind اجرا کنید.

۱- ورود و اتصال به SQL Server Management Studio

پیش از استفاده از دستور Create View در SQL Server ، لازم است وارد محیط SSMS و به آن متصل شوید. اگر هنوز آن را روی سیستم خود نصب کرده‌اید، می‌توانید از مقاله آموزش نصب گام به گام SSMS به‌عنوان راهنما استفاده کنید.

ورود و اتصال به SQL Server Management Studio

۲- ورود به یک Query Window جدید

برای آن که بتوانید دستورات و کوئری‌های SQL Server را اجرا کنید، لازم است یک صفحه دوره کوئری نویسی پیشرفته جدید در SSMS باز کنید. برای این کار، لازم است روی دکمه New Query کلیک کنید.

ورود به یک Query Window جدید

۳- استفاده از دستور Create View در SQL Server

در دیتابیس Northwind، یک جدول به نام Product به‌همراه فلگ Discontinued وجود دارد. ما می‌توانید با اجرای کوئری زیر، یک View ایجاد کنیم که تنها محصولات Active را نمایش دهد؛‌ این یعنی، فلگ Discontinued آن‌ها برابر صفر باشد. در صورتی که می‌خواهید شناخت خود از کوئری‌نویسی و زبان T-SQL را افزایش دهید، توصیه می‌شود مقاله اسکریپت های پرکاربرد SQL را نیز مطالعه کنید.

CREATE VIEW ActiveProducts AS
SELECT ProductID, ProductName
FROM Products
WHERE Discontinued = 0;

پس از اجرای دستور فوق، می‌توانید بررسی کنید آیا این دستور Create View به‌درستی صورت گرفته است یا خیر. برای این کار به بخش Views از Object Explorer رجوع کرده و ویو ایجاد شده تحت عنوان ActiveProducts را پیدا کنید.

استفاده از دستور Create View در SQL Server

۴- استفاده از View برای استخراج داده

در مرحله قبل از دستور Create View برای ساخت ویوی ActiveProduct استفاده کردیم. در این گام می‌خواهیم با اجرای یک کوئری، به استخراج Product ID و نام تمام محصولات Active بپردازیم. در این مثال، ما ویو را مانند یک در مقاله نحوه ساخت جدول با دستور Create Table معمولی در نظر می‌گیریم و کوئری را اجرا خواهیم کرد.

SELECT *
FROM ActiveProducts;

استفاده از View برای استخراج داده

به روزرسانی View در SQL Server

 در این مقاله به بررسی یکی از پرکاربردترین دستورات SQL Server پرداختیم و آن را به‌همراه کوئری آموزش دادیم. فرض کنید بنا به دلایلی، باید View ایجاد شده را به‌روزرسانی کرد. برای به‌روزرسانی View در SQL Server دو رویکرد زیر وجود دارند:

۱- ویرایش تعریف View موجود

در این روش، شما با تغییر دستور Create View ، تغییرات موردنظر خود را اعمال می‌کنید. برای این کار، کوئری زیر را اجرا کنید:

ALTER VIEW ActiveProducts AS
SELECT ProductID, ProductName
FROM Products
WHERE Discontinued = 0 AND UnitPrice > 10;

با اجرای کوئری فوق، دستور Create View پیشین را تغییر داده و برای آن شرط UnitPrice > 10 را لحاظ کردیم.

ویرایش تعریف View موجود

۲- حذف و ساخت مجدد View

در این روش ویرایش View ، شما ابتدا View فعلی را حذف می‌کنید و پس از آن، یک ویو با شرایط موردنظر ایجاد خواهید کرد.

برای حذف View فعلی، کوئری زیر را اجرا کنید:

DROP VIEW ActiveProducts;

سپس با کمک یک دستور Create View جدید، ویو مورد نظر خود را از نو ایجاد کنید. در این کوئری CategoryID = 1 و Discontinued = 0 را به‌عنوان شروط جدید درنظر می‌گیریم.

CREATE VIEW ActiveProducts AS
SELECT ProductID, ProductName
FROM Products
WHERE Discontinued = 0  
AND CategoryID = 1;  

حذف و ساخت مجدد View

تفاوت View و Table در SQL Server

جدول و View در SQL Server هردو از اجزای بنیادی در این مفهوم RDBMS به‌شمار می‌روند؛ البته هر یک اهداف و موارد استفاده مخصوص به خود را دارند. به بررسی این دستور پرداختیم و در این بخش، تفاوت ویو و Table را از نقطه‌نظرهای مختلف مورد بررسی قرار می‌دهیم.

  • ذخیره‌سازی داده‌ها: در جداول داده‌های حقیقی در قالب سطرها و ستون‌ها نگه‌داری می‌شوند و از آن به‌عنوان فضای ذخیره‌سازی فیزیکی برای اطلاعات بهره برده خواهد شد. در حالی که View در SQL Server خود داده‌ها را ذخیره‌سازی نمی‌کند و مشابه یک جدول مجازی عمل خواهد کرد.
  • دستکاری داده‌ها: در جداول می‌توانید به‌صورت مستقیم دستکاری داده‌ها شامل عملیات دستورInsert و Update و Delete را انجام دهید و رکوردها را درج، ویرایش یا حذف کنید. در نقطه مقابل، معمولاً دستکاری داده‌ها روی ویو مجاز نیست. با این وجود، ممکن است کوئری مربوطه یک ویو از برخی ویرایش‌ها پشتیبانی کند.
  • وابستگی داده‌ها:‌ در جداول، موجودیت‌ها حاوی استقلال هستند و تغییر در ساختار یا دیتای یک جدول روی سایر آن‌ها اثر نمی‌گذارد. View به جداولی وابسته است که براساس آن‌ها ساخته شده و هر تغییری در آن جداول، در ویو مربوطه منعکس خواهد شد.
  • امنیت: جدول نیاز به کنترل دسترسی (Access Control) مناسب دارد تا بدین شیوه، داده‌ها محافظت شوند. هر شخصی که دسترسی لازم به جداول را داشته باشد، می‌تواند اطلاعات ذخیره‌شده در آن‌ها را مشاهده کند. ازسوی دیگر، می‌توان به‌منظور محدود کردن دسترسی داده‌ها از View استفاده کرد. به‌عنوان مثال، می‌توانید ویوهایی ایجاد کنید که تنها ستون‌ها یا داده‌های فیلترشده خاصی را به کاربران نشان دهند.
  • کارایی: به‌صورت کلی، جدول برای کوئری‌های ساده سریع‌تر عمل می‌کند؛ زیرا استخراج داده به‌صورت مستقیم است. در حالی که ممکن است View با کمی سربار عملکردی همراه باشد.
  • توسعه و نگهداری: درک و مدیریت جداول به سادگی قابل انجام است و می‌توان به‌صورت مستقیم ساختار آن‌ها را تغییر داد. اما تغییر در View به منطق کوئری زیربنای آن وابسته است و می‌تواند پیچیده‌تر باشد. برای نگهداری View ها، بهتر است مطمئن باشید که جداول زیربنا بدون تغییر باقی می‌مانند.
  • نمایش داده‌ها: در جداول، داده‌ها به‌صورت خام و در قالب جدول ارائه می‌شوند. اما View در SQL Server به شما امکان ترکیب داده‌ها از چند جدول و همچنین فیلترسازی اطلاعات را می‌دهد.

به‌طور کلی، جدول و View در SQL Server هردو از اجزای مهم آن به شمار می‌روند و شما می‌توانید براساس نیازمندی‌ها و نوعی که قصد دارید داده‌ها را استفاده کنید، از آن‌ها بهره‌مند شوید.

سخن پایانی

دستور Create View در SQL Server به شما اجازه می‌دهد که براساس یک کوئری ذخیره‌شده بتوانید یک جدول مجازی تعریف کنید؛ ویو حاصل مانند یک جدول عادی عمل خواهد کرد و در عین حال، هیچ دیتایی در آن ذخیره‌سازی نخواهد شد. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله در بخش نظرات هستیم.

چه رتبه ای می‌دهید؟

میانگین ۴.۲ / ۵. از مجموع ۵

اولین نفر باش

title sign
دانلود مقاله
آشنایی با دستور CREATE VIEW در SQL Server + مزایا و کاربردها
فرمت PDF
9 صفحه
حجم 1/3 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
401 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link