الفبایت، الفبای بهترین‌ها

الگوریتم دیدها در MySQL – قسمت دوم

به قسمت دوم آموزش دیدها در MySQL رسیده‌ایم. در این مطلب به بررسی محدودیت‌های دیدها، الگوریتم دید و دیدهای قابل بروزرسانی خواهیم پرداخت. با ما در الفبایت همراه باشید.

توجه: اگر قسمت اول آموزش دیدها را مطالعه نکرده‌اید حتما از لینک زیر به قسمت اول مراجعه کنید.

قسمت اول: مفهوم دیدها

محدودیت دیدها چیست؟!

زمانی که دیدها را تعریف می‌کنیم اغلب دستورات مجاز در select مانند where و group by و…  را می‌توانیم بر روی آن‌ها اعمال کنیم. اما دیدها در MySQL محدودیت‌هایی نیز دارند:

  1. نمی‌توان دید موقت یا temporary ایجاد کرد. (برای اطلاعات بیشتر در رابطه با temporary به مقاله “نحوه ی کار کردن با جدول ها در MySQL” مراجعه کنید.)
  2. نمی‌توان تریگر (triger) برای دید ایجاد کرد. (تریگرها را در آموزش‌های بعدی مورد بررسی قرار خواهیم داد.)
  3. جدول‌های پایه‌ای باید وجود داشته باشند تا دید بر روی آن‌ها پردازش کند. به عنوان مثال نمی توان پس از ساخت دید جدول پایه را drop کرد. (برای کسب اطلاعات بیشتردر رابطه با drop کردن جدول ها به مقاله “نحوه ی کار کردن با جدول ها در MySQL” مراجعه کنید.)
  4. دستور select در تعریف دید نمی‌تواند شامل موارد زیر باشد:
    • ارجاع به جدول موقت (temporary)
    • ارجاع به متغیر های تعریف شده توسط کاربر

الگوریتم دیدها در MySQL

این گزینه الگوریتمی برای پردازش دیدها تعیین می‌کند روش استفاده از آن‌ها به شکل زیر است:

[crayon-662f7a30d7cea163700754/]

دیدهای قابل بروزرسانی در MySQL:

اگر بتوان روی دیدها دستورات update و delete را اعمال کرد تا جدول‌های اصلی تغییر کنند، دیدهای قابل بروزرسانی هستند.

شرط اصلی برای قابلیت بروزرسانی:

مثال: username کاربری با نام salmani را با کمک دید userview در جدول اصلی از بانک اطلاعاتی alefbyte تغییر دهید.

برای انجام این کار باید طبق دستورات زیر عمل کنید:

[crayon-662f7a30d7cf6329609959/]

حال برای مشاهده اتفاقات افتاده، می‌توانید با دو دستور زیر جدول و دید را مشاهده کنید:

[crayon-662f7a30d7cf9954295983/]

نکته: دستور delete نیز مانند دستور update قابل استفاده می‌باشد.

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

منبع: سایت رسمی MySQL