تبلیغات
برنامه نویسی بانک اطلاعاتی وِیژوال نت همه چی - آموزش SQL Server (قسمت دوم)
برنامه نویسی بانک اطلاعاتی وِیژوال نت همه چی
خدایان برنامه نویسی آمده اند بیایید و فیض ببرید

لینکدونی

آرشیو موضوعی

آرشیو

← آمار وبلاگ

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

آموزش SQL Server (قسمت دوم)



آموزش SQL Server (قسمت دوم) 

آموزش Enterprise Manager

میتوان گفت قلب Sql Server است. در Enterprise Manager شما میتوانید یك اتصال به سرور Sql برقرار كنید . table بسازید. User تعریف كنید و.....

علامت فلش سبز نمایانگر فعال بودن سرور است.
سرور میتواند local باشد مانند بالا و یا یك Sqlserver باشد برروی یك سرور . برای ایجاد یك سرور جدید یا به عبارت دیگر وصل شدن client (ویندوز 98) به یك سرور دیگر بر روی یكی Microsoft Sql Server یا SQL Server Group و یا برروی سرور موجود كلیك سمت راست كرده و گزینه New Sql Server Registratin را انتخاب كنید. سپس كلید next را انتخاب كنید. سپس در منوی بعدی در available Server نام سرور خود را تایپ كنید . (نام سرور SQL خود را كه برروی ویندوز 2000 خود نصب كرده اید) و بعد كلید add را فشار دهید.و گزینه next را انتخاب كنید.

در پتجره بعد از شما سوال میكند كه آیا از username ویندوز استفاده كند و یا اینكه از یك username مخصوص خود Sql Server استفاده كنید. گزینه دوم را انتخاب كرده و سپس Login Name و Password را وارد كنید. (در حالت پیش فرض sa بعنوان login name و فضای خالی بجای Password وارد كنید.) پس از چند بار فشار كلید next شروع به وصل شدن به Server میكند. در صورت موفقیت آمیز بودن با پیامی این كار را اطلاع میدهد.
از دیگر گزینه ها شما بیشترین استفاده را از Databases خواهید كرد.
به عبارت دیگر هر كار و پروژه ما بعنوان یك Database در سرور sql قرار میگرد. همه جداول و دستورات مربوط به آنها در این محل نگهداری می شود.
با كلیك سمت راست برروی Databases و انتخاب New Database... میتوانید یك Database جدید برای خودتان بسازید.


پس از انتخاب نام آن را تایید كنید.
هر Database شامل موارد زیر است :
1- Diagram : ارتباط جداول را نشان میدهد.
2- Tables : جداول پروژه را نشان میدهد.
3- Views : دیدهای پروژه را نشان میدهد.
4- Stored Procedure : كدهای sql مربوط به عملیاتهای روی جداول را نگهداری میكند.
5- Users : كاربران تعریف شده بر روی این database را نشان میدهد.
6- Roles: قوانین دسترسی به جداول و پروسیجرها را نشان میدهد.
7- Rules : قوانین مربوط به داده ها را در جداول نشان میدهد.
گزینه های 7 به بعد كاربرد آنچنانی برای كارهای ابتدایی ندارند

ایجاد یك جدول جدید :
برای ایجاد یك جدول جدید بروی tables كلیك سمت راست كرده و گزینه New Table را انتخاب كنید. سپس در كادر بعدی نام جدول را انتخاب كنید. حال فیلدها و نوع آنها را مشخص كنید .
بعد از مشخص كردن نوع و احتمالاً طول فیلد , باید مشخص كنید كه آیا فیلد همیشه می بایست مقدار داشته باشد و یا می تواند null باشد. Allow Nulls اگر تیك داشته باشد یعنی اینكه این فیلد می تواند هیچ مقداری به خود اختصاص ندهد.

تذكر : مقدار null را با فضای خالی اشتباه نگیرید.

در قسمت Default Value مقدار اولیه برای فیلد وارد كنید. تا در صورتیكه هیچ مقداری درج نشد آن مقدار درج شود. (در دستور insert )
اگر Identity را تیك بزنید این فیلد بشكل خود افزا خواهد شد كه اولا باید نوع فیلد عددی و ثانیا مقدار گامها در Identity increment مشخص شود. مقدار اولیه آن را هم می توانید در Identity Seed قرار دهید. بدین شكل با این مقدار شروع و با گامهای مشخص شده حركت خواهد كرد.

تذكر : هیچ مقداری در این فیلد نمی توانید درج كنید , چراكه خود سیستم این مقدار را تولید می كند .

برای مشخص كردن فیلد كلید (یا فیلدهای كلیدی) فیلد(ها) را انتخاب و بر روی علامت كلید بر روی Toolbar كلیك كنید .

تذكر : فیلد كلیدی نمی تواند Allow Nulls باشد.
تذكر : برای تعریف index كلیك سمت راست كرده و index/keys را انتخاب كنید .
( در مورد index بطور مفصل صحبت خواهد شد )

ایجاد Stored Procedure :
مانند هر زبان دیگر رویه ها در sqlServer نیز موجود می باشند. و بكار میروند. سه رویه insert , Updaet و Delete را می توانید براحتی با ویزاردهای خود SqlServer بسازید. از اینجا به بعد از واژه SP بجای رویه استفاده خواهیم كرد.
ابتدا با ساختار كلی SP آشنا شده و سپس به ویزارد موجود خواهیم پرداخت.
برای ایجاد یك SP جدید ابتدا برروی گزینه Stored Procedure كلیك سمت راست كرده و گزینه new Stored Procedure... را انتخاب كنید. در پنچره بعدی شما می توانید متن SP را وارد كنید.

