ورود ثبت نام

ورود به حساب کاربری

نام کاربری *
رمز ورود *

ایجاد حساب کاربری

گزینه های * دار الزامی می باشند.
نام *
نام کاربری *
رمز ورود *
تائیدیه رمز ورود *
نشانی پست الکترونیک *
تائیدیه پست الکترونیک *

کوئری نویسی در SQL SERVER - مقدمه

یکی از اهداف اصلی جهت ذخیره اطلاعات در یک دیتابیس اینست که بتوانیم از این اطلاعات، گزارش های مورد نیازمان را با انجام محاسبات ساده و یا پیچیده تهیه کنیم و این کار تنها از طریق کوئری نویسی در SQL SERVER امکان پذیر است. به عبارتی دیگر بعد از اینکه یک دیتابیس را براساس قواعدجامعیت و نرمالسازی طراحی کرده و اطلاعات را در جداول آن ذخیره می کنیم، نیاز داریم تا با کوئری نویسی، به صورت روزمره بر روی این رکوردها عملیات (CRUD(Create- Read_ Update- Delete انجام دهیم. در واقع آنچه یک طراحی جامع و نرمال از دیتابیس و جداول را تکمیل می کند، کوئری نویسی مناسب و بهینه است.

امروزه باید این واقعیت را بپذیریم که تنها آشنایی با دستورات کوئری نویسی ابتدایی CRUD مانند select، Insert، Update و Delete در sql server جهت تهیه گزارشات و عملیات مورد نیاز ما در برنامه های کاربردی کافی نیستند. همانطور که همراه با ارائه هر نسخه جدید از Sql Server دستورات و امکانات جدید کوئری نویسی نیز ارائه می شود ما هم بایستی همگام با این تغییرات بروز شویم و از این دستورات در جهت افزایش سرعت و کارایی بهره ببریم.


کوئری نویسی در SQL SERVER - جعبه ابزار QUERY

در مجموعه آموزش های کوئری نویسی در SQL SERVER به دنبال ارائه یک جعبه ابزار تأمین کننده امکانات زیر هستیم: 

     1. رهایی از محدودیت ها مانند الزام به نوشتن ستون های group by در select

     2. توابع آماده نسخه های جدید sql server به جای طراحی آن ها توسط خودمان. مانند تابع split در sql 2016

     3. کوئری های پرکاربرد مانند استخراج nامین رکورد جدول، صفحه بندی، جستجو بر اساس چندین فیلد

     4. عملگرهای مجموعه ای(except- union- intersect)

     5. عملیات دسته ای مانند TVP و درج دسته ای در جداول

     6. ساده کردن تهیه گزارشات پیچیده با استفاده از دستوراتی مانند cross apply، pivot

     و ...

اگر چه دستورات کوئری نویسی در SQL SERVER کم نیستند اما سعی می شود به آموزش دستوراتی بپردازیم که:

     1. کاربرد بیشتری دارند.

     2. در جدیدترین نسخه از sql server ایجاد شده اند(در زمان نوشتن این مطلب sql 2017 جدیدترین نسخه است)

     3. نسبت به دستورات مشابه، ساده تر، سریع تر و دارای تعداد خطوط کمتری هستند.


کوئری نویسی در SQL SERVER - چند توصیه

در آموزش ها همواره بر دو نکته مهم تأکید دارم:

در ابتدا با توجه به اینکه برخی افراد تازه وارد به حوزه sql server، دارای سابقه برنامه نویسی با زبان های مختلف هستند و بدون توجه به تفاوت اساسی بین این دو(sql و زبان های برنامه نویسی) با همان ذهنیت برنامه نویسی که داشته اند شروع به کوئری نویسی در SQL SERVER نیز می کنند که در برخی موارد منجر به کاهش کارایی و یا حتی تولید خروجی اشتباه خواهد شد. به عنوان مثال، ما در زبان های برنامه نویسی عادت کرده ایم که برای کار با مجموعه ها از حلقه(مثلاً for each) استفاده کنیم و در هر لحظه با یک داده کار کنیم که این مورد در زبان های برنامه نویسی با کارایی خوبی پشتیبانی می شود. حال اگر بخواهیم با همین ذهنیت به کوئری نویسی در SQL SERVER بپردازیم، بایستی از cursor استفاده کنیم در حالی که در اکثر مواقع cursorها بدترین انتخاب از نظر کارایی هستند! و کلاً sql برخلاف زبان های برنامه نویسی،با مجموعه ها خیلی بهتر و سریع تر کار می کند تا تک رکورد.

نکته بعدی این است که برای موفقیت کوئری نویسی در SQL SERVER، در ابتدا باید این زبان را بخوبی بشناسیم، یعنی اینکه با نحوه اجرای کوئری در sql server آشنا شویم و بدانیم توجه به چه نکاتی در بهتر و سریع تر اجرا شدن یک کوئری توسط Sql Server تأثیر گذار هستند(مانند استفاده نکردن از * در دستور select) و نیز مراحل اجرا شدن کوئری، پس از تحویل آن به Sql Server را بشناسیم(در مجموعه آموزش های ترفندها و افزایش سرعت و کارایی به این موارد می پردازیم). در ادامه باید با استثناها و به عبارتی دیگر موارد عجیب و غریب در Sql آشنا شویم مثلاً Halloween  Problem،یا شیوه ارزیابی عبارات منطقی در sql، عملکرد متفاوت عملگر Not In در صورت وجود مقدار Null و ... . 

   

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید