close
تبلیغات در اینترنت
آموزش SQL Server - بخش اول

آموزش SQL Server - بخش اول

مجله اینترنتی آفتاب

 

ارتباط آن لاين

 

آمار کاربران


عضو شويد

نام کاربری :
رمز عبور :

فراموشي رمز عبور؟

 

عضويت در سايت

نام کاربری :
رمز عبور :
تکرار رمز :
ایمیل :
نام اصلی :
کد امنیتی : * کد امنیتیبارگزاری مجدد

 

عضويت در خبرنامه


 

تبليغات

 

آخرين ارسال هاي انجمن

 

آموزش SQL Server - بخش اول

بازديد:891



 

معرفی 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 و 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 به یك پایگاه داده 
باز كردن Connection پایگاه داده 
ADO Record Set باز كردن 
Record set
 گرفتن داده هایی كه نیاز داریم از 
Record Set
 بستن 
Record Set
 بستن 
Connection

ایجاد یك ADO Connection به یك پایگاه داده 
روش 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”) % >

روش ODBC 
در این روش ابتدا باید یك ODBD Connection به Data Base ایجاد كنیم و سپس از طریق ADO به فایل DSN به طریق زیر Connect كنیم .

< % var conn=Server. CreateObject % >

ایجاد یك ODBC Connection به پایگاه داده MS Access :
وارد شدن به ODBC از Control Panel 
انتخاب 
System DSN
كلیك كردن روی دكمه ADD 
انتخاب Microsoft Access Driver و كلیك كردن روی دكمه 
Finish
در مرحله بعد كلیك كردن بر روی دكمه Select و تعیین محل پایگاه داده 
دادن یك نام در قسمت 
Data Source Name
كلیك كردن روی دكمه 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 Set) % >

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

بعد از اینكه Record Set را باز كردیم میتوانیم به داده هایی كه نیاز داریم دسترسی داشته باشیم .

مثال 
دسترسی به فیلد name از جدول rs rs(name

چاپ داده ها 
مثال : چاپ فیلد name از جدول n

rs. Response.write(rs)

بستن 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 با استفاده از قاب دیاگرام 
Query Designer را برای جدول Oils به وسیله کلیک راست کردن نام جدول در قاب Details باز کرده روی جدولOpen رفته و همه سطرهای بازگشتی را انتخاب می کنیم 
قاب دیاگرام را به وسیله کلیک کردن روی دکمه قاب دیاگرام در نوار ابزار Query Designer نشان می دهیم 
دکمه Add Table را کلیک می کنیم . Query Designer کادر محاوره ای Add Table را نشان می دهد 
Plantparts را در لیست جدول انتخاب می کنیم و سپس Add را کلیک می کنیم . Query Designer جدول را بهQuery اضافه می کند 
Close را برای بستن کادر محاوره ای کلیک می کنیم 
دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم. قاب SQL ، Query Designer را نشان می دهد .
علامت * بعد از کلید واژه SELECT را حذف می کنیم 
دکمه قاب SQL را در نوار ابزار Query Designer کلیک می کنیم (OK را اگر Query Designer یک متن خطا درباره ساختار دستور عبارت SELECT نشان می دهد کلیک می کنیم ). Query Designer قاب SQL را پنهان می سازد.

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

در قاب دیاگرام فقط ستون Plantpart را از جدول Plantparts برای نشان دادن انتخاب می کنیم 
دکمه Run را برای اجرای مجدد Query کلیک می کنیم . Query Designer هر مقدار Plantpart را چندین بار لیست می کند 
در یک ناحیه خالی از قاب دیاگرام کلیک راست کرده و Properties را انتخاب می کنیم . Query Designer کادر محاوره ای Properties را نشان می دهد 
گزینه مقادیر Distinct را انتخاب می کنیم 
Close را برای بستن کادر محاوره ای کلیک می کنیم 
دکمه Run را برای اجرای مجدد Query کلیک می کنیم . Query Designer هر مقدار را فقط یک بار نشان می دهد .

ایجاد کردن یک SELECT DISTINCT با استفاده از قاب SQL 
قاب دیاگرام را پنهان ساخته و قاب SQL را نشان می دهیم 
عبارت SELECT موجود را با متن زیر جایگزین می کنیم .

SELECT DISTINCT Plant Types Plant Type
FROM Oils INNER Join
Plant Types ON Oils Plant Type ID=Plant Types Plant Type ID

دکمه 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 
قاب SQL را پنهان ساخته و قاب Grid را نشان می دهیم . 
ستون OilName را برای Query اضافه می کنیم . 
دکمه Group By را در نوار ابزار Query Designer کلیک می کنیم . Query Designer یک ستون Group By برای شبکه اضافه می کند و هر دوی مقادیر را برای Group By قرار می دهد 
سل Group By را برای تغییر دادن سطر OilName به Count تغییر می دهیم 
دکمه Run را برای اجرا مجدد Query کلیک می کنیم . Query Designer تعدادی از Oils را برای هر PlantTypeنشان می دهد .

ایجاد کردن یک Group By Query با استفاده از قاب SQL 
قاب شبکه را پنهان ساخته و قاب SQL را نشان می دهیم . 
عبارت 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

دکمه 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 
قاب SQL را پنهان ساخته و قاب Grid را نمایش می دهیم 
Add> را برای سل مورد نظر از ستون oil Name قرار می دهیم 
دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کلیک می کنیم .

ایجاد کردن یک Query با استفاده از HAVING در قاب SQL 
قاب Grid را پنهان ساخته و قاب SQL را نشان می دهیم 
شرط Having را برای HAVING (Count (Oils Oil Name)<5) تغییر می دهیم 
دکمه Run در نوار ابزار Query Designer را برای اجرای مجدد Query کلیک می کنیم. Query Designer فقط آنPlantparts که Oils اشتراکی کمتر از دارد را نشان می دهد

 

 




برچسب هاي مطلب: آموزش SQL Server - بخش چهارم, وب سایت کامپیوتر و الکترونیک, دانلود مقالات کامپیوتر, سایت مقاله ها, دانلود مقالات جدید کامپیوتر, برنامه نویسی, پایگاههای داده و برنامه ها, سایت مقاله, مقالات کامپیوتر, www.sunbook.ir,
نوشته شده توسط:حامد ممتاز

 

مطالب مرتبط

 

آخرين مطالب سايت

 

لوگوی دوستان

متفاوت ترین وب سایت سرگرمی

 

بازدیدکنندگان

 

تبادل لينک

 

سايت دوستان



تمامي حقوق ، امتيازات و مطالب براي www.sunbook.ir محفوظ بوده و هر گونه کپي برداري با ذکر منبع مجاز خواهد بود.

Copyright © 2008-2012 by sunbook - All Rights Reserved - Theme design by hamed momtaz
بهترين حالت نمايش و هماهنگي با مرورگرهاي Firefox و Opera و Google Chrome مي باشد