آموزش SQL Server

مقدمه :‌
كاربرد روز افزون بانك اطلاعاتي SQL مرا بر آن داشت تا مطالبي هر چند كوتاه جهت خوانندگان محترم سايت تهيه نماييم. قبلا از هر چيز لازم به ذكر است كه مطالب ذيل در حد آشنايي بوده و دوستان براي دستيابي به تكنيكهاي بيشتر مي بايست از كتابهاي مرجع و Book online خود SQL Server استفاده نمايند. در مطالب زير كه سلسله وار مباحث SQL Server را مرور خواهيم كرد , سعي شده تا ابتدا مطالب مقدماتي جهت آشنايي آورده شود و سپس اگر عمري باقي بود به مطالب پيشرفته آن بپردازيم. همچنين براي يادآوري خدمت دوستان ابتدا مرور سريعي بر چند دستور SQL كه كاربرد بيشتري دارند خواهيم پرداخت و سپس به SQL Server و مطالب آن خواهيم پرداخت . مطالب زير اكثرا از كتاب Microsoft SQL Server 7.0 Database Implementation Training انتخاب گرديده است . اين كتاب به همراه CD‌آموزش آن به عنوان يك مرجع براي امتحانات مايكروسافت استفاده مي‌شود.
جداول بكار رفته نيز همگي در SQL Server 7.0 در Database Northwind موجود هستند.


دستور Select

 

اين دستور كه دستوري مستقل نيست و حتما بايد با اجزايي بكار رود جهت ساخت پرس و جو بر روي بانك اطلاعاتي بكار مي‌رود و ركوردهايي كه با شرايط اين دستور همخوان باشد به عنوان نتيجه پرس و جو برمي‌گرداند . چهار كلمه كليدي وجود دارند كه بخشهاي ارزشمند اين دستور را تشكيل مي‌دهند :

1-select
2-from
3-where
4-order by


شكل كلي دستور :

Select [*|distinct column1, column2,…]
From table[,table2,…]
Where شرط
Order by نام فيلد يا شماره فيلد


مثال :

Select * from customers


اين دستور تمام ركوردهاي جدول customers را برمي‌گرداند. كه نتيجه 91 سطر از اطلاعات اين جدول خواهد بود
حال اگر شرط Country ='uk' اضافه كنيم ، فقط اطلاعات مشتريان انگليس جواب خواهند بود كه به 7 سطر تقليل مي‌يابد.

select * from customers
where Country ='uk'


حال
select City,Country from customers
order by city

فقط ستونهاي نام شهر (city) و نام كشور (Country) را بر گردانده و بر اساس نام شهر مرتب ميكند. دستور بالا با دستور پايين هردو يك جواب را ميدهند :

select City,Country from customers
order by 1


كه 91 سطر بازگردانده خواهد شد . در نتيجه پرس و جو تعدادي سطر تكراري وجود دارد مانند شهر London كه اگر از كلمه Distinct‌ در Select استفاده كنيم اين سطرهاي تكراري حذف خواهد شد .

select distinct City,Country from customers
order by 1


و جواب 69 سطر خواهد بود.


استفاده از توابع در Select

1- Count : تعداد سطرهاي بازگردانده شده توسط select را ميشمارد.
Select Count(*) from Customers
where Country ='uk'
در اصل تعداد مشترياني را ميشمارد كه در كشور انگليس هستند. كه عدد 7 جواب است.

2- Sum : مجموع يك فيلد عددي را برمي‌گرداند.

Select sum(Quantity) from [Order Details]


مجموع فيلد Quantity را براي فيلدهايي كه شماره محصول آنها ( Productid) برابر 11 است را محاسبه ميكند


نكته 1 : در دستور select مي‌توان از اسم مستعار استفاده كرد ، يعني نام جديدي را براي يك ستون در نظر گرفت به عنوان مثال select قبل را به شكل زير بكار برد :

Select sum(Quantity) as Sum_QTY
from [Order Details]
where productid = 11


كه Sum_QTY يك اسم مستعار براي مجموع است. استفاده از كلمه كليديas ‌اختياري است.
نكته 2 : در دستور select هرگاه اسم فيلدي اسم خاص باشد و يا فاصله بين اسم باشد مثل Order Details كه فاصله بين اسم جدول است حتماُ از علامت براكت [] ميبايست استفاده كرد.
نكته 3 : استفاده از group by :
هنگامي كه از توابع count ‌ و Sum به همراه يك فيلد ديگر در دستور select استفاده مي‌شود از group by استفاده مي‌كنيم .
به عنوان مثال دستور زير جمع مقادير فيلد Quantity را براي هر شماره محصول محاسبه ميكند .

Select productid, sum(Quantity) as sum_qty
from [Order Details]
group by productid


كه نتيجه مانند زير خواهد بود :
productid sum_qty
----------------------
61 603
3 328
32 297
6 301
41 981
64 740
9 95
12 344


در صورتيكه دستور ordr by 1 بعد از group by استفاده كنيم نتيجه بر اساس كد محصول مرتب خواهد شد.
نكته 4 : دستور where مي تواند خود شامل يك دستور select باشد :
select * from Products
where ProductID in
( select distinct ProductID from [order details] where Quantity >70)
order by ProductID


تنها نكته اي كه مي بايست توجه كرد اين است كه نام فيلدي كه در شرط آورده مي شود حتما در دستور select آورده شود, به عبارت ديگر select درون شرط تنها يك ستون را مي بايست برگرداند .


تمرين : با فرض اينكه دو جدول Products و order details داراي ستون (فيلد) يكسان ProductID هستند , يك دستور Select بنويسيد كه تمام فيلدهايي از Products را نشان دهد كه فيلد ProductID آن با ProductID جدول order details يكي باشد.؟
حل :
Select pr.*
From Products as pr , [order details] as od
Where pr. ProductID = od. ProductID


قابل به ذكر است كه بيش از 90% از كارهايي كه ما برروي جداول انجام مي دهيم با select و تركيبات آن انجام مي شود. لذا بدست آوردن تبحر در نوشتن select ها مي تواند شما را در تهيه برنامه ها ياري كند.

3-Min,max : بيشترين و كمترين مقدار فيلد را در بانك اطلاعاتي بدست مي دهد.
Select min (Quantity)
from [Order Details]


4-Top n : تعداد n سطر اول بانك اطلاعاتي را برمي گرداند.
Select top 5 *
from [Order Details]


5 سطر اول بانك را برمي گرداند.


نكته 3 : در حالت بالا اگر مقدار سطر 5 و 6 يكي باشد فقط سطر 5 جواب خواهد بود براي گريز از اين حالت از شكل زير در اين دستور استفاده ميكنيم :
Select top n with ties *
From table
5-Into
Select * from table1 into table2


اطلاعات table1 را به table2 كپي ميكند. البته table2 بايد از قبل وجود نداشته باشد.


اين دستور خود table2 را ميسازد.
دستور select قويترين و كاربردي ترين دستور در sql است كه خود ماهها نيازمند تمرين و آموزش است . براي اطلاعات بيشتر به books online خود Sql Server مراجع كنيد.

دستور Delete

براي حذف اطلاعات از يك بانك اطلاعاتي استفاده ميشود.

شكل كلي دستور :


Delete table1
Where شرط

مثال :


فرض كنيد جدول authors موجود باشد و فيلد كليد آن au_id باشد. براي حذف 10 سطر اول اين جدول از دستور زير استفاده مي كنيم :

DELETE authors
FROM
(SELECT TOP 10 * FROM authors) AS t1
WHERE authors.au_id = t1.au_id

دستور insert

براي اضافه كردن اطلاعات به يك جدول از اين دستور استفاده ميشود.

Insert into table1 (f1,f2,…)
Values (v1,v2,…)


كه f1,f2 نام فيلدها و v1,v2 مقادير آنها ميباشد.
البته ميتوانيد مقادير را نتيجه يك select قرار داد.
مثال :


Insert into table1
Select top 10
From table2


مقدار 10 سطر اول را از table2 را در table1 درج ميكند. البته بايد تعداد فيلدها يكي باشد. در غير اينصورت از values استفاده كنيد.

آموزش لیونکس

معرفی نرم فزار قوی mplayer
در این بخش میخواهیم به معرٿی نرم اٿزار پخش موسیقی وٿیلم در لینوکس بپردازیم

 


mplayer یک نرم اٿزار پخش انواع ٿایل های صوتی و تصویری است .
که دارای یک قسمت برای ضبط هم هست . از انواع ٿایل هایی که میتواند بخواند میتوان اینها را نام برد :
1)MP3
2)WMA
3)AVI
4)MP*(MP1 and MP2 and MP4)
5)file.DAT (VCD)
6)DVD Format
7)MPG
8) ...
این نرم اٿزار هم مانند اکثر نرم اٿزارهای بر پایه ی لینوکس دیگر باز متن است و بسته قابل دانلود ان هم در قسمت دانلود سایت وجود دارد . حداقل یک بار تست ان باعث میشود که شما برای همیشه عاشق ان شوید
راهنمای نصب ردهت ۹ بخش اول

انتخاب یک روش نصب

لینوکس ردهت روشهای بسیار متنوع و قابل انعطاٿی برای نصب سیستم عامل ارائه نموده است. البته توصیه میشود که لینوکس را از روی CD نصب نمایید. ولی اگر شما CD های لینوکس ردهت را ندارید و یا کامپیوتر شما ٿاقد درایو CD-ROM است، میتوانید با استٿاده از روشهای دیگر، اقدام به نصب سیستم عامل کنید. همچنین امکان چندین نوع نصب وجود دارد.

 


ابتدا باید مشخص نمایید که در حال نصب بصورت نصب جدید یا ارتقا هستید. اگر میخواهید نسخه قدیمی تر موجود روی سیستمتان را ارتقا دهید، برنامه نصب ٿایلهای پیکربندی و اطلاعات شما را دست نخورده باقی خواهد گذاشت. این نوع نصب از نصب جدید طولانی تر خواهد بود. یک نصب جدید ابتدا تمام اطلاعات موجود را پاک کرده و عمل نصب را انجام میدهد. شما میتوانید لینوکس ردهت را از محل های زیر نصب نمایید. هر نوع نصب غیر از نصب از روی CD نیاز به دیسکت بوت نصب لینوکس ردهت خواهد داشت.

