PDA

View Full Version : علت استفاده از View



dr_csharp
دوشنبه 26 آذر 1386, 10:12 صبح
سلام
مثلا من یه جدول دارم حاوی فیلدهای زیر :
Name,Family,Salary
تو کتابا میگن مثلا برای کاربر Admin اجازه ی دسترسی به Table رو میدی ولی به کاربر عادی اجازه ی دسترسی به view شامل فقط Name,Family میدی . ... خوب این چه مزیتی داره ؟ ما که موقع Select میتونیم همین کار رو برای کاربر عادی انجام بدیم :
کاربر Admin :
select Name,Family,Salary
کاربر عادی :
Select Name,Family

کلا اگه کاربرد view رو بگین ممنونم

JAFO_IRAN
دوشنبه 26 آذر 1386, 11:14 صبح
سلام

1. در مورد دسترسی، بحث بر سر from است. فرض کنید خود کاربر دارد دستورات را اجرا میکند - البته در خیلی از موارد این فرض رئالیستی نیست اما در مباحث کنترل دسترسی خوب کار میکند.

2. فایده دیگر view ثابت کردن منطق اتصال (و ساده شدن selectها) هستش.

3. یک داستان دیگر این است که یک ترکیب مثلا پیچیده رو بشه در سایر selectها استفاده کنیم و با بقیه جداول join کنیم.

4. میشه روی viewها اندیس تعریف کرد - من خودم تا حالا از این ویژگی استفاده نکردم ولی باید خیلی جالب باشه.

5. اما ویژگی‌ای که اگه view نبود کلی کارهایمان رو لنگ میکرد، امکان تعریف تریگرهای مختلف در view و درست کردن یک view با امکان ویرایش کامل است. مثلا دو تا جدول رو با هم join کنیم و به صورت یک ساختار واحد در اختیار کاربر قرار بدیم. حال با تریگرهای instead of ترتیبی بدیم که کاربر بتونه اطلاعات join شده رو درست مثل اینکه یک جدول ساده هستند ویرایش کنه. این، خیلی هیجان انگیزه....

احتمالا داستانهای دیگری هم هست که من الان حضور ذهن ندارم - اساتید زحمتشون رو میکشن

ارادت

mehdia86
سه شنبه 27 آذر 1386, 10:37 صبح
با سلام

علاوه بر مطالب گفته شده در بالا می شه به موارد دیگه هم اشاره کرد مثلا:

با توجه به اینکه ویو یک شی ثابت برا sql حساب می شه احتیاج به کامپایل مجدد در هر سری فراخوانی نداره بنابراین سرعت رو بالا می بره
به همون دلیل هم sql یکسری بهینه سازی های در خصوص ایندکس های مجازی مورد نیاز را انجام می ده که سرعت رو بالا می بره
البته موارد همچون ایندکس زدن رو ویو و یا استفاده از تریگر در ویوها هم که دوستمون گفتن گاهی خیلی مهم می شهموفق باشید.