بررسی تخصصیتر SQL Server Management Studio
پانلی با عنوان object explorer در SQL Server Management Studio در دسترس توسعه دهندگان قرار گرفته است که با استفاده از آن براحتی می توانند در بین آبجکتهای پایگاه داده کندوکاو نمایند. در واقع اقدام به تنظیم آبجکت هایی از قبیل Tableها، Taskها و Viewها بنمایند و برای دریافت جدیدترین آپیدتهای دیتابیس اقدام به رفرش فولدرهای Parent ساختار hierarchy آن بنمایند. دانشپژوهان علاوه بر مبانی یاد شده، همچنین نحوه تعریف یک New Query را فرا میگیرند. از کوئری ایجاد شده در دیتابیسهای موجود در اس کیو ال سرور اجرا می گیرند و در حین کدنویسی از منوی پیشنهادات Microsoft intellisense استفاده خواهند کرد.
فهرست مطالب آموزش
نگاهی به آپشنهای object explorer در microsoft sql server management studio
در ادامه، ما با نگاه به object explorer در microsoft sql server management studio، optionهای متفاوتی، برای اجرای وظایف مدیریتی میبینیم. و همانطور که مشخص است، بصورت چسبیده به هم و زیرمجموعهوار وجود دارند، و ما میتوانیم از آنها استفاده کنیم.
بنابراین ما حالت نمایش درختی database را باز میکنیم. موقعیت یاد شده جایی است که ما به صورت نرمال، databaseهای کاربر را میبینیم. این را هم یادآور شوم، هنوز هیچ databaseای نداریم پس من دیتابیس جدیدی را داخل لیست باز شده ندارم، و مواردی که وجود دارند، بعد از نصب نرمافزار به صورت خودکار بوجود آمدهاند.
اما در قسمت system database، که زیرشاخه database است، پایگاه دادهها به صورت لیست شده وجود دارند.
من میتوانم آنرا باز کنم و 4 نوع system database را، با نامهایmaster، model، msdb tempdb ببینم.
من میتوانم هر یک از آنها را باز کنم و یک لیست بزرگی از انواع objectها را، در database به صورت tableها وviewها، ببینم.
ما میتوانیم لیست tableها را باز کنیم، خواهیم دید که هیچ جدول کاربریای در آن وجود ندارد، چون ایجاد نکردهایم، ولی تقریباً تمامی جداول مربوط به خود سیستم، که تا به حال ایجاد شده، وجود دارند و همانطور که میبینیم، تعداد زیادی از آنها در موقعیت یاد شده وجود دارند.
تنظیم Tableها، Taskها و Viewها با آپشن Properties
من میخواهم اندازه پانل object explorer خود را برای اینکه بهتر موارد موجود در آنرا ببینم، تنظیم کنم.
و حالا من میتوانم داخل هر کدام از جدولها بروم. برای اینکار، روی جدول موردنظر خود کلیک راست میکنم،
و به قسمت properties، یعنی به پایینترین گزینه از منوی کلیک راست میروم. معمولاً گزینه مورد نظر، آخرین گزینه است.
و در پنجره Table Properties، تقریباً تعداد کاملی از تنظیمات وجود دارد. برخی از آنها فقط خواندنی یا Read و برخی دیگر هم، Read Write، به معنای اینکه هم خواندنی و هم نوشتنی هستند.
من میتوانم پیش رفته و وظایف مربوط به مدیریت را اجرا کنم.
کاری که ما الان انجام دادیم و گزینه Properties را با کلیک راست برای Tablesها فراخوانی کردیم، فقط مخصوص Tables ها نیست و میتوانیم با TASKها و یا مقادیر و چیزهای دیگر هم اینکار را انجام دهیم.
ما همچنین میتوانیم نگاهی به جزئیات گزینههای موجود در viewها هم، داشته باشیم. برای اینکار دوباره کلیک راست میکنیم و به قسمت properties میرویم.
من مجموعهای متفاوت از propertiesها میبینم. برخی از فیچرهای propertiesها مشابه مورد قبلی هستند و برخی دیگر مثل permissionsها کار با آنها خیلی ساده هست، اما برخی دیگر از فیچرهای این پنجره متفاوت هستند.
پس یادآوری میکنم درمورد هر object من میتوانم روی آن آبجکت راست کلیک کنم و به پنجره properties آن نگاه کنم و برخی از خواص آنرا تغییر بدهم.
رفرش ساختار درختی پانل Object Explorer
یک چیزی که شما باید در کاوش در درخت نمایش، نسبت به آن آگاهی داشته باشید و به آن دقت کنید، احتمال نیاز داشتن به refresh هست.
بنابراین حالا من یک لیست از تمام system viewها در این database را میبینم.
اگر یک view جدید ایجاد بشود و اگر آنرا به صورت باز شده داشته باشم، احتمالاً آن، به صورت اتوماتیک بالا نمیآید. برای این که من view جدید را ببینم، روی پوشه parent مورد نظر خود راست کلیک میکنم و refresh را میزنم، و بعد از آن هر چیزی که در دسترس هست را، به من نشان میدهد. بنابراین بکارگیری رفرش چیزی هست که شما میخواهید از لحظه به لحظه Object Explorer آگاه شوید، درست زمانی که شما یک object جدید را ایجاد میکنید، ممکن است همان لحظه در object explorer موجود و قابل دسترس نباشد پس ممکن است که احتیاج به این داشته باشید که آنرا رفرش کنید.
رابط گرافیکی کوئری جدید در SQL Server Management Studio
علاوه بر موارد و قابلیتهای یاد شده، ما همچنین برای اداره ساختارهای گرافیکی یک آپشن، و اداره این قبیل امور، گزینه و دستوراتی داریم، که آنجا باید دستورات خود را با تایپ کردن پیگیری و بررسی کنیم.
ما معمولاً در یک query window اینکار را انجام میدهیم و این همان آپشن و گزینهای است که به ما در اداره ساختار گرافیکی کمک میکند. بنابراین، به نوار منو میرویم و روی new query کلیک میکنیم.
برای من یک صفحه جدید باز میکند. در کوئری جدید من میخواهم یک دستور پایهای تایپ کنم، پس select را مینویسم. دستور select برای انتخاب یک داده از پایگاه داده استفاده میشود و یک space و* که در اصطلاح پایگاه دادهای به آن star گفته میشود، ولی بدانید اشتباه میکنند و ستاره درستتر است، پس ستاره رو میگذارم.
وقتی که علامت * بعد از select استفاده میشود، به معنی انتخاب همه ستونهای جدول است، بعد از آن from به معنی “انتخاب از”، و دوباره یک space و بعد از آن واژه sys.all-objects را میگذارم.
بنا بر این اساس، دستور تایپ شده همه اطلاعات را از یک view به نام sys.all_object به من میدهد.
به منظور اجرای دستور، من روی علامت تعجب قرمز که به آن execute گفته میشود، کلیک میکنم.
و یکبار که اینکار را انجام بدهم در پایین پنجره همه اطلاعات viewای که با نام sys.all_object ذخیره شده، برای من برگردانده میشود.
SELECT
FROM sys.all_objects
تغییر پایگاه داده در حین اجرا کوئری
در این نمونه خاص، دستور در پایگاه داده msdb اجرا شده، دلیل آن هم این است که الان حالت کشوییای که در بالا و سمت چپ وجود دارد گزینه msdb برای آن انتخاب شده است.
من میتوانم فرمانی دقیقاً مشابه به همین ولی در یک پایگاه داده دیگر اجرا کنم، اینکار فقط با تغییر در گزینههای حالت کشویی منو یاد شده انجام میشود و بنابراین من آنرا به tempdb تغییر میدهم و دوباره روی گزینه execute کلیک میکنم، و اینبار نتایج متفاوتی از آن را در پایین میبینم.
بنابراین من دستور مشابهی را در پایگاه داده متفاوت اجرا کردم و همانطور که انتظار میرفت، نتیجه متفاوتی را در پایین و بخش Results دیدم.
بنابراین همیشه در هنگام اجرای دستور، باید به حالت کشویی بالا دقت کنید، که در کدام پایگاه داده اجرا بشود. چون نتایج برای هر کدام متفاوت است. اگر شما علاقهای به استفاده از حالت کشویی ندارید، یک راه برای لغو این حالت وجود دارد و ما میتوانیم بالای query خود، کلمه use و بعد از آن نام هر پایگاه دادهای را که می خواهیم، تایپ کنیم.
بنابراین در حال حاضر، دستوری که در پنجره query وجود دارد در پایگاه داده master اجرا خواهد شد.
چیزی که شما الان متوجه آن شدید این است که چون من use master را نوشتم، همانطور که دیدید اگر روی execute کلیک کنم، دوباره این نرمافزار قدرتمند مایکروسافت آن پایگاه داده master را اجرا خواهد کرد.
USE master
SELECT
FROM sys.all_objects
استفاده از پیشنهادات Microsoft intellisense در حین تایپ دستور
یک نکته دیگر که شما ممکن است در زمان تایپ، متوجه آن شده باشید، این است که دستگاه در هنگام تایپ به من یکسری پیشنهادات، نشان میدهد.
مثلاً بعد از sys.، یک لیست از هر چیزی که حس میکند بعد از واژه sys. درست است، را در قالب یک منو به من میدهد، به این قابلیت microsoft intellisense گفته میشود. اما این قابلیت میتواند کمی هم شما را در شروع استفاده از منو یاد شده گیج کند. اما با گذشت زمان به طور معمول در پیدا کردن و سرعت دادن، به شما کمک میکند. منو پیشنهادات تلاش میکند زمانی که شما یک کلمه را تایپ میکنید، قبل از اینکه تایپ کلمه مورد نظر شما، تمام بشود، پیشنهاد خود را بلافاصله به شما بدهد.
بنابراین هر یک از گرینههای موجود در لیست، در یک زمان، مفهوم پیدا میکند و به نحوی میشود گفت هر یک از آنها معتبر هست.
و همچنین اگر تایپ کردن شما خوب نیست و یا اینکه حروف تایپ را در کیبورد خود ندارید، میتوانید یکی از گزینههای منوی پیشنهادات را در رابط گرافیکی خود انتخاب کنید و روی آن کلیک کنید، و آنرا در جای مناسب قرار بدهید.
دقیقاً گویا که شما تایپ کردهاید و سپس میتوانیم جلو برویم و آنرا اجرا کنیم و نتایج زیادی را بگیریم.
بنابراین شما نیاز دارید که مقداری از زمان خود را برای آشنایی با intellisense بگذارید و بدانید دوباره آن به صورت اتوماتیک در متنهای مختلف، بعد از اینکه برخی چیزها را تایپ کردهاید ظاهر خواهد شد و اتوماتیک پیشنهادات خود را ارئه میکند.
باز هم ممکن است در ابتدا کمی باعث گیجی و حواسپرتی شما بشود اما معمولاً در درازمدت متوجه خواهید شد که بسیار مفید است.