# پایگاه‌های داده > SQL Server > T-SQL >  برنامه نویسی تحت SQLServer

## ASKaffash

با سلام به همه دوستان فروم برنامه نویس
مجموعه پیوست براساس دستورات کاربردی در پروژه های واقعی به نگارش درآمده است که نتیجه بیش از 10 سال تجارب اینجانب است که امیدورام مورد استقبال واقع گردد

----------


## DataMaster

اگه اون مباحث اخرش بیشتر توضیح داده میشد خیلی بهتر میشد، مباحث اولیه منبع زیاد هست ولی در مورد مباحث پیشرفته منابع فارسی کمی وجود داره

----------


## ASKaffash

با سلام
دوست عزیز در حال ویرایش جدید هستم حتما مباحث پبشرفته را بیشتر تشریح میکنم باز هم از نظر شما تشکر میکنم

----------


## km144ir

با سلام  ASKaffash
اگر ممكنه بگي از چه فونتي استفاده كردي چون در word من همه آن بهم ريخته ، اگر ممكنه فونت يا PDF مقاله Kaffash_SQLServer_Book برايم ارسال داريد . با تشكر

----------


## ASKaffash

> با سلام ASKaffash
> اگر ممكنه بگي از چه فونتي استفاده كردي چون در word من همه آن بهم ريخته ، اگر ممكنه فونت يا PDF مقاله Kaffash_SQLServer_Book برايم ارسال داريد . با تشكر


با سلام
فایل PDF را قرار دادم:

----------


## km144ir

سلام آقاي كفاش جزوه بسيار جالب و كاملي را ارائه كرده ايد لطفا اگر ممكن است در صورت كامل تر  نمودن آن ما را باخبر كنيد . با سپاس فراوان كوروش

----------


## DotNet_King

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

اگه ممکنه راجع به روش راشمر و database tunning adviser  قسمت هایی رو به کتابتون اضافه کنید.

ممنونم :قلب:

----------


## fateme.moosavi

با سلام و تشكر
فايل word درهم ريخته ؛ لطفا pdf بگذاريد.

----------


## ASKaffash

سلام
در همین تاپیک ودر پست 5 PDF قرار دارد

----------


## alex_pk

سلام
خیلی ممنون
آیا آموزش نصب هم داده شده؟

بعد این چه ورژنی از sql server
؟

بازم ممنونم.
موفق باشید.

----------


## ASKaffash

> سلام
> خیلی ممنون
> آیا آموزش نصب هم داده شده؟
> 
> بعد این چه ورژنی از sql server
> ؟
> 
> بازم ممنونم.
> موفق باشید.


سلام
هدف از این جزوه آموزش برنامه نویسی SQLServer است(Developer)
موضوع به گونه ای تدوین شده که برای SQLServer 200X است در واقع در تمام نسخه های اشاره شده قابل استفاده است(بیشتر به موضوعات تکنیکی پرداخته میشود)

----------


## منصور بزرگمهر

دوست عزیز با تشکر از جزوه کامل شما.
اما بقول دوستان اگر کاملتر شد، ما را بی بهره نگذارید، و علی الخصوص در مورد سه مبجث آخری "LinkedServer ,OpenRowSet , OpenDataSource" توضیحات بیشتر و مثالهای بیشتری بزنید.
متشکرم - بزرگمهر

----------


## محمد سلیم آبادی

> با سلام به همه دوستان
> دیدم دوستان زیادی مشکل دستورات SQL دارند جزوه برای کمک در پیوست گذاشتم
> اگر نظر برای تکمیل تر شدن بدهید ممنون میشوم


سلام،
تشکر از زحمتی که کشیدین، مطالب آموزنده ی فراوانی داشت.
ولی پیشنهاد می کنم برای تکمیل تر شدن جزو به مطالب زیر به طور مفصل بپردازین:

Set operations
Data integrity
Self referencing
Recursion CTE
Pivot and Unpivot
Ranking Functions
Merge

----------


## pbiuki630

> با سلام به همه دوستان
> دیدم دوستان زیادی مشکل دستورات SQL دارند جزوه برای کمک در پیوست گذاشتم
> اگر نظر برای تکمیل تر شدن بدهید ممنون میشوم


 
ممنونم از این جزوه خوبتون،ولی میخوام bsck up گیری، import/export .ساختDTS و... رو  هم یاد بگیرم وو لازمشون دارم به نظرتون باید چی کار کنم؟

----------


## محمد سلیم آبادی

> ممنونم از این جزوه خوبتون،ولی میخوام bsck up گیری، import/export .ساختDTS و... رو هم یاد بگیرم وو لازمشون دارم به نظرتون باید چی کار کنم؟


فکر کنم آقای کفاش باید دست به کار شوند و یک جزوه کامل دیگری راجب به مفاهیم و ابزار های مدیریت (Admin) پایگاه داده ها مثل Shrink و Back up and restore و Replication و ....
و همچینن مفاهیم مربوط به Server مثل Authentication و Permission و ... بنویسند!!

----------


## ASKaffash