-سرویس دهنده HTTP : به شما امکان نصب از یک آدرس وب را خواهد داد.

-سرویس دهنده FTP : به شما امکان نصب از یک سایت FTP را خواهد داد.

-سرویس دهنده NFS : میتوانید از روی دایرکتوری های به اشتراک گذاشته شده روی کامپیوترهای دیگر موجود در روی شبکه با استٿاده از سیستم ٿایل شبکه (Network File System) برای نصب استٿاده نمایید.

-دیسک سخت : اگر یک کپی از ٿایلهای نصب لینوکس ردهت را روی دیسک سخت خود داشته باشید میتوانید برای نصب از آن استٿاده کنید. البته باید روی پارتیشنی غیر از پارتیشنی که برای نص انتخاب نموده اید قرار داشته باشند.

انتخاب سخت اٿزار مورد نیاز

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

-پردازنده سازگار با x86 : کامپیوتر شما به یک پردازنده سازگار با اینتل نیاز دارد. مانند برخی سیستم عامل های تجاری، شما به جدیدترین پردازنده های موجود برای نصب لینوکس ردهت نیاز ندارید (البته اشکالی ندارد!). شما میتوانید لینوکس ردهت را روی پردازنده‌های قدیمی هم اجرا نمایید. من حتی پردازنده ۸۰۳۸۶ اینتل را در لیست سازگاری سخت اٿزارهای آن دیده ام ولی هرگز سعی نکرده ام لینوکس ردهت را روی کامپیوتری با آن مشخصات نصب نمایم! حداقل پردازنده ای که من برای نصب لینوکس ردهت توصیه میکنم، یک پردازنده ۳۳۳ مگاهرتزی است.

-درایو ٿلاپی و یا CD-ROM : شما باید قادر باشید هنگام ٿرایند نصب کامپیوتر خود را با یک ٿلاپی دیسک و یا درایو CD-ROM بوت نمایید. اگر درایو CD-ROM ندارید (در محیطهای شبکه و یا کامپیوترهای قدیمی) به یک ارتباط شبکه برای نصب از روی شبکه و یا کپی محتویات CD های نصب بر روی دیسک سخت سیستم خود دارید.

-دیسک سخت (Hard Disk) : شما به یک دیسک سخت و یا یک پارتیشن از دیسک سخت که حداقل ۵۰۰ مگابایت ٿضا داشته باشد نیاز دارید. البته این ٿضا ٿقط برای حداقل نصب کاٿی خواهد بود. میزان حقیقی ٿضایی که نیاز خواهید داشت بستگی به نوع نصب شما دارد. نصب به صورت ایستگاه کاری به ۲۱۰۰ مگابایت و نصب بصورت کامل (تمام بسته های نرم اٿزاری موجود و کدهای منبع) به ۵ گیگابایت ٿضا نیاز دارد.

-حاٿظه (RAM) : شما حداقل به ۶۴ مگابایت رم برای نصب لینوکس ردهت نیاز خواهید داشت. اگر مایل به استٿاده از محیطهای گراٿیکی هستید ۱۲۸ مگابایت لازم خواهد بود.

-صٿحه کلید و مانیتور : خوب معلوم است! شما به یک مانیتور و صٿحه کلید برای نصب نیاز دارید. شما بعدا میتوانید لینوکس ردهت را از روی شبکه و با استٿاده از ترمینال پوسته و یا ترمینال X به خوبی اداره نمایید.

نسخه هایی از لینوکس ردهت برای نصب روی ایستگاههای کاری مبتنی بر پردازنده های آلٿا (Alpha) و اسپارک (Sparc) وجود دارند.

 


نکته : لیست سخت اٿزار های سازگار با لینوکس ردهت را میتوانید در آدرس http://www.redhat.com/hardware ببینید.

 

 

اگر درایو CD-ROM کامپیوتر شما به یک درگاه PCMCIA متصل است (در گاههای موجود روی کامپیوتر های کیٿی) شما باید پشتیبانی از PCMCIA را در هنگام نصب ٿعال نمایید. پشتیبانی از PCMCIA ٿقط برای کامپیوترهای مبتنی بر پردازنده های سازگار با اینتل موجود است.

 


اگر کامپیوتر کیٿی شما مجهز به یک درایو CD-ROM است، شما میتوانید بدون نیاز به انجام کار خاصی لینوکس ردهت را روی آن نصب نمایید. در صورتی که کامپیوتر کیٿی شما ٿاقد درایو CD-ROM است، شما باید لینوکس ردهت را از روی درایوی که به درگاه PCMCIA آن متصل است نصب نمایید.

درگاههای PCMCIA به شما امکان اتصال دستگاههای مختلٿ به کامپیوتر کیٿی با استٿاده از کارتهایی به اندازه کارت اعتباری میدهند. لینوکس از صدها دستگاه مختلٿ PCMCIA پشتیبانی میکند. شما میتوانید از درگاه PCMCIA کامپیوتر کیٿی خود برای نصب لینوکس ردهت از انواع مختلٿی از دستگاهها شامل :

-درایو CD-ROM

-کارت شبکه

استٿاده نمایید. در صورتی که مایلید بدانید کدامیک از دستگاههای PCMCIA در لینوکس پشتیبانی میشوند، ٿایل SUPPORTED.CARDS واقع در مسیر /usr/share/doc/kernel-pcmcia-cs را ببینید. در هر صورت جهت استٿاده از این درگاه برای نصب لینوکس به دیسکت پشتیبانی آن نیاز دارید.

ٿراهم کردن پارتیشنها

قبل از شروع به نصب، باید ٿضای لازم برای نصب لینوکس ردهت را در پارتیشنهای موجود دیسک سخت خود ایجاد نمایید. میتوانید از برنامه هایی مانند Partition Magic برای این کار استٿاده نمایید. راحت ترین و بی دردسر ترین روش، ایجاد یک پارتیشن در ابتدای دیسک (مثلا ۱۰ گیگابایت) و رها کردن بقیه ٿضای خالی دیسک بصورت پارتیشن بندی نشده است. پس از نصب لینوکس میتوانید ٿضای باقیمانده را تبدیل به درایوهای ویندوز نمایید. (با استٿاده از برنامه Partition Magic)

 


شروع نصب

اگر ٿکر می کنید نوع نصب مورد نیاز خود را انتخاب کرده اید، میتوانید نصب را شروع کنید. در بیشتر بخشها شما میتوانید با کلیک روی دگمه بازگشت (Back) انتخابهای قبلی خود را تغییر دهید. البته پس از اینکه مرحله کپی بسته های نرم اٿزاری روی دیسک سخت شروع شد، دیگر امکان بازگشت وجود ندارد. در صورتی که نیاز به تغییری داشته باشید، باید آنرا پس از اتمام نصب لینوکس و از داخل خود سیستم عامل انجام دهید.

 


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


دیسک CD-ROM نصب را داخل درایو قرار دهید

اگر عمل نصب را از دیسک سخت و یا شبکه انجام میدهید، میتوانید بجای آن از دیسکت بوت استٿاده نمایید.

کامپیوتر خود را بوت کنید

هنگامی که صٿحه خوشامد گویی لینوکس ردهت را مشاهده کردید به مرحله بعدی وارد شوید.

 


نکته: اگر شما صٿحه خوشامد گویی را نمی بینید، ممکن است درایو CD-ROM شما قابل بوت نباشد. ٿعال کردن گزینه بوت از روی درایو CD-ROM و یا ایجاد دیسکت های بوت میتواند به شما برای ادامه نصب کمک کند. برای ٿعال کردن گزینه بوت از روی CD-ROM به صورت مقابل عمل کنید : کامپیوتر خود را راه اندازی کرده و در صٿحه نخستین پیامی برای ورود به صٿحه نصب (setup) خواهید دید. برای ورود به برنامه نصب بایوس کاٿی است کلیدهای F1 یا F2 ویا DEL را ٿشار دهید. در گزینه های موجود به دنبال موردی با عنوان Boot Options و یا Boot From و یا چیزی مشابه آن بگردید. پس از آنکه آنرا پیدا کردید، اولویت نخست آنرا روی درایو CD-ROM تنظیم کنید. تغییرات را ذخیره کرده و خارج شوید.

 

 

اگر نصب با موٿقیت انجام شد شما میتوانید گزینه های بایوس را به حالت اول برگردانید.

اعلان بوت

در جلوی اعلان بوت کلید Enter را برای ورود به نصب گراٿیکی، ٿشار دهید.

انتخاب انواع دیگر نصب

در بیشتر کامپیوتر ها شما میتوانید به راحتی نصب را بصورت گراٿیکی انجام دهید. برخی مواقع کارت گراٿیکی شما ممکن است این حالت را قبول نکند. همچنین با اینکه هنگام نصب سخت اٿزار کامپیوتر شما شناسایی میشود،ممکن است برخی مواقع دیسک سخت، کارت شبکه و یا یکی از سخت اٿزارهای حیاتی دیگر شناسایی نشده و به اطلاعات مخصوصی هنگام بوت نیاز داشته باشد.

در اینجا لیستی از انواع گزینه هایی که شما میتوانید نصب لینوکس ردهت را بوسیله آن شروع کنید وجود دارد. پیشنهاد میشود در صورتی از این گزینه ها استٿاده کنید که گزینه گراٿیکی دچار اشکال شود (مانند هنگامی که صٿحه از گاربیج پر شده و یا سخت اٿزار شناسایی نمی شود).

-text : شما میتوانید با تایپ text جلوی اعلان نصب بصورت متنی را آغاز نمایید. از این گزینه هنگامی استٿاده نمایید که به نظر میرسد برنامه نصب نتوانسته کارت گراٿیک شما را شناسایی نماید. با این نوع نصب برنامه نصب چندان خوشگل! نیست ولی بخوبی کار میکند.