1- نام sp : ابتدا بجای [PROCEDURE NAME] یك نام برای SP خود در نظر بگیرید. من خود از ساختار زیر بدین منظور استفاده میكنیم : عملیات_نام جدول
عنوان مثال اگر نام جدول Sale و عملیات مورد نظر یك عملیات insert باشد نام SP را Sale_INSERT میگذاریم. بهتر است نام عملیات با حروف بزرگ تایپ شود . البته بعضی از دوستان از سه حرف عملیات استفاده می كنند. برای مثال بالا خواهیم داشت :Sale_INS .

2- تعریف پارامترها : برای تعریف پارامترهای ورودی SP قبل از كلمه كلیدی As آنها را داخل پرانتز مشخص كنید. بدین شكل كه ابتدا علامت @ سپس نام پارامتر بعد فاصله و نوع پارامتر.
تذكر : تمامی متغییرها در SP از ساختار نام متغییر@ پیروی میكنند.
بعنوان مثال فرض كنید یك SP دارای دو پارامتر با نامهای Id از نوع int و Name از نوع Varchar(20) باشد , داریم :( @id int,@name varchar(20))
حال بعد از As دستورات مورد نظر را تایپ میكنیم :

مثال 1 : SP بنویسید كه چهار حرف اول فیلد LastName و فیلد FirstName را از جدول Employees انتخاب كند به شرطی كه فیلد LastName با حرف A شروع شود ؟
ابتدا برروی Stored procedure كلیك سمت راست كرده و گزینه New stored procedure را انتخاب كرده و خطوط زیر را تایپ كنید. بعضی از دستورات پایین در كادر باز شده موجود هستند كه نیازی به تایپ مجدد آنها نیست .
create Stored Procedure Employees_BROWSE
As
Select substring(Lastname,1,4) as LastNmae,FirstName
From Employees
Where LastName Like ‘%A’

حال بر روی دكمه ok كلیك نمایید. حال SP با نام Employees_BROWSE در لیست SP اضافه شده است .
مثال 2 : تمام فیلدهای Employees را انتخاب كنید كه فیلد BirthDate در یك بازه تاریخی كه به شكل پارامتر وارد میشود قرار گیرد ؟
create Stored Procedure Employees_BROWSE2
(@StartDate char(10) , @EndDate char(10))
As
Select *
From Employees
Where BirthDate between @StartDate and @EndDate

حال برای اجرای SP ها در Query Analyzer كافی است بنویسیم : نام Exec SP
بعنوان مثال :Exec Employees_browse
اگر پارامتر داشت مقدار پارامترها را هم می آوریم :
Exec Employees_Browse2 ‘01/01/1940’ , ‘15/06/1955’

3- تعریف متغیرها : برای تعریف متغیرها می بایست از كلمه كلیدی Declare استفاده كنیم. بعنوان مثال : Declare @myname varchar(50)
متغییر @myname از نوع كاركتری پویا تعریف میكند.

4- برگرداندن كد خطا : بدین منظور از دستور return @@Error
گرچه هرمقداری را كه بخواهیم می توانیم با دستور return برگردانیم.

5- تعریف پارامترها كه مقداری را برمی گردانند : برای این منظور هنگامی كه پارامتر را در ابتدای پروسیجر تعریف میكنیم بعد از نوع آن از كلمه كلیدی output می كنیم بعنوان مثال :
create Stored Procedure Employees_BROWSE2
(@StartDate char(10) , @EndDate char(10) , @pp varchar(10) output)
As
6- مقدار دهی به متغییرها : به دو روش می توانید این كار را بكنید یكی با دستور Set و دیگری با دستور Select .
7- دستورات شرطی :مانند دیگر زبانها شما می توانید در Sql دستورات شرطی را بكار ببرید. ساختار آن به شكل زیر است :
If شرط then دستور
If شرط then
Begin
دستور1
دستور2
...
end
مثال :

If @Sdate > @Edate set @newDate = @Sdate

8- دستور Set NOCOUNT on : این دستور از نوشت تعداد سطرهای برگردانده شده توسط دستورات جلوگیری میكند. كاربرد مهم آن زمانی است كه شما چند كار را پشت سرهم در SP انجام میدهید. مثلا یك جدوی موقت میسازید و سپس از آن یك تعدادی از فیلدها را با دستور Select انتخاب می كنید. اگر این دستور را در ابتدای SP استفاده نكتید , هنگامی كه میخواهید از آن SP در یك زبان برنامه نویسی استفاده كنید با خطای SP هیچ dataset ی برنمی گرداند مواجه خواهید شد.

تذكر1 : شما می توانید یك SP را در یك SP دیگر فراخوانی كنید. برای این منظور همانطور كه قبلا گفته شد از دستور exec استفاده نمایید.
تذكر 2 : با دستور exec شما می توانید یك دستور sql را نیز اجرا كنید. این كار زمانی بكار می آید كه دستور مورد نظر پویا و متغیر باشد.
مثال :
Exec (“ select * From Employees Where “+@Shart)
این شرط میتواند بر اساس فیلدهای بانك تولید گردد.
مثال : یك SP بنویسید كه اختلاف تعداد سفارشاتی كه فیلد ShipCountry آنها France یا German باشد. را برگرداند ؟
create Stored Procedure Order_France_German ( @Outp int output)
as
declare @Count_France int , @Count_German int

select @Count_France = Count(*)
from orders
where ShipCountry = 'France'

select @Count_German = Count(*)
from orders
where ShipCountry = 'German'

if @Count_France is null set @Count_France = 0
if @Count_German is null set @Count_German = 0

set @outp = @Count_France - @Count_German

درباره وبلاگ

مدیر وبلاگ : دانیال

آخرین پست ها

جستجو

نویسندگان