سلام
از نظرات همه دوستان تشکر می کنم:
واقعیت این است که در نظر دارم با نگاهی متفاوت نسخه ای را ویرایش کنم (البته Developer ) و بیشتر بهینه سازی و افزایش سرعت را مد نظر دارم

----------


## ASKaffash

> آقای کفاش نسخه جدید چی شد ؟


 با سلام
مطالبی را بصورت دستی جمع آوری کرده ام که بیشتر وزن در مبحث بهینه سازی روی یک بانک اطلاعاتی 100 میلیون رکوردی است و روشهای افزایش سرعت ولی متاسفانه فعلا در حد ارائه نیست

----------


## ASKaffash

> من نمی تونم این فایل رو دانلود کنم برای چی؟؟؟ لطفا کمکم کنید.


 سلام
مشکلی نیست از پست 5 درست دانلود میشود

----------


## fidelio

آقای کفاش، بسیار کار عالی ای کردید. این کار شما یک نمونه ی عالی از کتاب های آزاد الکترونیکی است که در سطح بین المللی کار زیبایی است.
من بیشتر تقاضا دارم که کاش یک مقدار مباحث از حالت تئوریک بیرون می آمد و مثلاً از عکس های محیط و result های این کدها در محیط، عکس یا نکته اضافه می شد.

ممنون

----------


## imanjanam

سلام دوستان 
آیا راهی وجود داره که بانک اطلاعات رو  read only کرد و هیچ کس نتونه  بانکو از اسکیوال 
دستکاری کنه؟
ترجیحا میخام جدولا دستکاری نشن و همچنین اطلاعاتشون
مرسی :متفکر:

----------


## ASKaffash

> سلام دوستان 
> آیا راهی وجود داره که بانک اطلاعات رو read only کرد و هیچ کس نتونه بانکو از اسکیوال 
> دستکاری کنه؟
> ترجیحا میخام جدولا دستکاری نشن و همچنین اطلاعاتشون
> مرسی


 سلام
در صفحه 80 سئوال 5 همچنین موضوعی را مطرح کرده ام (راهنمائی = با تریگر)

----------


## محمد سلیم آبادی

> سلام
> در صفحه 80 سئوال 5 همچنین موضوعی را مطرح کرده ام (راهنمائی = با تریگر)


سلام،
برای عدم دستکاری داده های جدول DML Trigger و برای عدم تغییر ساختار جدول از DDL Trigger استفاده می شود.

آیا در مطالبی که نوشته اید به DDL Trigger هم اشاره کرده این؟ چون نتوانستم در مورد DDL Triggers چیزی پیدا کنم.

----------


## ASKaffash

سلام
چیزی ننوشتم بلکه سئوال مطرح کردم ولی یک راه :
ایجاد یک تریگر از نوع Instead of که هیچ عمل تعاملی را انجام ندهد عملا جدول قفل می شود :

Create Trigger MyTrigger On MyTable
Instead Of Insert , UpDate , Delete
As
Declare @I BigInt

----------


## peyman13618

با تشكر از زحمات شما در تهيه اين جزوه ي مختصر و مفيد، مي خواستم بدونم در مورد administrator بانك sql برنامه اي نداريد؟ يا مي تونيد يه كتاب خوب و كاربردي admin رو پيشنهاد بدين؟ كتاب زياد هست تو اينترنت ولي اگه شما چيزي رو مورد نظرتون هست بگين براي ما بهتره و مفيد تر ميشه. باز هم تشكر از آقاي كفاش

----------


## ali190

سلام
جناب کفاش خیلی خیلی از جزوتون استفاده کردم
امکانش هست در زمینه مدیریت دیتابیس و با SQL SERVER در شبکه هم جزوه ای در اختیار دوستان قرار بدید؟
ممنون از شما
یاعلی

----------


## ASKaffash

سلام
متاسفانه توان فنی در این حوزه را ندارم و بیشتر روی T_SQL کار می کنم

----------


## امیر مهرشاد

سلام جناب آقای کفاش از تمامی زحمتهایی که دارین برای بچه ها و تالار میکشید کمال تشکر و قدر دانی رو دارم حتما نظر بقیه بچه ها هم از این موضوع خارج نیست اگر مقاله رو تکمیل تر کردید ما را هم از نتیجه همکاریتون مطلع فرمایید. با سپاس

----------


## ASKaffash

سلام
دوره آموزشی جدیدی را دارم که در حال اتمام است کلیه فیلمهای آموزشی تهیه شده است و شاگردان کلاس در حال جمع آوری مطالب هستند که هم تئوری کامل و هم عملی است اگر ویراستاری کامل شود در سایت قرار خواهم داد متاسفانه نزدیک به 12 گیگ فیلم های کلاس شده و نمی دانم چطوری در سایت قرار دهم برای #C هم همین اتفاق افتاده و حجم فیلمهای آموزشی کلاس خیلی زیادتر شده و در آینده PDF آن نیز منتشر می کنم (کار تیمی بین مدرس و کلیه شاگردان کلاس خواهد بود که برای هموطنان انشاالله مفید باشد)

----------


