آموزش SQLserver (بخش یازدهم)

ایجاد کردن Check Constraint

شناخت Check Constraint
یکی از مهمترین بازرسی های طراحی پایگاه داده یکپارچه سازی داده ها می باشد. قاعده یکپارچگی داده ها تضمین می کند که داده های ایجاد شده در پایگاه داده اگر درست نباشد حداقل قابل قبول می باشد. چندین سطح از یکپارچگی داده ها وجود دارد. در درس 7 ما درباره یکپارچگی رابطه ای مطالعه کردیم که تضمین می کند اجتماع بین جداول ایجاد و به طور صحیح نگهداری می گردند.
Check Constraintsبرای اجرای دو فرم اضافی از یکپارچگی پایگاه داده استفاده می شود. domain Integrity و entity Integrity . در اصطلاحات رابطه ای که Domain محدوده ای از مقادیری است که یک ستون می تواند داشته باشد. نوع داده های یک ستون یکی از ویژگیهای از یک Domain می باشد، اما تعریف نوع داده معمولاً کافی نیست. برای مثال، یک ستون Smallint می تواند شامل مقادیر صحیح از 768/32- تا 767/32 می باشد که ممکن نوع داده مناسبی برای یک ستونی که شامل سالی است که یک کارمند مدرک دانشگاهی را در دریافت می کند باشد. اما حدود اصلی مقادیر ستون Year Degree Awarded بیشتر محدود شده و بین 1900 و سال جاری می باشد. شما از یک Check Constraints استفاده می کنید، برای تخمین اینکه هیچ کس به طور واقعی مقادیر 1543 یا 2075 را به عنوان مقدار ستون وارد نمی کند. Entity Integrity Constraints جامعیت از موجودی خودش را اجرا می کند. مهمترین محدودیتهای یکپارچگی موجودیت آن است که هر موجودیت Entity Integrity باید به طور واحد قابل شناسایی باشد. این محدودیت به وسیله مشخص کردن یک کلید اصلی برای جدول انجام می گیرد. یکپارچگی موجودیت همچنین می تواند درگیر ارزیابی شرطی از چندین ستون در یک جدول باشد و این نوع از محدودیت اغلب بیشتر با استفاده از Check Constraints انجام می گیرد. برای مثال، اگر یک جدول شامل ستونهای کشور و ایالت باشد شما ممکن از یک Check Constraints برای مشخص کردن اینکه ارزش ستون State ، "AZ" معتبر می باشد فقط اگر ستون Country شامل مقادیر USA باشد. Check Constraint به عنوان Boolean Expressions شناخته می شود یک Boolean Expressions برای مقادیر True یا False ارزیابی می گردد. Boolean Expressions را در درس 13 می آموزیم. در این درس ما از عبارت LEN()>=4 استفاده می کنیم. LEN یک تابع Transact-SQL می باشد که تعدادی کارکترهای یک رشته را برمی گرداند. بنابراین عبارت LEN()>=4 ارزش آن اگر شامل 4 یا بیشتر کارکتر باشد ارزش آن True و اگر کمتر از 4 باشد ارزش آن False می گردد.


ایجاد کردن Check Constraint)
مانند ایندکس ها و پیوندها شما می توانید Check Constraints را با استفاده از کادر محاوره ای Properties از Table Designer ایجاد کنید.
1- Table Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و Design Table را انتخاب می کنیم. Table Designer , SQL Server را باز می کنیم.

2- دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designer Properties را با صفحه خصوصیات Constraints Check نشان داده شده باز می کنیم.

3- New را کلیک کرده Ck-Oils , SQL Server را به عنوان نام محدودیت پیشنهاد می دهد. برای این مثال این نام را می پذیریم.

4- Len(Oil Name)>=4را به عنوان عبارت محدودیت وارد می کنیم.

راهنمایی: اگر شما یک Check Constraint جدید را ایجاد می کنید و مراقب نیستید که آیا داده های موجود متابعت می شوند، شما می توانید بگوید به SQL Server که از ایجاد کردن داده به وسیله چک نکردنCheck Existing Data On Creation از محدودیت چشم پوشی کند.
5- Close را کلیک کرده SQL Server کادر محاوره ای Designers Properties Table را می بندد.
6- دکمه Save را کلیک کرده SQL Server کنترل می کند که همه سطرها در جدول باCheck Constraint مواجه می شوند و سپس محدودیت را ذخیره می کنیم.

