theme wordpress
آموزشی

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

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

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

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

MySQL-Review-Concept
MySQL-Review-Concept

تغییر دیدها:

گاهی اوقات ممکن است نیاز شود دیدها را مورد تغییر قرار داد. با دستور alter view می‌توان تعریف فعلی دید را به تعریف دیگری تغییر داد. این دستور به شکل زیر به کار می‌رود:

اگر دستور create view را که در قسمت اول به توضیح آن پرداختیم با دستور alter view مقایسه کنید متوجه خواهید شد که دستور alter view تنها فاقد گزینه or replace است. و در بقیه موارد کاملا یکسان هستند.

مثال: دید userview (که روی users از پایگاه‌داده alefbyte ایجاد شده‌است) را طوری تغییر دهید که ستون id حذف شود.
برای انجام این کار باید از دستور aleter view به شکل زیر استفاده کنید:

alter view image
alter view image

حذف دیدها:

گاهی ممکن است احساس کنید که دیدهایی را نیاز ندارید اگر بخواهید آن‌ها را حذف کنید باید از دستور drop view به شکل زیر استفاده کنید:

اگر شما بخواهید چند دید را همزمان حذف کنید باید نام آن‌ها را پشت سر هم به همراه ویرگول بنویسد.

مثال: دید userview را از پایگاه داده حذف کنید.
برای انجام این کار باید از دستور drop view به شکل زیر استفاده کرد:

توجه: قبل از حذف بهتر است قسمت “اطلاعات کلی درباره دیدها در MySQL” را نیز مطالعه کنید.

drop view
drop view

این دستور دید userview را از پایگاه داده alefbyte حذف می‌کند.

نکته: توجه داشته باشید برای مشاهده دیدهای موجود در سیستم باید از دستور show tables استفاده کنید.

اطلاعات کلی درباره دیدها در MySQL:

MySQL در ابتدای نصب دارای بانک اطلاعاتی ایست به نام INFORMATION_SCHEMA که اگر آن را حذف نکرده باشید دارای جدولی به نام VIEW است. در این جدول اطلاعاتی راجع به تمامی دیدهای سیستم ذخیره شده‌است. به عنوان مثال می‌توانید اطلاعات دید userview را با دستور زیر مشاهده کنید:

view information
view information

در MySQL دسته‌ای از دستورات show نیز وجود دارد که اطلاعاتی کلی راجع به دیدها ارائه می‌دهد برای استفاده از آن‌ها باید به شکل زیر عمل کنید:

show create view
show create view

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

  • describe
  • show columns
  • show table status
  • show tables

اگر دستور show tables را به شکل show full tables به کار ببرید علاوه بر نمایش اسامی جدول‌ها و دیدها نشان می‌دهد که آن جدول از نوع پایه و یا view می‌باشد.

مجوز های مورد نیاز دیدها:

برای ایجاد دید باید مجوز اجرای دستور create view را داشته باشید. علاوه بر این باید مجوز لازم برای دستیابی به جدول‌هایی را داشته باشید که دیدها بر روی آن‌ها تعریف می شوند:

  • برای هر ستونی از جدول که در لیست ستون‌های دید ظاهر می‌شود(توسط دستور select انتخاب می گردد)، باید مجوز دستیابی به ستون‌ها را داشته باشید.
  • برای ستون‌هایی که در جای دیگری مثل where یا group by مراجعه می‌شوند، باید مجوز select را داشته باشید.
  • برای استفاده از گزینه or replace در دستور create view یا برای تغییر دید با دستور alter view، باید مجوز drop را برای دید داشته باشید.
  • دستور drop نیاز به مجوز drop دارد.
  • مجوز های لازم برای دستیابی به دیدها مثل دستیابی به جدول‌ها است. برای انتخاب از طریق دید، باید مجوز select داشته باشید. برای دیدهای قابل بروزرسانی، باید مجوزهای insert ، delete یا update را داشته باشید.
  • مجوزهای دید، به خود دید اعمال می‌شود و نه به جدول‌های پایه‌ آن‌ها.
    فرض کنید برای یک دید قابل بروزرسانی مجوز update دارید؛ در این صورت با استفاده از این دید می‌توانید جدول را تغییر دهید. اما مستقیما نمی‌توانید در جدول تغییر ایجاد کنید. برای این که بتوانید مستقیما در جدول تغییر ایجاد کنید باید مجوز update روی جدول را را داشته باشید.
  • دستور show create view نیاز به مجوز select دارد.

نکته پایانی: در MySQL حداکثر تعداد جدول‌هایی که در یک دید می‌توان به آن‌ها مراجعه کرد برابر ۶۱ می‌باشد.

به پایان دوره آموزش دیدها در MySQL رسیدیم.

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

با ما در الفبایت همراه باشید…

منبع: سایت MySQL بخش مستندات، ویکیپدیا

برچسب ها
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن
بستن