## sasan_22

با سلام و خسته نباشید خدمت همه دوستان
از آقای کفاش ممنونم چون کتاب الکترونیکی جامعی در رابطه با SQL کمتر پیدا می شد که ایشون لطف کردند این کتاب رو آماده کردند منتها از آنجایی که با دانلود این کتاب فونت ها و تمامی مطالب کمی از حالت ویرایش خارج می شد بنده فایل PDF این سند را آماده کردم .
نکته : این فایل PDF از اول کتاب تا انتهای فصل سوم ویرایش تنظیم و آماه شده است . فونت مورد استفاده Lotus می باشد که هم فونت - هم فایل Word و هم فایل PDF را آماده و در اختیار دوستان قرار دادم .
با تشکر

http://uplod.ir/pfox8m98lgiu/SQL.zip.htm

----------


## asdf4040

> سلام
> دوره آموزشی جدیدی را دارم که در حال اتمام است کلیه فیلمهای آموزشی تهیه شده است و شاگردان کلاس در حال جمع آوری مطالب هستند که هم تئوری کامل و هم عملی است اگر ویراستاری کامل شود در سایت قرار خواهم داد متاسفانه نزدیک به 12 گیگ فیلم های کلاس شده و نمی دانم چطوری در سایت قرار دهم برای #C هم همین اتفاق افتاده و حجم فیلمهای آموزشی کلاس خیلی زیادتر شده و در آینده PDF آن نیز منتشر می کنم (کار تیمی بین مدرس و کلیه شاگردان کلاس خواهد بود که برای هموطنان انشاالله مفید باشد)


سلام دوست عزیز چی شد ما منتظریم

----------


## hamid_hr

> چهارشنبه 17 آبان 1391, 06:53 قبل از ظهر


یعنی از اون موقع هنوز منتظرین شما؟ :متفکر:   :متعجب:

----------


## masout

با سلام 
برای تمرین کردن دستورات چه روشی رو پیشنهاد میدین؟
اموزشگاهی که میرم زیاد query و تمرین نمیده و من احساس میکنم به تمرین بیشتر نیاز دارم برای تسلط 
ممنون میشم راهنمایی کنید.

----------


## ASKaffash

با سلام
بهترین روش یک پروژه واقعی در ابعاد کوچک است البته زیر نظر یک فرد باتجربه در معماری بانک اطلاعاتی در خصوص تمرین سعی کنید تمرینات آخر جزوه را حتما حل کنید چون نکات فنی زیادی در خود دارند (البته بعضی از سئوالات سخت هستند)

----------


## noroozifar

از زمانی که ef و linq امده تو سی شارپ من دیگه دستور تو اس کیو ال ننوشتم حتی پروسیجر هم تعریف نکردم    به نظرتون اشتباهه ؟ :خجالت:

----------


## ASKaffash

سلام
بنظر من دو اشکال وجود دارد :
1- شاید در آینده LINQ توسط دات نت توسعه داده نشود مشابه این اتفاق بارها توسط مایکروسافت دیده شده
2- در خیلی از موارد برای انجام فعالیتهای نرم افزاری هیج نیازی به محیط برنامه نویسی نیست و اساسا" با تکیه بر T_SQL یا PL_SQL می توان کارهای بسیار خوبی را پیاده سازی کرد

----------


## Doniiia

سلام 
جناب آقای کفاش از شما بابت مطالبی که در اختیار ما قرار دادید تشکر می کنم 
منتظر مطالب تکمیلی شما هستم 
ممنون

----------


## RHamidR

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

و اینکه آیا این جوابی که من برای یکی از مثالهای جزوه نوشتم درسته جواب خودشون رو هم میزارم

مثال) یک sp جهت استفاده در خروجی مدیریتی زیر طراحی نمایید.
         واحد سازمانی                                          تعداد  کارکنان                                                     تعداد افراد تحت تکفل
         ----------------------------                  --------------------------                        -------------------------------
         ----------------------------                  --------------------------                        -------------------------------
         ----------------------------                  --------------------------                        -------------------------------

کد ایشان
Create Proc Mis1 AS
Select  UnitName , (Select count(*) from person Where UnitID=U.UnitID) As PCnt ,  (Select Count(*) from child where (Select UnitID From Person Where  PrsID=Child.PrsID) = U.UnitID) As TCnt
From Unit As U
Order By UnitName

و  چیزی که من قبل از دیدن جواب نوشتم میخوام بدونم درسته یا نه. فقط جای  دوتا از فیلدا تغییر کرده که میخوام بدونم همون جوابو میده یا نه
چند ساعته سر همین درگیرم که واقعا میتونه غلط باشه؟، و کسی هم نیست بپرسم ازش. برای سادگی همه چیو مثل ایشون نامگذاری کردم.


Create Proc Mis1 AS

 Select  UnitName , (Select count(*) from person Where UnitID=U.UnitID) As PCnt ,  *(Select Count(*) from child where (Select  PrsID From Person Where UnitID=U.UnitID) = PrsID)* As TCnt
From Unit As U
Order By UnitName

----------

