کار با View در SQL سرور

کار با View در SQL سرور

معمولا یکی از سوالات کاربران در مبحث دیتابیس سرور، کاربرد view در sql و ساخت view در sql server هست و خیلی از دوستان نمیدانند view در sql چیست؟

View چیست؟

یک View در واقع نتیجه یک Select است، حال این Select می تواند ساده باشد و یا از ترکیب چند جدول حاصل شود. مثلا در یک جدول که اطلاعات دانش آموزان را نگهداری می کند، یک View می تواند: “کلیه دانش آموزانی باشد که معدل آنها ۱۵ است”. همانگونه که پیداست یک View در واقع نتیجه یک select روی یک یا چند جدول می باشد (یک select ساده از یک جدول و یا یکjoin).

دلیل و مزایای استفاده از view

  1. تامین امنیت و محدود کردن دسترسی های کاربران به محتویات بانک اطلاعاتی(فرض کنید که برای انجام برخی گزارشات نیاز دارید . نرم افزار و یا اشخاص دیگری به اطلاعت جداول شما دسترسی پیدا کنند. قطعا اجازه دسترسی به جداول ، مشاهده ساختار و امکان بروز رسانی و حذف اطلاعلات را به ان نرم افزار نخواهید داد. با توجه به نیاز view هایی ایجاد میکنید که بطور کنترل شده ایی ستونهای خاص و یا رکورد های خاصی را ارائه دهد. )
  2. سهولت کار کاربران با بانک اطلاعاتی (یک مجموعه دستور العمل پیچیده می تواند منجر به ساخت یک view شود. که بجای تکرار آنها در هربار فراخوانی تنها لازم است بروی ان همانند یک جدول کوئری اجرا نماییم. )

فرم دستور یا سینتکس ساخت VIEW

به شرح موارد بالا را در ادامه توجه کنید:

Create View : کلمه کلیدی! برای ساخت ویو بکار می رود.

View Name :  یک نام دلخواه برای ویو می نویسیم.

Select : کلمه کلیدی! برای انتخاب ستون هایی از جدول و گرفتن گزارش بکار می رود.

Column_Name :  نام ستون های جدول را وارد می کنیم.

From : کلمه کلیدی! برای انتخاب از شی یا اشیا مختلف بکار می رود.

Table_Name : نام جدول مورد نظر را وارد می کنیم.

Where : کلمه کلیدی!  برای نوشتن شرط بکار می رود.

Condition : لیست عبارات منطقی برای استفاده بعنوان شرط جلوی Where

برای درک بهتر مفهوم و کاربرد view بیایید یه مثال عملی رو با هم انجام بدیم.

یه جدول به نام  students دارای سه ستون درست میکنیم. که حاوی اطلاعات نام معدل و جنسیت دانش آموزان یک مدرسه است. مطابق عکس زیر اطلاعات ۴ دانش آموز ۳ پسر و یک دختر در جدول students ثبت شده است.

ساخت جدول در SQL Server

خب حالا میخوایم یک ویو بسازیم تا جنسیت دانش آموزان رو به صورت فارسی(دختر پسر) برای ما نمایش بده و از لحاظ جنسیت و نمره معدل تفکیک کنیم.

برای ساخت view به قسمت SQL دیتابیس میریم و دستورات ساخت ویو رو وارد میکنیم:

دقت کنید که در کدهای بالا حرف s که پس از نام جدول students آورده ایم نام مستعار یا همان alias جدول است که جهت جلوگیری از تکرار نام جدول معرفی کرده ایم. نکته دیگری که در توضیح کدهای بالا میتوان گفت این است، که هر کدام از شرط هایی(case) که می گذاریم از ابتدا تا انتها به منزله یک ستون جدید در جدول نمایش داده می شود. از این نکته نیز نباید غافل شد که ویو ها هیچ اطلاعاتی از خود ندارند و اطلاعات خود را از جداول دیتابیس در هنگام اجرای یک کوئری میگیرند.

ساخت ویو در SQL Server

اگر به جدول بالا نگاه کنید می بینید که یک view به نام vw_school ساخته ایم که دو ستون نسبت به ستون های جدولی که این اطلاعات را از آن می گیرد بیشتر دارد. یکی از اهداف ساخت جدول این است که بار سنگینی مطالب را از دوش جدول های دیتابیس و کدهای php  بردارد.