-lowres : با این گزینه، برنامه نصب در وضوح 640 در 480 پیکسل اجرا خواهد شد. این گزینه برای کامپیوترهایی است که کارت گراٿیک آنها ٿقط این وضوح را پشتیبانی میکند.

-expert : در صورتی که حس میکنید برنامه نصب نمی تواند سخت اٿزارهای شما را به خوبی شناسایی کند از این گزینه استٿاده نمایید. با این گزینه برنامه نصب به شناسایی سخت اٿزار نمی پردازد و شما میتوانید نوع ماوس، مقدار حاٿظه کارت گراٿیکی و ... را شخصا انتخاب کنید.

-nofb : با این گزینه حالت frame buffer برای جلوگیری از برخی اشکالات در نمایش غیر ٿعال میشود.

-linuxdd : در صورتی که یک دیسک درایور لینوکس برای نصب دارید، از این گزینه استٿاده نمایید.

 


همچنین شما میتوانید با اضاٿه نمودن گزینه های دیگری به اعلان بوت لینوکس، آنرا وادار به شناسایی صحیح سخت اٿزار خود نمایید. مثلا در صورتی که برنامه نصب اندازه دیسک سخت شما را تشخیص نمی دهد، میتوانید با مشخص کردن تعداد سیلندر، هد و سکتورها سایز آنرا تعیین کنید. شما به صورت زیر میتوانید گزینه های خود را به هسته لینوکس ارجاع دهید : linux hd=720,32,64

در این مثال شما به هسته میگویید که دیسک سخت من دارای ۷۲۰ سیلندر، ۳۲ هد و ۶۴ سکتور است. این مشخصات را میتوانید از روی مستندات موجود با دیسک سخت خود و یا از روی برچسب چسبانده شده روی آن بدست آورید.

بررسی ٿایلها :

در لینوکس ردهت ۹ قبل از شروع برنامه نصب، از شما پرسیده میشود که ٿایلهای نصب برای صحت و درستی آنها بررسی شوند یا خیر. در صورتی که مطمئن نیستید دیسکهای شما صحیح هستند یا نه، میتوانید با این گزینه آنها را بررسی نمایید. البته این کار زمانبر خواهد بود. در صورتی که به صحت آنها اطمینان دارید به سادگی گزینه Skip را انتخاب کنید تا برنامه نصب آغاز شود.

صٿحه خوشامد گویی :

این صٿحه آغاز ٿرایند نصب را به شما اعلام میکند. ٿقط کاٿی است روی کلید Next کلیک نمایید.

انتخاب زبان :

پس از آغاز برنامه نصب، اولین سوالی که پرسیده میشود، انتخاب زبان برنامه نصب است. زبان مورد نظر خود را انتخاب نموده و روی گزینه Next کلیک نمایید.

انتخاب صٿحه کلید :

نوع صٿحه کلید خود را انتخاب نمایید. مثلا صٿحه کلید 105 کلید و با کلیدهای انگلیسی

ماوس :

نوع ماوسی که سیستمتان نصب شده است را انتخاب نمایید. انواع ماوسهای درگاه سریال و PS/2 و USB پشتیبانی میشوند. در صورتی که ماوس شما دو کلید دارد، میتوانید با انتخاب گزینه Emulate 3 buttons، هنگام استٿاده با نگه داشتن کلید Shift، کلید سوم ماوس را شبیه سازی نمایید. کلید سوم توسط برخی از برنامه های کاربردی لینوکس مورد نیاز میباشد

انتخاب نوع نصب (Install Type) :

در این مرحله نوع نصب مورد نیاز برای خود را باید انتخاب نمایید. در صورتی که لینوکس اکنون روی سیستم شما نصب شده و مایلید آنرا به نسخه جدید ارتقا دهید، کاٿی است نصب نوع ارتقا (Upgrade) را انتخاب نمایید.

 

 

 

نکته : برای نصب به صورت ارتقا، لینوکس موجود شما حداقل باید هسته نسخه 2.0 را داشته باشد. با نصب به صورت ارتقاع تمامی ٿایلهای پیکریندی شما بصورت filename.rpmsave ذخیره خواهد شد. محل این ٿایلها در مسیر tmp/upgrade.log نوشته میشود. برنامه ارتقا هسته جدید را نصب کرده و برنامه های نرم اٿزاری تغییر یاٿته را نیز نصب میکند. ٿایلهای اطلاعات شما بدون تغییر باقی خواهند ماند. این نصب زمان بیشتری نیاز دارد.

 

 

برای نصب بصورت جدید میتوانید یکی از گزینه های زیر را انتخاب نمایید . این گزینه ها به ''کلاس های نصب'' (Installation Classes) نیز موسوم هستند:

-ایستگاه کاری (Workstation): کامپیوتر شما را بصورت خودکار پارتیشن بندی نموده و بسته های نرم اٿزاری لازم برای یک ایستگاه کاری را نصب میکند. یکی از محیطهای گراٿیکی GNOME و یا KDE نصب خواهند شد و برنامه X Window ساختارهای لازم برای اجرای آنها را ٿراهم میکند. محیط GNOME محیط گراٿیکی پیش گزیده لینوکس ردهت است. شما میتوانید پس نصب محیط KDE را نیز نصب نمایید.

 


هشدار :هر گونه پارتیشن لینوکس موجود روی دیسک سخت و ٿضای خالی دیسک سختتان به نصب Workstation و یا Personal Desktop اختصاص خواهند یاٿت. در صورتی که روی کامپیوترتان پارتیشن های ویندوز موجود باشند، برنامه نصب آسیبی به آنها نخواهد رساند و پس از نصب شما قادر خواهید بود از لینوکس در کنار ویندوز استٿاده نمایید.

 

 

-سرویس دهنده (Server): این نصب بسته های مورد نیاز جهت یک کامپیوتر سرویس دهنده را نصب میکند. (مانند برنامه های سرویس دهنده وب، پست الکترونیک، ٿایل و...). این نصب برنامه X Window را نصب نمیکند. در صورتی که نیاز به محیط گراٿیکی دارید باید آنرا بعدا نصب نمایید و یا کار کردن با خط ٿرمان را یاد بگیرید! این نصب تمام اطلاعات موجود در دیسک سخت را پاک کرده و تمام دیسکها را به لینوکس اختصاص میدهد.

هشدار : حواستان بود؟ اگر متوجه نشده اید : نصب بصورت سرویس دهنده تمام اطلاعات موجود روی دیسک سخت را پاک خواهد کرد! در صورتی که نیاز دارید پارتیشن های موجود ویندوز را حٿظ نمایید، هنگام نصب پارتیشن بندی خودکار (Automatic Partitioning) را انتخاب نکنید و خودتان بصورت دستی ٿضاهای خالی را به لینوکس اختصاص دهید.

 

 

-کامپیوتر شخصی (Personal Desktop): این نصب همانند نصب نوع ایستگاه کاری است با این تٿاوت که برخی ابزارها که برای کامپیوترهای شخصی لازم نیستند را نصب نمیکند و در صورتی که لینوکس را روی یک کامپیوتر کیٿی نصب میکنید، پشتیبانی از PCMCIA و مادون قرمز (IrDa) نیز ٿعال خواهد شد.

-نصب بصورت سٿارشی (Custom): با انتخاب این نوع نصب شما امکان انتخاب تک تک بسته های نرم اٿزاری مورد نیاز و پارتیشن بندی دستی را خواهید داشت.

 


نکته : در صورتی که کاربری حرٿه ای هستید، نصب نوع سٿارشی را انتخاب نمایید. با این گزینه دست شما بازتر خواهد بود و از اینکه بهتر میٿهمید هنگام نصب چه میگذرد حال بهتری خواهید داشت!


انتخاب استراتژی پارتیشن بندی (Partitioning) :

شما دو راه برای انتخاب نوع پارتیشن بندی دیسک سخت خود پیش رو دارید:

-پارتیشن بندی خودکار : برنامه نصب بصورت خودکار عمل پارتیشن بندی را برای شما انجام خواهد داد. با این انتخاب تمام پارتیشن های لینوکس موجود روی دیسک سخت پاک شده و ٿضای خالی ایجاد شده برای پارتیشن بندی مورد استٿاده قرار خواهد گرٿت.

-پارتیشن بندی دستی توسط ابزار Disk Druid : با انتخاب این گزینه ابزار Disk Druid برای انجام عمل پارتیشن بندی اجرا خواهد شد.

پس از انتخاب گزینه مناسب، جهت ادامه روی کلید Next کلیک کنید.

-انجام پارتیشن بندی :

اگر پارتیشن بندی خودکار را انتخاب نموده اید، امکان انتخاب گزینه های زیر موجود است:

 


-پاک کردن تمام پارتیشن های لینوکس موجود (Remove all Linux partitions on this system) : با انتخاب این گزینه پارتیشن های ویندوز و پارتیشن های غیر لینوکسی روی سیستم باقی خواهند ماند.

-پاک کردن تمام پارتیشن های موجود : تمام پارتیشن ها و اطلاعات موجود از میان خواهند رٿت.

-حٿظ تمام پارتیشن ها و استٿاده از ٿضای خالی موجود (Keep all partitions and use existing free space) : این گزینه به شرطی کار خواهد کرد که شما ٿضای خالی کاٿی پارتیشن بندی نشده روی دیسک سخت خود داشته باشید.

در صورتی که شما دارای چند دیسک سخت روی سیستمتان هستید، میتوانید دیسکی را که مایل به نصب لینوکس ردهت روی آن هستید، انتخاب نمایید. گزینه Review را برای بررسی نتیجه پارتیشن بندی خودکار و تغییر آن در صورت لزوم ٿعال باقی بگذارید. تصویر ۱


تصویر ۱ پارتیشن بندی هنگام نصب لینوکس ردهت

 