مدیریت Check Constraints
به عنوان بخشی از طرح پایگ اه داده، Check Constraints نباید تحت شرایط نرمال نیاز به مقدار زیاد نگهداری داشته باشد. شما آنها را یکباره تعریف کرده زمانی که پایگاه داده را ایجاد می کنید. اگر چه طرحهای پایگاه داده به تدریج تغییر خواهد کرد. تغییرات Check Constraints تغییر خواهد کرد. Enterprise Manager نگهداری محدودیتها را آسان می سازد.

تغییر دادن Check Constraint
Table Designer مکانیزمی برای تغییر متن از یک Check Constraint از همان کادر محاوره ای که شما برای ایجاد آن استفاده کردید فراهم می کند.

تغییر متن محدودیت
1- اگر Table Designer برای جدول Oils هنوز از تمرین قبل باز نمی باشد به وسیله کلیک راست کردن نام جدول در قاب Details آن را باز کرده وDesign Table را انتخاب می کنیم. Table Designer , SQL Sarver را باز می کند.

2- دکمه Constraints را کلیک کرده SQL Sarver کادر محاوره ایTable Designer را با صفحه خصوصیات Check Constraint باز می کند.

3- اطمینان حاصل کنید کهCk – Oilsدر Constraint Combo Box انتخاب شده نشان داده شده است.
4- متن محدودیت را برایLEN (Oil Name )>2 به عنوان عبارت محدودیت جدید تغییر می دهیم.

5- Close را کلیک کردهSQL Server کادر محاوره ایTable Designer’s Properties را می بندد.
6- دکمه Save را کلیک کرده SQL Server همه سطرها در جدول را که با Check Constraint جدید مواجه است را کنترل کرده و سپس محدودیت را ذخیره می سازد.

نگهداری Check Constraints
مانند دیگر خصوصیات جدول دیگر، Check Constraints در کادر محاوره ای Properties ازTable Design نگهداری می گردد.

تغییر نام یک Check Constraints
1- Table Designer برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و Design Table را انتخاب می کنیم. Table Designer , SQL Server را باز می کنیم.

2- دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیات Check Constraint نشان داده شده باز می کند.

3- Ck-Oils را در فیلد Constraint Name انتخاب کرده و آن را به Ck-Deleteme تغییر می دهیم.

4- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.
5- دکمه Save را کلیک کردهSQL Server همه سطرها در جدول که باCheck Constraint مواجه شده اند را کنترل می کند و سپسConstraint ذخیره می گردد.

حذف یک Check Constraint
1- Table Designer برای جدول Oils را به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده و جدول Design را انتخاب می کنیم. Table Designer , SQL Server را باز می کند.

2- دکمه Constraints را کلیک کرده SQL Server کادر محاوره ای Table Designers Properties را با صفحه خصوصیاتCheck Constraint نشان داده شده باز می کنیم.

3- اطمینان حاصل کنید که Ck-Deleteme در فیلد محدودیت انتخاب شده می باشد و سپس Delete را کلیک می کنیم. SQL Server محدودیت را برمی دارد.

4- Close را کلیک کرده SQL Server کادر محاوره ای Properties را می بندد.
5- دکمه Save را کلیک می کنیم. SQL Server محدودیت را برمی دارد.
6- Table Designer را می بندیم.

آموزش SQLserver (بخش دهم)

ارتباط دادن جداول


Query هایی که در فصل 3 بررسی گردید سطرهایش از یک جدول تکی ترسیم گردیده است اما Query ها به ویژه می توانند مفید باشند برای ترکیب ستونهایی از چندین جدول یا نما که Joining Tables نامیده می شود و آن در شرطهای FROM یا WHERE از حالت SELECT انجام می گیرد. در این فصل ما بر روی ایجاد ارتباطها با استفاده از شرط FROM که روشی توصیه شده است متمرکز خواهیم شد.

