-
علت استفاده از View
سلام
مثلا من یه جدول دارم حاوی فیلدهای زیر :
Name,Family,Salary
تو کتابا میگن مثلا برای کاربر Admin اجازه ی دسترسی به Table رو میدی ولی به کاربر عادی اجازه ی دسترسی به view شامل فقط Name,Family میدی . ... خوب این چه مزیتی داره ؟ ما که موقع Select میتونیم همین کار رو برای کاربر عادی انجام بدیم :
کاربر Admin :
select Name,Family,Salary
کاربر عادی :
Select Name,Family
کلا اگه کاربرد view رو بگین ممنونم
-
سلام
1. در مورد دسترسی، بحث بر سر from است. فرض کنید خود کاربر دارد دستورات را اجرا میکند - البته در خیلی از موارد این فرض رئالیستی نیست اما در مباحث کنترل دسترسی خوب کار میکند.
2. فایده دیگر view ثابت کردن منطق اتصال (و ساده شدن selectها) هستش.
3. یک داستان دیگر این است که یک ترکیب مثلا پیچیده رو بشه در سایر selectها استفاده کنیم و با بقیه جداول join کنیم.
4. میشه روی viewها اندیس تعریف کرد - من خودم تا حالا از این ویژگی استفاده نکردم ولی باید خیلی جالب باشه.
5. اما ویژگیای که اگه view نبود کلی کارهایمان رو لنگ میکرد، امکان تعریف تریگرهای مختلف در view و درست کردن یک view با امکان ویرایش کامل است. مثلا دو تا جدول رو با هم join کنیم و به صورت یک ساختار واحد در اختیار کاربر قرار بدیم. حال با تریگرهای instead of ترتیبی بدیم که کاربر بتونه اطلاعات join شده رو درست مثل اینکه یک جدول ساده هستند ویرایش کنه. این، خیلی هیجان انگیزه....
احتمالا داستانهای دیگری هم هست که من الان حضور ذهن ندارم - اساتید زحمتشون رو میکشن
ارادت
-
با سلام
علاوه بر مطالب گفته شده در بالا می شه به موارد دیگه هم اشاره کرد مثلا:
- با توجه به اینکه ویو یک شی ثابت برا sql حساب می شه احتیاج به کامپایل مجدد در هر سری فراخوانی نداره بنابراین سرعت رو بالا می بره
- به همون دلیل هم sql یکسری بهینه سازی های در خصوص ایندکس های مجازی مورد نیاز را انجام می ده که سرعت رو بالا می بره
- البته موارد همچون ایندکس زدن رو ویو و یا استفاده از تریگر در ویوها هم که دوستمون گفتن گاهی خیلی مهم می شه
موفق باشید.