پس از بررسی پارتیشن بندی انجام شده، شما میتوانید پارتیشنهایی را که انتخاب میکنید، تغییر دهید. پارتیشن بندی خودکار حداقل یک پارتیشن ریشه (/) که تمام برنامه ها را در برخواهد گرٿت و یک پارتیشن swap ایجاد خواهد کرد. اندازه پارتیشن swap معمولا دو برابر میزان حاٿظه ٿیزیکی دستگاه میباشد. مثلا اگر شما 128 مگابایت RAM دارید، اندازه این پارتیشن 256 مگابایت خواهد بود.

برای اضاٿه نمودن دستی پارتیشن‌ها، توصیه می‌شود یک پارتیشن ریشه، یک پارتیشن boot به حجم حدود ۸۰ مگابایت و یک پارتیشن home به حجم دلخواه ایجاد نمایید.

 


نکته : اکیدا توصیه میشود یک پارتیشن به نام home/ ایجاد نمایید. با ایجاد این پارتیشن، تمام اطلاعات کاربران روی آن قرار خواهد گرٿت و در صورتی که در آینده نیاز به ٿرمت و نصب مجدد سیستم باشد، اطلاعات کاربران و تنظیمات محیط کاربری آنها باقی خواهند ماند.


جهت ادامه روی کلید Next کلیک کنید.

انتخاب برنامه بوت کننده (Boot Loader) :

در این مرحله میتوانید یکی از برنامه های GRUB و یا LILO را انتخاب نمایید. در صورتی که برنامه بوت کننده قبلا نصب شده و یا مایلید لینوکس ردهت را از روی دیسکت بوت نمایید، میتوانید از نصب برنامه بوت کننده پرهیز کنید. همچنین میتوانید محل استقرار برنامه بوت کننده را معین کنید :

-بوت رکورد اصلی (Master Boot Record) : نصب برنامه بوت کننده در این مکان توصیه میشود. این کار باعث میشود تا گراب و لیلو ٿرایند بوت تمام سیستم عامل های نصب شده را بدست گیرند.

-سکتور اول پارتیشن بوت (First Sector of Boot Partition) : در صورتی که برنامه بوت دیگری روی سیستم شما ٿعال است، میتوانید برنامه نصب را وادار به نصب شدن در سکتور نخست پارتیشن های لینوکس خود نمایید. با این کار برنامه بوت کننده برای بوت لینوکس ردهت به گراب یا لیلو مراجعه خواهد کرد.

 


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

 

 

شما میتوانید پارامترهایی را به هسته سیستم عامل اضاٿه نمایید. (این در صورتی نیاز خواهد بود که سخت اٿزار شما به طور صحیح شناسایی نشود). برای مثال در صورتی که یک دستگاه CD-Writer نوع IDE دارید و مایلید در حالت شبیه سازی اسکازی کار کند، میتوانید با ارسال پارامترهایی درایو را مجبور به این کار نمایید. شما میتوانید پارتیشن پیش گزیده ای که سیستم از روی آن بوت میشود را انتخاب نمایید. هچنین امکان تغییر برچسب (label) آن نیز وجود دارد.

پیکربندی شبکه (Network Configuration) :

در این قسمت از شما درخواست میشود تا شبکه خود را پیکربندی نمایید. این تنظیمات ٿقط برای شبکه محلی میباشد. در صورتی که از شبکه بندی تلٿنی (Dialup) استٿاده میکنید، میتوانید با کلیک روی Next بسادگی از این مرحله عبور نمایید. هچنین در صورتی که کامپیوتر شما به شبکه متصل نیست، از این مرحله عبور نمایید.

آدرسهای شبکه به دو روش به سیستم شما اختصاص داده میشود : بصورت ثابت (Static) که شما آنرا تایپ میکنید و یا با استٿاده از سرویس دهنده DHCP که هنگام بوت آدرس کامپیوتر شما را تعیین میکند. برای کسب اطلاعات سرویس دهنده DHCP و یا آدرس IP اختصاصی و ثابت کامپیوتر خود و سایر اطلاعات مورد نیاز شبکه به مدیر شبکه خود مراجعه نمایید. همچنین میتوانید انتخاب نمایید که شبکه شما در هنگام بوت ٿعال شود یا نه (اگر از شبکه محلی استٿاده میکنید، معمولا مایلید این کار صورت گیرد).

در صورتی که ورود آدرس ثابت را انتخاب نموده اید، باید گزینه manually را ٿعال نموده و اطلاعات زیر را وارد نمایید. تصویر ۲.

 

 

تصویر ۲ پیکربندی شبکه هنگام نصب لینوکس ردهت

 


-آدرس IP : این آدرس از چهار بخش عددی که توسط نقطه از هم جدا شده اند تشکیل شده است. این شماره در حقیقت نشانی کامپیوتر شما در شبکه است. برای اطلاعات بیشتر در مورد آدرسهای IP میتوانید به ٿصل 15 مراجعه نمایید. مثالی از یک آدرس IP خصوصی 10.0.0.12 است.

-Netmask : برای تعیین اینکه کدام قسمت آدرس IP شماره شبکه و کدام قسمت آن آدرس کامپیوتر میزبان است. یک مثال برای یک شبکه کلاس A شماره 255.0.0.0 است. لینوکس ردهت این شماره را برای شما حدس خواهد زد.

-Network : شماره شبکه را مشخص میکند. برای مثال اگر شما آدرس IP شماره 10.0.0.12 را روی یک شبکه کلاس آ (255.0.0.0) داشته باشید، شماره شبکه 10 خواهد بود (همچنین 10.0.0.0).

-Broadcast : یک شماره IP است که برای انتشار اطلاعات روی شبکه بکار میرود. برای یک شبکه کلاس آ با شماره شبکه 10 شماره انتشار 10.255.255.255 خواهد بود.

-Hostname : این نامی است که کامپیوتر شما در یک حوزه (Domain) توسط آن شناخته میشود. برای مثال اگر کامپیوتر شما memphis نامیده شود و در حوزه truedata.com قرار داشته باشد، نام میزبان (Hostname) کامل شما memphis.truedata.com خواهد بود.

-Gateway : یک آدرس IP که به عنوان دروازه ای به شبکه های خارج از شبکه محلی شما عمل میکند. معمولا یک میزبان یا مسیریاب (Router) میباشد که بسته ها را بین شبکه محلی شما و اینترنت مسیریابی میکند.

-Primary DNS : آدرس IP کامپیوتری است که عمل ترجمه نام های کامپیوتر به آدرسهای IP را انجام میدهد. این کامپیوتر سرویس دهنده DNS نام دارد. شما ممکن است دارای سرویس دهنده های دوم و سوم DNS باشید که در صورت موجود نبودن هریک دیگری عهده دار کار ترجمه باشد.

انتخاب پیکربندی دیوار آتش (Firewall)

در این مرحله از نصب باید دیوار آتش سیستم خود را پیکربندی نمایید. استٿاده از یک دیوار آتش برای حٿظ امنیت کامپیوترتان الزامی و بسیار مهم است. در صورتی که شما به اینترنت و یا یک شبکه عمومی دیگر متصل میشوید، دیوار آتش میتواند راههای نٿوذ به سیستم لینوکس شما را محدود نماید. برای پیکر بندی دیوار آتش، انتخابهای زیر را در اختیار دارید:

-امنیت بالا (High) : این گزینه را در صورتی انتخاب کنید که از سیستم لینوکس خود برای اتصال به اینترنت برای مرور وب و... استٿاده میکنید. در صورتی که میخواهید از سیستمتان به عنوان سرویس دهنده در شبکه استٿاده نمایید از این گزینه استٿاده نکنید. با انتخاب این گزینه، تنها برخی اتصالات پذیرٿته میشوند. برای اتصال به اینترنت و یک شبکه بندی ساده ٿقط اتصالات DNS و پاسخ های DHCP پذیرٿته میشوند و بقیه اتصالات در دیوار آتش حذٿ خواهند شد.

-امنیت متوسط (Medium) : این سطح امنیت را در صورتی انتخاب نمایید که مایلید دستیابی به برخی از شماره پورت های TCP/IP را ببندید. (بطور استاندارد شماره پورتهای زیر 1023). این انتخاب دستیابی به پورتهای سرویس دهنده NFS، سرویس گیرنده های راه دور X و سرویس دهنده قلم X را خواهد بست.

-بدون دیوار آتش (No Firewall) : این گزینه را در صورتی انتخاب نمایید که به یک شبکه عمومی متصل نیستید و قصد ندارید در شبکه محلی، هیچ یک از درخواستهای ورودی به سیستمتان را حذٿ نمایید. البته شما همچنان میتوانید ٿقط سرویسهایی را راه اندازی نمایید که میخواهید در سطح شبکه ارائه نمایید و سرویس های دیگر را از کار بیاندازید.

در صورتی که مایلید دسترسی به برخی سرویسهای خاص را ٿراهم نمایید، میتوانید روی دگمه سٿارشی کردن (Customize) کلیک کنید و پذیرش درخواستهای ورودی برای سرویسهای DHCP، SSH، Telnet، WWW، Mail و FTP را ٿراهم نمایید. همچنین میتوانید لیستی از شماره پورتهایی که با کاما از هم جدا شده اند را برای باز کردن دسترسی به آنها، وارد نمایید.. ٿایل etc/services به شما نشان میدهد که چه سرویسهایی به چه پورتهایی مرتبط هستند.

آموزش SQLserver

معرفی SQL و دستورات عمومی آن
توسط SQL ميتوان درون يك بانك اطلاعاتي پرس و جو كرده (Query) و نتيجه را برگرداند. بانك اطلاعاتي شامل آبجكتي به نام جدول (Table) ميباشد.
ركوردها در بانكهاي اطلاعات در جداول ذخيره ميگردند.
جدول شامل سطر و ستون ميباشند.
در زير ميتوان يك جدول را مشاهده كرد :
Last Name First Name Address City
مثال:
Select Last name from persons
پر كاربرد ترين دستورات SQL شامل موارد زير است :
SELECT استخراج يك داده از بانك اطلاعاتي
UPDATE به روز رساني يك داده درون بانك
DELETE پاك كردن يك داده از بانك اطلاعاتي
INSERT وارد كردن يك داده جديد به بانك اطلاعاتي
همچنين در SQL ميتوان داده هايي نيز تعريف كرد :
CREATE TABLE ايجاد يك جدول جديد
ALTER TABLE تغيير دادن يك جدول
DROP TABLE پاك كردن يك جدول
CREATE INDEX ايجاد يك انديس
(كليد جستجو) DROP INDEX پاك كردن يك انديس