شناختن شرط FROM
همان طوری که ما دیده ایم، ساختار پایه ای از شرط FROM به آسانی نام از یک جدول یا نما ساده را فراهم می سازد. اما برای دسترسی پیدا کردن به توانایی از مدل ارتباطی، ما باید به بازیابی ستونها از جداول چندگانه و نماها در یک Query خاص قادر باشیم. شرط FROM یک مکانیزمی برای انجام آن با استفاده از ساختار دستور زیر:FROMON
اپراتور پیوند انواع پیوند برای به انجام رسیدن را تشریح می کند. Server SQL پیوندهای داخلی و خارجی همه نوسانات را پشتیبانی می کند، همان طوری که در بخش بعدی خواهیم دید. شرایط پیوند یک تعبیری می باشد شبیه به ملاک که در شرط WHERE استفاده شده است. آن مشخص می کند که چگونه سطرها در دو جدول ارتباط خواهند یافت. بیشتر پردازشگرهای ربطی روی پایه ای از عبارتهای برابری مانند B ستون = A ستون به انجام می رسند. اما SQL Server هر اپراتور منطقی را پشتیبانی کرده و شرایط پیوند می تواند به طور دلخواه پیچیده باشد، با عبارات چندگانه پیوند یافته که از حرف ربط AND یا OR از همان راهی که یک شرط WHERE می تواند ملاک انتخابی چندگانه را شامل باشد استفاده کند. عبارت پیوند می تواند برای اضافه کردن جداول و نماهای اضافی برای Query تکرار شود. ساختار دستور برای پیوند جداول چندگانه عبارت است از: FROM
ON
یک حدود فرضی 256 جدولی برای هر Query وجود دارد، اما آن به حد زیاد غیر محتمل است که شما اصلاً نیاز به 5 یا 6 نیاز ندارید و 2 یا 3 بیشتر معمول می باشد. در حقیقت اگر شما نیاز به اتصال بیش از 10 جدول در یک Query باشید، شما باید به دقت طرح پایگاه داده آن را نگاه کرده برای اینکه مطمئن شوید که آن به طور صحیح به حالت عادی در آمده است.

ایجاد کردن پیوندها
پیوندها می توانند در Query Designer با استفاده هر کدام از قاب Grid یا قاب SQL ایجاد گردند. قاب Grid اغلب آسانتر می باشد اگر شما جداولی که رسماً در طرح پایگاه داده مربوط شده اند پیوند دهید، از موقعی که Query Designer پیوندی بین آنها به طور خودکار ایجاد خواهد کرد. اما به طور معمول قاب SQL با انعطاف پذیری بیشتر برای شما فراهم می گردد.

نامگذاری شئی ها
زمانی که شما با یک جدول یا نمای تکی کار می کنید آنجا می تواند هیچ ابهامی در حدود منابع از یک ستون نداشته باشد از موقعی که همه نام ستونها در یک جدول باید منحصر به فرد باشند. هنگامی که شما برای بار اول کار کردن با چندین جدول در یک Query را شروع می کنید یا شما باید برای مشخص کردن نام ستونها صریحاً مواظب باشید. مشخصات کامل برای هر شئی پایگاه داده چهار معرفه را در بردارد. نام سرور، نام پایگاه داده، نام صاحب، نام شئی. معرفه ها به وسیله پریودها جداسازی می گردند. بنابراین نام واجد شرایط از جدول Oils در سیستم من Bunny.Aromatherary.dbo.Oil می باشد. مقداری از شئی ها مانند نماها و جداول شامل شئی های دیگر می باشد. برای رجوع به یکی از این شئی های گنجانده شده (در این حالت، ستونها). شما به آسانی نام آن را به نام شئی ضمیمه می کنید. نام واجد شرایط کامل از ستون OilID از جدول Oils (Bunny.Aromatherapy.dbo.Oils.Oil ID) می باشد. خوشبختانه شما فقط نیاز به مشخص کردن کافی از درجه بندی ابهام اجتناب پذیر دارید.
در یک Query مبنی بر یک جدول تکی، برای مثال نام ستون به وسیله خودش دارای مشخصات کافی می باشد. اگر یک Query به بیش از یک جدول مربوط گردد، اگر چه جداول دارای ستونهایی با یک نام باشد. شما باید نام جدول را در نام شئی (Object) Oils.OilID , OilPropertise.OilID که تمایز را به طور کامل روشن می سازد لحاظ کنید.

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

پیوند دو جدول با استفاده از قاب دیاگرام
1- Query Designer جدول Oils را به وسیله کلیک راست کردن نام آن در قاب Details باز کرده روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنیم.

2- قاب دیاگرام را به وسیله کلیک کردن دکمه قاب دیاگرام روی نوار ابزار Query Designer نشان می دهیم.

3- دکمه Add Table را روی نوار ابزار Query Designer کلیک می کنیم. Query Designer کادر محاوره ای Add Table را نشان می دهد.

4- جدول PlantTypes را در لیست جدول انتخاب کرده و Add را کلیک می کنیم. SQL Server جدول را به Query اضافه می کند.
5- Close را برای بستن کادر محاوره ای Add Table کلیک می کنیم.

6- دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم. Query Designer قاب SQL را نشان می دهد.

7- علامت * را بعد از کلید واژه SELECT حذف می کنیم.

8- دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم. (OK را کلیک کرده اگر Query Designer یک متن خطا درباره ساختار دستور SELECT نشان دهد). Query Designer قاب SQL را پنهان می سازد.
مهم: زمانی که شما Query Designer را باز می کنید، حالت SQL معمولاً * را انتخاب می کند. انتخاب کردن ستونهای مشخص در قاب دیاگرام سبب می شود که آنها به لیست ستون اضافه شوند. مایکروسافت آن را به صورت یک خصیصه در نظر می گیرد.

9- در قاب دیاگرام ستونهای OilID و OilName را در جدول Oils و ستون PlantType را در جدول PlantType انتخاب می کنیم.

10- دکمه Run روی نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer مقادیر Planttype را برای هر Oil نشان می دهد.


ارتباط دو جدول به وسیله قاب SQL
1- قاب دیاگرام را پنهان کرده و قاب SQL را به وسیله کلیک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهیم.

2- حالت SQL موجود را با عبارت زیر جایگزین می کنیم.


SELECT Oils.OilID,Oils.Oil Name,PlantParts.PlantPart
FROM OilsINNER Join
PlantParts ON Oils.PlantPartID=PlantParts.PlantPart ID


3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer مقادیرها برای هر سطر Oils Plant Part را نشان می دهد.


ارتباط جداول چندگانه با استفاده از قاب دیاگرام
1- قاب SQL را پنهان کرده و قاب دیاگرام را نمایش می دهیم.

2- دکمه Add Table را روی نوار ابزار Query Designer کلیک می کنیم. Query Designer کادر محاوره ای Add Table را نشان می دهد.

3- جدول Planttypes را در لیست جداول انتخاب می کنیم. Add را کلیک کرده SQL Server جدول را به Query اضافه می کند.
4- Close را برای بستن کادر محاوره ای Add Table کلیک می کنیم.

5- در قاب دیاگرام ستون Planttype را در جدول Planttypes برای اضافه کردن ستون به Query کلیک می کنیم.

6- دکمه Run در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer هر دوی ستونهای PlantPart و Planttype را برای هر Oil نشان می دهد.


ارتباط جداول چندگانه با استفاده از قاب SQL
1- قاب دیاگرام را پنهان کرده و قاب SQL را نشان می دهیم.
2- عبارت SELECT موجود را با عبارت زیر جایگزین می کنیم.


SELECT Oils.Oil ID.Oils.Oil Name.odors.odor
FROM Oils
INNER Join Oilodors on Oils.OilID=Oil odors.OilID
INNER Join odors on Oilodors.odor ID=odors.odorID


3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم.

4- پنجره Query Designer را می بندیم.

ارتباطات خارجی
بعضی مواقع شما می خواهید که یک Query همه سطرها یک یا چندین جدول را باز گرداند، خواه آنها سطرهای ارتباطی در جداول دیگر داشته باشند و یا خیر. که با استفاده از یک ارتباط خارجی به انجام رسیده که می تواند سه گونه باشد: چپ، راست و کامل. یک ارتباط خارجی همه سطرهایی از جدول چپ در شرط JOIN و فقط آن سطرهایی از جدول راست برای اینکه شرایط ارتباط TRUE می باشد را باز خواهد گرداند.
دستور ساختار برای یک ارتباط خارجی عبارت است از:
FROM Left Table Left Outer Join Right able on
برای مثال عبارت SELECT زیر، همه سطرها در جدول Oils را باز می گرداند و مقادیر PlantPart از جدول آنجایی که PlantPart مشخص شده جفت می شود. آنجا سطرهای ارتباطی در جدول Plant Parts وجود ندارد و Query ، Null را به عنوان مقدار PlantPart برای آن سطر باز می گرداند.


SELECT Oils.Oil Name.Plant Parts.Plant Part
FROM Oils Left Outer Join
Plant Parts on Oils.Plant Part ID=Plant Parts.Plant Part ID


یک ارتباط خارجی سمت راست مقابل یک ارتباط خارجی سمت چپ می باشد. آن همه سطرها از جدول راست در شرط JOIN را باز می گرداند و مقادیر ارتباطی را از جدول چپ ارتباط می دهد. نظر به اینکه یک ارتباط کاملاً خارجی همه سطرها از دو جدول را با هم هماهنگ می سازد آنجایی که امکان پذیر باشد.

