در امتداد آموزشهای MySQL به مبحث “دیدها در MySQL” رسیدهایم که طی چند قسمت قصد دارم شما را با مفهوم آن و نحوه کار کردن با آنها آشنا کنم. با الفبایت همراه باشید.
دیدها در MySQL چیست؟!
دید (view) یک شیء از پایگاهداده است که با دستور select تعریف شده است. این دستور select دادههایی را از پایگاهداده بازیابی میکند که دید (view) باید آن را تولید کند. گاهی به دیدها جدول مجازی نیز میگویند. در بعضی موارد دیدها قابل تغییر هستند و میتوان با ۳ دستور اصلی update ، delete یا insert آنها را تغییر داد که با این کار جدول پایه دید نیز تغییر میکند. (دیدها در واقع قسمتی از یک جدول دیگر هستند و اگر جدول اصلی تغییر کند آنها نیز تغییر می کند.)
چرا از دیدها استفاده میکنیم؟!
استفاده از دید نسبت به استفاده مستقیم از جدولهای اصلی (جدولهایی که دیدها را از روی آنها ساختیم) مزایای بیشتری دارند:
- بازیابی و دستیابی به اطلاعات جدولها را آسانتر میکند. به عنوان مثال میتوانید هنگام تعریف دیدها محاسباتی را نیز بر روی دادههای جدول اصلی انجام دهید و نتایج را دریافت کنید.
- باعث میشود از دستورات به طور خلاصهتر استفاده شود به عنوان مثال از where دیگر استفاده نمیشود.
- میتوانند محتویات جدولها را برای کاربران مختلف به شکلهای مختلف نمایش دهند پس کاربر فعالیتهای مربوط به خودش را میبیند و در نتیجه امنیت بالا میرود.
چگونه یک دید ایجاد کنیم؟!
برای تعریف view در MySQL باید از دستور create view به شکل زیر استفاده کرد:
[crayon-662df9947daa2396167309/]قسمت هایی که داخل [] می باشند اختیاری هستند:
Or replace: این دستور بررسی میکند که دیدی که میخواهیم بسازیم وجود دارد یا خیر.
در صورت وجود دید قبلی حذف شده و این دید جایگزین آن میشود.
Algorithm: بررسی میکند که هنگام فراخوانی از چه الگوریتمی استفاده میشود. در رابطه با الگوریتمها در قسمتهای بعدی صحبت میکنیم.
Column_list: اسامی ستونهای دید میباشد که جایگزین نام اصلی ستونها میشود.
اگر از این قسمت استفاده نکنید نامهای اصلی نوشته میشود.
With check option: در قسمتهای بعدی آموزش مورد بررسی قرار میگیرند.
قسمت های دیگر دستور create view نیز به شکل زیر میباشند:
View_name: نام دیدی است که در حال ایجاد کردن آن هستید.
Select_statement: یک دستور select میباشد که مشخص میکند هنگام استفاده از دید دادهها چگونه بازیابی شوند.
مثال: ایجاد دیدی بر روی فیلدهای id و username و name از جدول users در بانک اطلاعاتی alefbyte.
- برای ایجاد دید ابتدا باید جدول users وجود داشته باشد. برای ساخت جدول users به شکل زیر مطابق با “نحوه کار کردن با جدولها در MySQL” باید عمل کرد:
[crayon-662df9947dabe824967128/]
دستور بالا ۴ سطر به users اضافه میکند. برای کسب اطلاعات در رابطه نحوه اضافهکردن به جدول اینجا کلیک کنید.
- حال جدول برای ایجاد دید آماده شدهاست. برای ایجاد دید دستور زیر را وارد کنید تا دید userview ساخته شود.
دستور بالا قسمتهای اختیاری دستور create view اعمال نشدهاست. برای مشاهده اطلاعات دید ساخته شده، دستور زیر را وارد کنید:
[crayon-662df9947dacb980888844/]- حال میخواهیم userview را با تغییر نام ستونها ایجاد کنیم برای این کار میتوانیم از دستور زیر استفاده کنیم:
در این دستور از «or replace» به دلیل وجود «userview» از قبل استفاده کردیم. «Or replace» بررسی میکند که اگر «userview» از قبل وجود دارد دید قبلی را پاک کرده و دید جدید را با همان نام جایگزین میکند. اگر هم وجود نداشته باشد دستور create اجرا میشود. بعد از نام دید نیز نام ستونهای جدید را تعیین کردیم.
برای مشاهده دید از دستور زیر استفاده کرد:
[crayon-662df9947dad1896590754/] نکته: نام ستونهای دید باید متفاوت باشند اگر از ستونهای چند جدول مختلف در دید خود استفاده میکنید که نام آنها یکسان است باید حتما نام آنها را در دید تغییر دهید.خب در اینجا به پایان قسمت اول از آموزش تراکنشها در MySQL میرسیم.
لطفا نظرها و دیدگاههای خود را برای افزایش کیفیت پستهای بعدی با ما درمیان بگذارید.
منبع: سایت رسمی MySQL