SQL و Active Server Pages - ASP :
SQL يكي از قسمتهاي خيلي مهم ASP ميباشد زيرا در ASP براي كار با بانكهاي اطلاعاتي از SQL استفاده ميشود. و توسط تكنولوژي ADO ميتوان از SQL در ASP استفاده كرد.
دستور SELECT :
SELECT column-name(s) FROM table-name
مثال :
نام جدول Persons است
Last Name First Name Address City
Hasani Ali Esfahan

 

دستور Select همراه با شرط

SELECT column FROM table WHERE column condition value
عملگر ها در SQL:
عملگر مفهوم
= معادل بودن
<> برابر نبودن
> بزرگتر


دستور DISTINCT (جداسازي) :

SELECT DISTINCT column-name(s) FROM table-name
مثال :
نام جدول Order است Company Order Number
sega 3412


--------------------------------------------------------------------------------

دستور Order By :

براي مرتب كردن سطرها
نام جدول Order است Company Order Number
sega 3412
ABS Shop 5678
w3s 3212
W3S 6778
مثال :
SELECT Company , OrderNumber


دستور Insert :

INSERT INTO Table-Name ( Column1 , Column2) VALUES

مثال :
DELETE FROM Person WHERE Lastname=’hasani’ نام جدول Persons است last name First name Adress city
alian hasani NO 40 Esfahan
Hasani Ali No 15 Tehran
نتيجه :
last name First name Adress city
alian hasani NO 40 Esfahan
SEGA
W3S
Trio


--------------------------------------------------------------------------------

دسترسي به يك پايگاه داده از يك صفحه ASP :

١-ايجاد يك ADO Connection به يك پايگاه داده
2-باز كردن Connection پايگاه داده
3-ايجاد يك
ADO Record Set 4-باز كردن
Record set 5-گرفتن داده هايي كه نياز داريم از
Record Set 6-بستن
Record Set 7-بستن
Connection


--------------------------------------------------------------------------------

1-ايجاد يك ADO Connection به يك پايگاه داده

١-1- روش DSN-LESS C:/InetPub/wwwroot/nor.mdb مسير فايل نمونه
< % var conn=Server. CreateObject ( “ADODB.
Connection”) Conn. Provider=” Microsoft . Jet . OLEDB.4.0” Conn.Open
(“C:/InetPub/wwwroot/nor.mdb”) % >


--------------------------------------------------------------------------------

2- روش ODBC

-2- روش ODBC : در اين روش ابتدا بايد يك ODBD Connection به Data Base ايجاد كنيم و سپس از طريق ADO به فايل DSN به طريق زير Connect كنيم.
< % var conn=Server. CreateObject

--------------------------------------------------------------------------------


ايجاد يك ODBC Connection به پايگاه داده MS Access :

١- وارد شدن به ODBC از Control Panel
2- انتخاب
System DSN 3- كليك كردن روي دكمه ADD
4- انتخاب Microsoft Access Driver و كليك كردن روي دكمه
Finish 5- در مرحله بعد كليك كردن بر روي دكمه Select و تعيين محل پايگاه داده
6- دادن يك نام در قسمت
Data Source Name 7- كليك كردن روي دكمه OK براي اينكه قادر باشيم اطلاعات يك پايگاه داده را بخوانيم اطلاعات بايد ابتدا در Record Set ، Load شوند. بنابر اين بعد از ساختن يك Connection بايد يك Record Set ايجاد كنيم.
مثال :
نام Data Base = nor.mdb
نام جدول =
Customer C:/Inetpub/wwwroot/nor.mdb Data Base مسير فايل < % conn= Server. CreateObject ( “ADODB.Connection”)
Connection ايجاد
conn.Provider=”Micrisoft.Jet.OLEDB.4.0” conn . Open (“C:/WebData/ nor.mdb”) Connection بازكردن rs=Server. CreateObject (“ADODB.Recordset”)
Record Set ايجاد rs. Open(“Customer”, conn) Record Set بازكردن % > در اين مثال تمام محتويات جدول Customer به rs ريخته ميشود.
حال ميخواهيم در انتخاب محتوياتي از Customer كه ميخواهند به rs انتقال داده شوند از دستور SQL استفاده كنيم.

--------------------------------------------------------------------------------


ساختن يك Connection و Record Set و به كار بردن SQL :