ایجاد کردن یک ارتباط خارجی چپ با استفاده از قاب دیاگرام
1- Query Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده، روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنیم.
2- قاب دیاگرام را نشان می دهیم.

3- دکمه Add Table را در نوار ابزار Query Designer کلیک می کنیم. Query Designer کادر محاوره ای Add Table را نشان می دهد.

4- Cautions و Oil Cautions در لیست جدول را انتخاب و سپس Add را کلیک می کنیم. Query Designer جدولی برای Query اضافه می کند.
راهنمایی: شما می توانید یک ارتباط خارجی چپ با دو جدول ایجاد کنید. ما حالت سوم را در ایجاد استفاده می کنیم با جدول OilCautions که به عنوان یک جدول الحاقی عمل می کند که ارتباط چندگانه بین Oils و Cautions را حل می کند.
5- Close را برای بستن کادر محاوره ای کلیک می کنیم.

راهنمایی: شما می توانید جداول را در قاب دیاگرام برای پاک کردن نمایشگر درج کنید.

6- دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم. Query Designer قاب SQL را نشان می دهد.

7- علامت * را در کلید واژه SELECT حذف می کنیم.

8- دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم. (OK را کلیک کرده اگر Query Designer یک متن خطا درباره ساختار از عبارت SELECT نشان دهد) Query Designer قاب SQL را پنهان می سازد.
مهم: زمانی که شما Query Designer را باز می کنید عبارت SQL پیش فرض معمولاً * را انتخاب می کند. ستون ویژه که در قاب دیاگرام انتخاب شده سبب می شود که آنها برای لیست ستون اضافه شوند. مایکروسافت این را به عنوان یک ویژگی در نظر می گیرد.

9- در قاب دیاگرام، ستونها از OilName و OilID را از جدول Oils و ستون Caution را از جدول Cautions برای خروجی انتخاب می کنیم.

10- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer فقط آن Oils که Cautions دارد را نشان می دهد.

11- خط ارتباطی بین جداول Oil Cautions و Oils را به وسیله کلیک کردن آن انتخاب می کنیم و سپس دکمه Properties را در نوار ابزار Query Designer کلیک می کنیم. Query Designer کادر محاوره ای Join Properties را نشان می دهد.

12- All Rows From Oils را انتخاب می کنیم.

راهنمایی: همه سطرها از Oil Cautions یک ارتباطی خارجی سمت راست ایجاد خواهد کرد و هر دوی گزینه ها را انتخاب کرده که یک ارتباط کامل خارجی ایجاد می کند.
13- Close را برای بستن کادر محاوره ای کلیک می کنیم. Query Designer خط ارتباطی را برای انعکاس مشخصات ارتباطی جدید تغییر می دهد.

14- دکمه Run در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer همه سطرها در جدول Oils را نشان می دهد و مقادیر از جدول Cautions را ارتباط می دهد.

ایجاد یک ارتباط خارجی سمت راست با استفاده از قاب SQL
1- قاب دیاگرام را پنهان کرده و قاب SQL را در Query Designer نشان می دهیم.

2- حالت SELECT موجود را با عبارت زیر جایگزین می کنیم.


SELECT Oils.Oil Name.Properties.Property
FROM Oils
Right OUTER JOIN Oil Properties on
Oils.Oil ID=Oil Properties.Oil ID
INNER JOIN Properties on
Oil Properties.Property ID=Properties.Property ID


3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer شامل همه سطرها از جدول Oil Properties با مقادیر ارتباطی از جدول Oils می باشد.

4- پنجره Query Designer را می بندیم.

UNIONS
آخرین نوع از ارتباط به صورت Union شناخته می گردد. یک Union نتایجی از دو عبارت SELECT متمایز را در داخل یک تنظیم از سطرها ترکیب می کند. ارتباطات داخلی و خارجی ستونهایی از دو جدول درگیر شده در یک سطر تکی را با هم ترکیب می کند یک Union سطرهایی از دو جدول در یک ستون تکی را به هم ترکیب می کند. شما می توانید تصور کنید که تنظیمات دو سطر را گرفته و یکی را در بالای دیگری باز گردانید. اگر چه قاعده اصلی از سطرها باز گردانده شده به وسیله شرط ORDER BY مشخص می گردد. ساختار دستور یک Union از پیوندها متفاوت می باشد. یک Union ساختار دستوری به صورت زیر دارد:


SELECT FROM
UNION [All]
SELECT FROM
[ORDER BY ]