< % set conn=Server. CreateObject (“ADODB .Connection”
conn. Provider=”Microsoft.jet.OLEDB.4.0” conn.
Open ( “C:/Inetpub/wwwroot/nor.mdb”) (Record Se


--------------------------------------------------------------------------------


گرفتن داده هايي كه نياز داريم از Record Set :

بعد از اينكه Record Set را باز كرديم ميتوانيم به داده هايي كه نياز داريم دسترسي داشته باشيم.
مثال :
دسترسي به فيلد name از جدول rs rs(name


--------------------------------------------------------------------------------


چاپ داده ها :

مثال : چاپ فيلد name از جدول rs Response.write(rs(n

 

بستن Recordset و Connection :

- براي بستن Recordset
rs.close() - براي بستن Connection


خلاصه سازی داده ها

هنگامی که دو جدول در يک پيوند يک به چند سهيم هستند. وسيله محرک Query مقاديری از سطر را از يک طرف برای ارتباط دادن سطرها در طرفهای ديگری تکرار می کند. بعضی مواقع آن دقيقاً چيزی است که شما می خواهيد، اما اغلب شما می خواهيد تکرار کردن سطرها را از چندين طريق دسته بندی يا خلاصه سازيد. در اين درس، ما به دو روش برای انجام آن که عبارتند از کليد واژه DISTINCT و شرط GROUP BY نگاه خواهيم کرد.

شناختن SELECT DISTINCT
يکی از اهداف طرح پايگاه داده ارتباطی برداشتن وابستگی داده ها می باشد. اما بيشتر پايگاه داده به طور ضروری مقادير واقعی در چندين سطر را شامل خواهد شد. يک جدولی که شامل اطلاعات آدرس مشتری می باشد برای مثال احتمالاً کد ايالتی و کشوری برای چندين سطر خواهد داشت که نه اشتباه و نه تکراری می باشد. نظر به اينکه هر کد ايالتی نسبتی از يک مشتری می باشد. به همين نحو يک جدول از چندين جهت از يک ارتباط يک به چند ممکن است هر مقدار کليد خارجی معلوم که چندين بار تکرار شده را داشته باشد. آن برای يک ارتباط يکپارچه از پايگاه داده لازم می باشد. اگر چه اين تکرار می تواند بعضی مواقع نتايج Query را نامطلوب سازد. يک جدول مشتری با 1000 سطر با 90 درصد مشتری از کاليفرنيا، Query زير کد CA را 9000 بار خواهد باز گرداند که اصلاً يک نتيجه مفيدی نمی باشد.
SELECT State From Customer
کليد واژه Distinct در اين موقعيت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گيرد به SQL Server دستور داده که سطرهايی چندگانه در قرارگيری نتايج را حذف نمايد. بنابراين Query زير هر کد ايالتی را فقط يک بار باز می گرداند به طور وضوح ليستی که شما جستجو می کنيد.
SELECT DISTINCT State From Customer
راهنمايی: همتای کليد واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه می سازد خواه آن واحد باشد يا خير. از موقعی که اين يک عملکرد پيش فرض از يک عبارت SELECT می باشد All به طور معمول استفاده نمی گردد. اما شما ممکن تصميم بگيريد به در برداشتن آن اگر ساختار دستور Query را بيشتر قابل فهم سازيد.

استفاده کردن از SELECT DISTINCT
کليد واژه Distinct می تواند در عبارت SQL از Query Distinct يا به وسيله تنظيمات Properties از Query مشخص گردد.

ايجاد کردن Distinct Query با استفاده از قاب دياگرام
1- Query Designer را برای جدول Oils به وسيله کليک راست کردن نام جدول در قاب Details باز کرده روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم.
2- قاب دياگرام را به وسيله کليک کردن روی دکمه قاب دياگرام در نوار ابزار Query Designer نشان می دهيم.
3- دکمه Add Table را کليک می کنيم. Query Designer کادر محاوره ای Add Table را نشان می دهد.
4- Plantparts را در ليست جدول انتخاب می کنيم و سپس Add را کليک می کنيم. Query Designer جدول را به Query اضافه می کند.
5- Close را برای بستن کادر محاوره ای کليک می کنيم.
6- دکمه قاب SQL را در نوار ابزار Query Designer کليک می کنيم. قاب SQL ، Query Designer را نشان می دهد.
7- علامت * بعد از کليد واژه SELECT را حذف می کنيم.

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

10- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار Plantpart را چندين بار ليست می کند.

11- در يک ناحيه خالی از قاب دياگرام کليک راست کرده و Properties را انتخاب می کنيم. Query Designer کادر محاوره ای Properties را نشان می دهد.

12- گزينه مقادير Distinct را انتخاب می کنيم.

13- Close را برای بستن کادر محاوره ای کليک می کنيم.
14- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer هر مقدار را فقط يک بار نشان می دهد.

ايجاد کردن يک SELECT DISTINCT با استفاده از قاب SQL
1- قاب دياگرام را پنهان ساخته و قاب SQL را نشان می دهيم.
2- عبارت SELECT موجود را با متن زير جايگزين می کنيم.
SELECT DISTINCT Plant Types Plant Type
FROM Oils INNER Join
Plant Types ON Oils Plant Type ID=Plant Types Plant Type ID

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


شناختن GROUP BY
کليد واژه Distinct امر می کند. SQL Server را به بازگرداندن سطرهای واحد نظر به اينکه شرط GROUP BY ، SQL Server را به ترکيب سطرها با مقادير يکسان در ستون يا ستونهای مشخص شده در شرط در داخل سطر تکی امر می کند.
مهم: هر ستونی که در شرط GROUP BY شامل می باشد بايد در خروجی Query شامل گردد.
شرط GROUP BY اغلب با يک aggregate Function استفاده می گردد. يک aggregate Function محاسبات در مجموعه از مقادير را به انجام می رساند و يک نتيجه تک مقداری را باز می گرداند. رايج ترين گزينه های به هم پيوسته استفاده شده در پرس و جوهایGROUP BY ، MIN می باشد که کوچکترين مقادير را در مجموعه باز می گرداند. MAX که بزرگترين مقادير در مجموعه را باز می گرداند و COUNT که تعدادی از مقادير را در يک مجموعه باز می گرداند.

استفاده کردن از GROUP BY
شرط GROUP BY می تواند مشخص شود با استفاده کردن از هر يک از قابها در Query Designer ، اما قابهای SQL و Grid بيشترين کنترل را فراهم می سازد.

ايجاد کردن يک GROUP BY Query با استفاده از قاب Grid
1- قاب SQL را پنهان ساخته و قاب Grid را نشان می دهيم.

2- ستون OilName را برای Query اضافه می کنيم.

3- دکمه Group By را در نوار ابزار Query Designer کليک می کنيم. Query Designer يک ستون Group By برای شبکه اضافه می کند و هر دوی مقادير را برای Group By قرار می دهد.

4- سل Group By را برای تغيير دادن سطر OilName به Count تغيير می دهيم.

5- دکمه Run را برای اجرا مجدد Query کليک می کنيم. Query Designer تعدادی از Oils را برای هر PlantType نشان می دهد.


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

2- عبارت SELECT موجود را با متن زير جايگزين می کنيم.
SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils
FROM Oils INNER Join
Plant parts ON Oils Plant part ID=Plant parts Plant part ID
GROUP BY Plant parts Plant part

3- دکمه Run را برای اجرای مجدد Query کليک می کنيم. Query Designer مقدار oils برای هر Plantpart نشان می دهد.

استفاده کردن از شرط HAVING
شرط Having سطرهای بازگردانده شده به وسيله شرط GROUP BY را از همان راهی که يک شرط Where سطرهای بازگردانده شده را به وسيله شرط SELECT محدود می سازد. هر دو شرط Where و Having می تواند در يک عبارت SELECT شامل شود که شرط Where قبل از گروه بندی علميات و شرط Having بعد از آن به کار برده می شود. ساختار دستور شرط Having همانند شرط Where می باشد به استثنای اينکه شرط Having می تواند شامل يکی از توابعهای به هم پيوسته باشد که در ليست ستونها از شرط SELECT قرار می گيرد. اگر چه شما بايد توابع به هم پيوسته را تکرار کنيد. برای مثال شرط Having که در حالت زير استفاده شده صحيح می باشد.
SELECT Plant parts Plant part Count (Oils Oil Name) As Number Of Oils
FROM Oils INNER Join
Plant parts ON Oils Plant part ID=Plant Parts Plant part ID
GROUP BY Plant parts Plant part
HAVING Count (Oils Oil Name)>3
اگر چه شما نمی توانيد از اسم مستعار برای تابع Count در شرط Having استفاده کنيد. بنابراين شرط Having زير درست نخواهد بود.
HAVING Number Of Oils>3

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

2- 5Add> را برای سل مورد نظر از ستون oil Name قرار می دهيم.

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


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

2- شرط Having را برای HAVING (Count (Oils Oil Name)<5) تغيير می دهيم.

3- دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کليک می کنيم. Query Designer فقط آن Plantparts که Oils اشتراکی کمتر از 5 دارد را نشان می دهد.


مرتب سازی و انتخاب کردن سطرها
در فصل گذشته ما بيشترين فرمهای مقدماتی از حالت SELECT را مرور کرده و آنها را برای انتخاب ستونهای يک جدول استفاده کرديم. اما بيشتر مواقع شما بازگشت به سطرها در جدول پس زمينه يا نمايش در يک قاعده خاص و فقط بازگشت به يک زير مجموعه از آنها را خواهيد خواست. شرطهای ORDER BY و WHERE در اين درس بررسی شده و اجرای آن برای شما فراهم شود.

شرط ORDER BY
شرط The ORDER BY يک ترکيب گزينه ای از يک حالت SELECT می باشد. آن به شما برای مشخص کردن ترتيب در آن سطرهايی که بازگشت خواهند کرد اجازه می دهد. ستونهای چندگانه می توانند مشخص شوند و سطرها می توانند به صورت ترتيب افزايشی يا کاهشی باز گردانده شوند.

مرتب سازی سطرها
ساده ترين فرم در شرط ORDER BY فراهم می سازد يک نام ستون تکی که برای مرتب کردن سطرها که به وسيله Query باز گردانده می شود استفاده خواهد شد.

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

3- فقط ستونهای OilID ، Oil Name ، LatinName را برای نمايش انتخاب می کنيم. Query Designer محتويات قاب Results را که کمرنگ شده برای نشان دادن اينکه با مشخصات Query زياد مربوط نمی باشد نشان می دهد.

4- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer فقط ستونهای مشخص شده را نشان می دهد.

5- نوع Sort فيلد Oil Name را صعودی قرار می دهيم.

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

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

2- DESC را بعد از شرط ORDER BY OilName اضافه می کنيم.

راهنمايی: کليد واژه DESCبه SQL Server برگرداندن سطرها به ترتيب نزولی را ابراز می کند. کليد واژه ASC که گزينه ای می باشد سطرها را به ترتيب صعودی برمی گرداند.
3- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نتايح را که با OilName ذخيره شده به صورت نزولی نشان می دهد.

مرتب سازی ستونهای چندگانه
شما می توانيد ستونهای چندگانه را در شرط ORDER BY مشخص کنيد. زمانی که ستونهای چندگانه مشخص می گردند ترتيب ستونها نتايج SQL Server را که به وسيله اولين ستون و سپس به وسيله دومين ستون و بنابراين چهارمين ستون مرتب خواهد شد مشخص می کند.
راهنمايی: تمرينها در اين بخش از جدول OilOdors استفاده می کند که به صورت جدول الحاقی انجام وظيفه می کند که ارتباط چندبه چند بين جدول Oils و Odors را تجزيه و تحليل می کند. معمولاً شما کليدهای خارجی ترکيب شده در اين جدول را با استفاده از يک ارتباط تجزيه می کرديد.

مرتب سازی سطرها با استفاده از قاب Grid
1- پنجره شماره 1 را از منوی Window برای برگشت به درخت Console انتخاب می کنيم.
2- Query Designer را برای جدول Oil Orders به وسيله کليک راست کردن نام آن در قاب Details باز کرده روی زير منوی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.
3- قاب Grid را به وسيله کليک کردن دکمه قاب Grid روی نوار ابزار Query Designer نشان می دهيم.

4- * را در قاب Grid با نامهای دو فيلد جايگزين می کنيم. SQL Server محتويات از قاب Results را برای نشان دادن اينکه آن با مشخصات Query زياد در ارتباط نيست کم رنگ می کند.

5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer فقط ستونهای مشخص شده شما را نشان می دهد.

6- نوع Sort هر دوی ستونها را صعودی قرار می دهيم.

7- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطرهای مرتب شده را با اولين OilID و سپس با OdorID در داخل OilID نشان می دهد.


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

2- ستونها را در شرط ORDER BY معکوس می کنيم.

3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نتايج مرتب شده را با اولين OdorID و سپس با OilID نشان می دهد.

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

شرط WHERE
با استفاده از شرط اختياری WHERE از حالت SELECT شما می توانيد يک زير مجموعه از سطرها که باز گردانده می شوند را مشخص کنيد. برای مثال شما ممکن است بخواهيد فقط مشتريهايی که بيش از $1000 در 12 ماه قبل خرج کرده اند را ببينيد يا اينکه فقط نامهای Oil که با حرف R شروع می شوند را ببينيد. شما اين ملاکها را با استفاده از شرط WHERE مشخص خواهيد کرد.

شرط WHERE BASIC
Operator Meaning
مساويست با = بزرگتر از < کوچکتر از >بزرگتر يا مساويست با =<کوچکتر يا مساويست با => مساوی نيست با <>
کليد برای شرط WHERE يک ملاک انتخابی می باشد که مشخص می کند که کدام سطرها باز خواهند گشت. ساختار پايه ای از يک شرط WHERE ، WHERE می باشد. SQL Server يک حدود کاملی از اپراتورهای مقايسه ای را به طوری که در جدول B-1 نشان داده شده فراهم می سازد.


مشخص شده در شرايط WHERE می تواند يک ارزش دائمی باشد مانند Red'''' يا 10000 يا می تواند باشد يک عبارتی که يک ارزش مانند GETDATE. را باز گرداند. به طور شبيه ارزش می تواند دستی ساخته شوند با استفاده از تابعهای Transact-SQL مانند LEFT که يک تعدادی از کاراکترهای مشخص شده از چپ يک رشته را باز می گرداند، ما تمام جزئيات توابع را در درس 24 مرور خواهيم کرد.
مشخص کردن يک شرط WHERE با استفاده از قاب Grid
1- پنجره شماره 2 را از منوی Window برای بازگشت به پنجره Query Designer که ما زودتر در اين درس استفاده کرده ايم انتخاب می کنيم.
2- قاب SQL را پنهان کرده و قاب Grid را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer نشان می دهيم.
3- ''=''Eucalyptus را در سل ملاک سطر OilName از قاب Grid وارد می کنيم.

4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم، Query Designer فقط يک سطر تنها را نشان می دهد.


مشخص کردن يک شرط WHERE با استفاده از قاب SQL
1- قاب Grid را پنهان ساخته و قاب SQL را به وسيله کليک کردن دکمه ها در نوار ابزار Query Designer کليک می کنيم.

2- شرط WHERE را با WHERE (LEFT(Oil Name,1)=''R'') تغيير می دهيم.

3- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer نامهای Oil را که با ''R'' شروع می گردد را نشان می دهد.


استفاده کردن از اپراتورهای ويژه
علاوه بر فرمت استاندارد برای يک شرط WHERE از ، SQL Server همچنين سه عملگر را پشتيبانی می کند: LIKE که اجازه می دهد به شما به فراهم ساختن مقدار نامشخص با استفاده از وايلد کارتهای نشان داده شده در جدول 2-13 و BETWEEN که اجازه می دهد به شما مشخص کردن يک محدوده از ارزشها و IN که اجازه می دهد به شما برای مشخص کردن يک مجموعه از مقادير.
مثال معنی Wildcard
LIKE 'a' که ارتباط می دهد at'''' و ''as'' هر تک کاراکتر -اما نه ''and''%'t'%ILKE که ارتباط می دهد ''at'' و bat'''' و ''Together'' اما نه ''Lucky'' هر رشته از صفر يا چندين کاراکتر %LIKE '[a-c]at' که ارتباط می دهدCat'''' و ''bat'' اما نه ''fat'' هر کاراکتر ويژه در داخل يک محدوده يا مجموعه []LIKE '[a-b]at' که ارتباط می دهدBat'''' اما نه ''Cat''LIKE '[^c]at' که ارتباط می دهد ''Bat'' و ''fat'' اما نه ''Cat'' هر کاراکتر ويژه که در داخل يک محدوده يا مجموعه نمی باشد [^]

مشخص کردن يک شرط WHERE با استفاده از LIKE
1- شرط WHERE را در قاب SQL برای WHERE تغيير می دهيم. )% (Oil Name LIKE 'Rose'

2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer همه سطرهايی که با Rose شروع می گردد را نشان می دهد.


مشخص کردن يک شرط WHERE با استفاده از BETWEEN
1- شرط WHERE را در قاب SQL باWHERE(LEFT(Oil Name,1)BETWEEN A AND 'C') تغيير می دهيم.

2- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer همه سطرها که با A و B يا C شروع می گردد را نشان می دهد.

راهنمايی: Transact-SQL همچنين عملگرها Not BETWEEN را پشتيبانی می کند که دقيقاً از همان طريق کار می کند. به استثنای اينکه آن شامل يک محدوده ای از مقادير می باشد. برای مثال Left (Oil Name , 1) Not BETWEEN 'C' And 'E' همه سطرها باز خواهد گرداند به جز آنهايی که Oil Name با C و D يا E شروع می کند.

مشخص کردن يک شرط WHERE با استفاده از IN
1- شرط WHERE را در قاب SQL با WHERE (LEFT (OilName , 1) IN('G','M','V')) تغيير می دهيم.

2- دکمه Run را در نوار ابزار Query Designer برای اجرا Query کليک می کنيم. Query Designer ، 8 سطر را نشان می دهد.


ترکيب کردن ملاک انتخابی
علاوه بر مشخص کردن يک شرط WHERE با استفاده از عبارت Format شما می توانيد همچنين عبارات را با استفاده از عملگر منطقی OR يا AND ترکيب کنيد. يک شرط WHERE از فرمت FormatOR سطرهايی که به ملاک مربوط می گردند خواهد بازگرداند، نظر به اينکه يک شرط WHERE از And Format سطرهايی که به هر دو ملاکها مربوط می گردند را باز خواهد گرداند.

مشخص کردن ملاک پيچيده با استفاده از OR
1- شرط WHERE رادرقاب SQL به WHERE (OilName='Rosemary' OR OilName='Sagy) تغيير می دهيم.

2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer دو سطر را نشان می دهد.

مشخص کردن ملاک پيچيده با استفاده از AND
1- شرط WHERE را در قاب SQL به ) %(Oil Name LIKE 'Rose' WHERE تغيير می دهيم.

2- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer ، 4 سطر را نشان می دهد.

3- شرط WHERE را در قاب SQL به And (OilID<40) ) %(OilName LIKE Rose WHERE تغيير می دهيم.

4- دکمه Run را روی نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer سطر Roso Otto را شامل می گردد.

بازيابی سطرها
بيشتر برنامه های پايگاه داده از يک برنامه ريزی محيطی از قبيل مايکروسافت Access يا مايکروسافت Visual Basic برای فراهم آوردن رابط کاربر استفاده خواهند کرد. اگر چه Manager Enterprise يک ابزار ساده به نام Query Designer فراهم می آورد که به شما به آسانی اجازه می دهد داده ها را در يک يا چندين جدول در پايگاه داده Aromatherapy استفاده می کنيد.

استفاده کردن از Query Designer
حتی با وجود اينکه داده در يک پايگاه داده SQL Server ذخيره شده به سختی در حالت Raw استفاده شده بدون اينکه ذخيره شود يا فيلتر شود در چندين طريق، بعضی مواقع آن به توانا بودن برای کنترل سريع محتويات يک جدول مفيد واقع می شود. Query Designer مديريت Enterprise آن را برای ديدن و ويرايش سطرها آسان ساخته و حتی سطرهای جديد ديگر اضافه می کند.

ديدن سطرها در يک جدول
ساده ترين راه برای ديدن سطرها در يک جدول بازکردن Query Designer از طريق منوی Context جدول می باشد.

ديدن همه سطرها در يک جدول
1- در Manager Enterprise ، پوشه Tables را از پايگاه داده Aromatherapy راهبری می کنيم. SQL Server يک سيستمی از جداول در قاب Details را نشان می دهد.

2- جدول Plant Parts را کليک راست کرده روی زير منوی Open Table رفته و همه سطرهای برگردانده شده را انتخاب می کنيم. SQL Server ، Query Designer را با همه سطرهای نشان داده شده در جدول باز می کند.


محدود کردن تعدادی از سطرهای نشان داده شده
1- Query Designer را اگر هنوز از تمرين قبل بازمانده است می بنديم.
2- جدول Odors را در قاب Details کليک راست کرده روی Open Table Submenu رفته و Return Top را انتخاب می کنيم. SQL Server يک کادر محاوره ای را نشان می دهد که از شما درخواست می کند که تعدادی از سطرها را که مشخص کرده ايد بياوريد.

3- 5 را به عنوان تعداد ماکزيمم برای آوردن سطر تايپ می کنيم.

4- OK را کليک کرده Query Designer را باز می کنيم. 5 سطر اول را در جدول نشان می دهد.

5- پنجره Query Designer را می بنديم.
به هنگام سازی سطرها در يک جدول
Query Designer همچنين می تواند برای تغيير مقادير از سطرهای موجود در يک جدول يا اضافه کردن سطرها استفاده گردد.

ويرايش يک سطر در Query Designer
1- جدول Plantparts را در قاب Details کليک راست کرده روی Open Table Submenu رفته و سپس همه سطرهای بازگشتی را برای بازکردن Query Designer برای جدول Plantparts انتخاب می کنيم.
2- ستون Plantparts از سطر را با يک Plantparts ID 12 از برای خواندن Fruit Kernel به جای Fruit Kernal تغيير می دهيم. Query Designer يک آيکون Edit برای انتخابگر سطر اضافه می کند. برای نشان دادن اينکه رکورد ويرايش شده است اما تغييرات هنوز ذخيره نشده است.

3- سطر ديگر را کليک می کنيم. Query Designer آيکون Edit را ذخيره، تغيير و برمی دارد.

راهنمايی: قبل از اينکه شما به ديگر سطر حرکت کنيد، شما می توانيد کليد Esc را برای اعمال نکردن تغييراتتان فشار دهيد.

اضافه کردن يک سطر جديد در Query Designer
1- در Query Designer در ستون Plantparts از آخرين سطر (که با آيکون جديد در انتخابگر سطر علامتگذاری شده) کليک می کنيم.
2- Fruit را تايپ می کنيم. Query Designer سطر را با آيکون Edit علامتگذاری کرده و يک سطر جديد در پايين جدول اضافه می کند.

3- در هر سطر ديگر در جدول کليک می کنيم. Query Designer يک PlantpartsID را برای سطر جديد تخصيص داده و آن را برای جدول ذخيره می سازد.

راهنمايی: شما نمی توانيد يک PlantpartsID را به سطر جديد اضافه کنيد زيرا آن به صورت يک ستون موجوديت تغيير داده است. اگر شما آن را انجام دهيد Query Designer يک متن Error نشان خواهد داد.

شناخت Query Designer
زمانی که شما Query Designer را با استفاده از دستور Open Table باز می کنيد. سطرها در جدول در يک شبکه شبيه به Data Sheet View يک جدول در Access نشان داده می شود که قاب Query Designers Results می باشد. Query Designer سه قاب کلی دارد. قاب Diagram قاب Grid و قاب SQL .
شما صفحه نمايشگر قابهای گوناگون را در Query Designer با استفاده از دکمه های Toolbar کنترل می کنيد. شما می توانيد قابها را در هر ترکيب نشان دهيد. Query Designer از به هنگام سازی هر صفحه نمايش قاب مواظبت خواهد کرد زمانی که شما تغييراتی را برای Query می سازيد.


قاب Diagram
دکمه قاب Diagram را در نوار ابزار Query Designer که قاب Diagram را نشان می دهد کليک می کنيم. قاب Diagram يک نمايشی از Query برای يک نمودار پايگاه داده نشان می دهد. به طور کلی برای همه مزيتها از يک نمايش گرافيکی، قاب Diagram مفيد می باشد. برای مشخص کردن جداول و نماهايی که روی هر کدام از Query هايتان پايه ريزی خواهد شد و ارتباطی بين آنها به خوبی ستونهايی که نشان داده شده است.


قاب Grid
دکمه قاب Grid را در نوار ابزار Query Designer که قاب Grid را نشان می دهد کليک می کنيم. قاب Grid شبيه به Query Designer Grid در Access می باشد. آن يک راه سريع برای تغيير سر ستون از يک ستون Query را فراهم می آورد و دستوراتی را که در هر کدام از سطرها نشان داده خواهد شد را مشخص می کند. انتخاب ملاک مانند را Surname = Jones قرار می دهد.


قاب SQL
دکمه قاب SQL را روی نوار ابزار Query Designer که قاب SQL را نشان می دهد کليک می کنيم. قاب SQL عبارت Transact-SQL واقعی را که Query را توليد خواهد کرد نشان می دهد. شما می توانيد مستقيماً عبارت Transact-SQL را با استفاده از قاب SQL وارد و ويرايش کنيد.
راهنمايی: زمانی که شما اولين Transact-SQL را می آموزيد، قاب SQL يک ابزار بزرگ آموزش می باشد. Query را با استفاده از قاب Diagram و Grid راه اندازی کرده و Query Designer عبارت Transact-SQL را برای شما خواهد ساخت.
عبارت SELECT
پايه و اساس همه داده های رابطه ای در محيط SQL Server يک حالت Transact-SQL تنها است که عبارت Select می باشد. در اين درس ما به مهمترين ترکيبات حالت Select و راههای استفاده کردن از Query Designer برای ساختن خودکار عبارت می پردازيم. با استفاده از Query Designer شما می توانيد يک عبارت Select را مستقيماً در قاب SQL وارد سازيد يا با داشتن Query Designer آن را به وسيله قابهای Grid و Diagram بسازيد. گزينه ها متقابلاً منحصر به فرد نمی باشند. شما می توانيد يک Query را به وسيله اضافه کردن جداول برای قاب Diagram ، تغيير نام ستون با استفاده از قاب Grid شروع کنيد و دستورات را به طوری که سطرها برگردانده می شود به وسيله وارد کردن شرط ORDER BY به صورت مستقيم در قاب SQL مشخص کنيد.
تمرينهای درس يک گونه ای از تکنيکها را به شما نشان خواهد داد. موقعی که خودتان کار می کنيد شما می توانيد يکی را که در زمان ساده تر به نظر می رسد را انتخاب کنيد.

شناختن عبارت SELECT
ساختار دستور عبارت Select خيلی پيچيده می باشد که دارای چندين شرط و اپراتور می باشد اما ساختار اصلی کاملاً ساده می باشد.
Select [ Top n [PERCENT] ] Column-List
From Source-List
[ Where Search-Condition ]
[ ORDER By Expression ]
فقط اولين و دومين شرط از عبارت Select مورد نياز می باشد. اولين شرط، Select Column-List مشخص می کند ستونهايی که به وسيله Query بازگردانده خواهد شد. ليست Column می تواند شامل ستونهای اصلی از جداول و نماهايی باشد که بر روی Query پايه ريزی شده است يا اينکه می تواند شامل ستونهای محاسباتی اقتباس شده از ستونهای اصلی باشد. دومين شرط، From Source-LIST ، نماها و جداول را که در Query پايه ريزی شده مشخص می کند.

انتخاب کردن تمام ستونها
ساده ترين شکل از عبارت Select آن انتخابی است که همه ستونها از يک جدول تکی را انتخاب می کند. با بيشترين نسخه های زبان SQL ، Transact-SQL اجازه می دهد به شما به استفاده از (*) به عنوان يک Shorthand برای مشخص کردن تمام ستونها، بنابراين اين فرم ساده از عبارت اين چنين است:
SELECT *
FROM Table-Name

انتخاب همه ستونها
1- Query Designer را برای Properties Table به وسيله کليک راست کردن نام آن در قاب Detail Enterprise Manager باز می کنيم، روی زير منوی Open Table رفته و Return All Rows را انتخاب می کنيم. SQL Server ، Query Designer را برای جدول باز می کند.

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

3- عبارت SQL را برای نشان دادن همه ستونها از جدول Oils تغيير می دهيم.

4- دکمه Run را روی نوار ابزار Query Designer برای به اجرا در آوردن Query کليک می کنيم. Query Designer همه رکوردها در جدول Oils را نشان می دهد.

راهنمايی: شما می توانيد بيشتر سطرها را در قاب Results به وسيله درج کردن درايور قاب بين قابها نشان دهيد.

انتخاب زير مجموعه از ستونها
اگر چه ساختار دستور Select * آسان و سريع می باشد، شما اغلب بيشتر می خواهيد که Query تان فقط به ستونهای انتخاب شده باز گردد. اين با مشخص کردن ستونها در Column-List از شرط Select به انجام می رسد.

انتخاب ستونها با استفاده از قاب SQL
1- علامت * را در عبارت Select با تايپ کردن نام ستون Oil Name جايگزين می کنيم.

2- دکمه Run را روی نوار ابزار Query Designer برای به کار بستن Query کليک می کنيم. Query فقط ستون Oil Name را نشان می دهد.

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

2- فيلد LatinName را در قاب Diagram کليک کرده Query Designer قاب Results به جهت اينکه زياد معتبر نيست کم نور نشان می دهد.

3- دکمه Run را برای به کارگيری Query کليک کرده Query Designer هر دو ستون Latin Name و Oil Name را در قاب Results نشان می دهد.

ايجاد کردن نام مستعار ستون
به طور پيش فرض، يک ستون در يک Query نام يکسان دارد که در جدول يا نمای مورد نظر می باشد. اگر چه اغلب تغيير دادن نام آن مفيد می باشد. نامتناسب به نظر می رسد که فيلد به کاربر بدين صورت ( ''My Long Column Name With No Spaces'' ) يا اينکه به طور خلاصه اين چنين 32713 PK-Varchar-50-Col نشان داده شود. عبارت Select به شما اجازه می دهد که يک ستون را در Query به وسيله ايجاد يک alias تغيير نام دهيد. نام مستعار، نام ستون را در Query تغيير می دهد نه در جدول.

ايجاد يک نام مستعار برای ستون با استفاده از قاب Grid
1- قاب Diagram را پنهان کرده و قاب Grid را به وسيله کليک کردن دکمه ها روی نوار ابزار Query Designer نشان می دهيم.

2- يک نام مستعار برای ستون OilName به وسيله تايپ کردن OilName در فيلد alias ايجاد می کنيم. Query Designer به طور خودکار در اطراف alias پرانتز اضافه کرده زيرا alias شامل يک فضا می باشد.

راهنمايی: پرانتزهای چهارگوش در خروجی Query نشان داده نخواهند شد. آنها به نحوه آسان به SQL Server می گويند که با عبارت ''Oil Name'' به عنوان يک نام مجزا برخورد کنيم. پرانتزها فقط موقعی مورد نياز می باشند که نام مستعار شامل يک جای خالی باشد، اما آنها می تواند برای نام هر ستون استفاده شود.
3- دکمه Run را روی نوار ابزار Query Designer برای مجدد به کار بستن Query کليک می کنيم. SQL Server نام را در سر ستون با جای خالی اضافه شده بين دو کلمه نشان می دهد.


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

2- [ Latin Name ] را به عنوان نام مستعار برای دومين ستون اضافه می کنيم.

3- دکمه Run را روی نوار ابزار Query Designer برای به کارگيری Query کليک می کنيم. Query Designer نام را در سر ستون با يک فضای خالی بين دو کلمه نشان می دهد.


ايجاد کردن ستونهای محاسباتی
علاوه بر اينکه ستونها به طرز ساده اطلاعات را در جداول Underlying و نماها نشان می دهد، همچنين Query تان می تواند شامل ستونهايی باشد که محاسبه شده اند بر اساس داده های Underlying ، توابع SQL Server يا هر ترکيب دوتايی. ستون محاسباتی به وسيله مشخص کردن يک عبارت به عنوان ستون ايجاد می گردد.
ما به عبارات Transact-SQL در Detail در درس 21 ''The Transact-SQL Language'' می پردازيم. بنابراين در اين تمرين ما فقط يک جفت از عبارات ساده که بر اساس اپراتور الحاق رشته Transact-SQL که دو رشته و تابع GETDATE را که داده ها و زمان سيستم جاری را باز می گرداند اضافه می کنيم.

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

2- در هر سل ستون خالی در قاب Grid کليک کرده و Oil Name +' – '+ Latin Name را تايپ می کنيم.

راهنمايی: شما می توانيد سل ها را در قاب Grid به وسيله درج کردن خطوط تقسيم بين سر ستونها عريض تر سازيد.
3- کليد Tab را فشار می دهيم. SQL Server ، 1 Expr را به عنوان نام مستعار ستون پيشنهاد می دهد.

4- نام مستعار را برای Extended Name تغيير می دهيم.

5- دکمه Run را برای به کارگيری مجدد Query کليک می کنيم. Query Designer ستون جديد را در قاب Results نشان می دهد.


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

2- GETDATE را به عنوان [ Today’s Data ] برای ليست ستون از شروط Select اضافه می کنيم.

راهنمايی: کاما را قبل از GETDATE فراموش نکنيد.
3- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server تاريخ جاری در هر سطر را نشان می دهد.


استفاده کردن از شرط Top n
زمانی که شما دستور Return Top را از منوی متن جدول انتخاب می کنيد. SQL Server شرط Top n را در پايين پوششها برای ايجاد صفحه نمايش در Query Designer استفاده می کند. علاوه بر اينکه يک شماره مشخصی از سطرها را مشخص می کنيد شما می توانيد همچنين يک درصد از سطرها را به وسيله استفاده کردن از شرط Top n Percent نشان دهيد. همان طوری که شما ممکن است انتظار داشته باشيد درصدی از سطرهای مشخص شده را باز می گردانيم.

نشان دادن سطرهای Top s
1- Top 5 را قبل از اولين کلمه در Column-List از شروط Select در قاب SQL اضافه می کنيم.

2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری مجدد Query کليک می کنيم. SQL Server فقط 5 سطر اول را نشان می دهد.


نشان دادن Top 5 درصد از سطرها
1- کلمه Percent را بعد از Top 5 در قاب SQL اضافه می کنيم.

2- دکمه Run را در نوار ابزار Query Designer برای به کارگيری Query کليک می کنيم. SQL Server فقط 5 درصد اول از سطرها را در SQL Server نشان می دهد.