شما می توانید بسیاری از حالتهای UNION SELECT را همان طوری که شما برای یک Query دوست دارید اضافه کنید. (این موضوع برای 256 جدول محدود می باشد) اما همه عبارتهای SELECT باید همان تعداد از ستونها را از انواع سازگار یا شبیه در همان دستور باز گرداند. اولین عبارت SELECT نامهای ستون را مشخص خواهد کرد و شرط ORDER BY از آخرین عبارت SELECT دستور Sort را تعیین خواهد کرد. به طور پیش فرض، SQL Server سطرهای چندگانه ای از نتایج را از یک Union Query برمی دارد. اگر شما Union All را مشخص کنید، ولی سطرهای چندگانه حفظ خواهد شد.

ایجاد کردن یک UNION
1- Query Designer را به وسیله کلیک کردن جدول Properties در قاب Details باز کرده روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنیم.
2- قاب SQL را نشان می دهیم.

3- حالت SQL موجود را با عبارت زیر جایگزین می کنیم.


SELECT Property Table AS Table Name.Property ID AS ID
Property AS Quality From Properties
UNION
SELECT odor Table.odor ID odor From odors
ORDER BY Quality


4- دکمه Run در نوار ابزار Query Designer را برای اجرای Query کلیک می کنیم. Query Designer نتایجی از دو عبارت SELECT را با هم ترکیب می کند.

آموزش SQLserver (بخش نهم)

جداول موقت
جداول موقت مثل جداول عادی هستند با این تفاوت که آنها فقط زمانی وجود دارند که از آنها استفاده می شود. آنها به طور اتوماتیک وقتی که تمام کاربران دیگر با آنها کاری ندارند توسط Microsoft SQL حذف می شود. نکته: ایجاد یک جدول موقت یک رویه تقریباً پر هزینه می باشد که مربوط به هزینه منابع Server و چرخه های CPU می باشد. بسیاری از استفاده های مرسوم از جداول موقت هم اکنون می توانند با استفاده از جدول متغیرها جایگزین شوند.
استفاده از جدول موقت
جداول موقت با استفاده از همان فرمان Create و Select INTO به عنوان جداول عادی ایجاد می شوند. بعد از تهیه جدول در سؤال قابل دسترسی به ارتباط خواهد بود. (این است که این یک جدول محلی تهیه شده توسط ارتباط متفاوت نیست)، این عمل همچنین مثل جداول عادی قابل استفاده می باشد.

ایجاد جدول موقت محلی
1- دکمه علامت سؤال جدید را روی Toolbar تجزیه کننده سؤال کلیک کنید تا یک پنجره سؤال جدید ظاهر شود.
2- روی دکمه Loud Script روی Toolbar تجزیه کننده سؤال کلیک کنید. تجزیه کننده سؤال جعبه پرونده گفتگو را نشان خواهد داد.
3- نسخه خطی Create Local را انتخاب کنید و Open را کلیک کنید. تجزیه کننده سؤال نسخه خطی را پر می کند.
4- دکمه Execute Query را در Toolbar تجزیه کننده سؤال کلیک کنید. تجزیه کننده سؤال جدول موقت ایجاد می کند.
5- User Table Folder را که در پایگاه داده Tempdb در Object browser می باشد را انتخاب کنید.
6- F5 را برای به کارگیری مجدد نمایشگر Object browser فشار دهید و User Table Folder را گسترش دهید. نمایشگر سؤال جدول محلی dbo.# را در لیست نشان خواهد داد.

ایجاد جدول جهانی موقت
1- بدون بستن پنجره شامل نسخه خطی Create Local بر روی دکمه New Query روی Query Analyzer Toolbar برای باز کردن یک پنجره جدید خطی، کلیک کنید.
2- بر روی دکمه Loud Script روی Query Analyzer Toolbar کلیک کنید. Query Analyzer نشانگر جعبه گفتگوی فایل Query خواهد بود.
3- خطی را که در آن Create 6 Loud وجود دارد را انتخاب کنید و Open را کلیک کنید. تجزیه کننده سؤال خط انتخابی را Loud می کند.
4- دکمه Execute Query را که روی Query Analyzer Toolbar می باشد را کلیک کنید. Query Analyzer جدول موقت را ایجاد می کند.
5- User Folder Table که مربوط به Tempdb Database در Object browser را انتخاب کنید.
6- F5 را برای راه اندازی مجدد نمایشگر Object browser فشار دهید. Query Analyzer نمایشگر dbo##6 Loud Table لیست خواهد بود.