0

آموزش گام به گام SQL Server

 
cryingsphere
cryingsphere
کاربر نقره ای
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 375
محل سکونت : خراسان رضوی

پاسخ به:آموزش گام به گام SQL Server
پنج شنبه 31 شهریور 1390  11:59 PM

سلام

 

شروع می کنیم :

 

طراحی View  :

            View ها در واقع جداول مجازی هستند که محدودیت در سطرها و ستون های یک یا چند جدول رابطه ای یا ستون های محاسباتی را شامل می شوند، در طراحی View استفاده از Order By (بدون Top ), Into  دردستور Select بازگشتی مجاز نبوده و هنگام استفاده از جدول مجازی و با استفاده از دستور Select * کلیه ستونهای اعلام شده در View در اختیار درخواست کننده  قرار خواهد گرفت و درخصوص قابلیت دسترسی به سطرها و ستون های View می بایستی موارد دسترسی به جدول مجازی از طریق روش های امنیتی ایجاد گردد ، در نگاه اول شاید بنظر رسد که View ها شباهت به SP ها دارند ولی با دقت بیشتر سطوح امنیتی و محدودیت های ایجاد شده و قابلیت تعیین مشروط و مرتب سازی اختصاصی و مواردی از این دست که توسط دستور Select  قابل وصول است در محدوده تعیین شده بسیار انعطاف فوق العاده ای را ایجاد خواهد کرد که در جای خود بسیار حائز اهمیت است با این اوصاف شکل کلی طراحی یک View  به شکل ذیل خواهد بود.

 

] ( نام ستون ها ) [  نام ویو Create   View

[With SchemaBinding]

As

دستور  Select

 

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

مثال) برای سیستم پرسنلی یک View  طراحی کنید که ستون های ذیل را شامل گردد.

 

] تعداد تحت تکفل ] , [ محل تولد ] , [ نام ] , [ نام خانوادگی ] , [ شماره کارمندی [

 

همانطور که مشاهده می گردد ستون های تعداد تحت تکفل و محل تولد می تواند از طریق Join  با جداول مربوطه به شکل ذیل حاصل گردد.

Create   View   V1  As

Select  No=PrsID,PFamily,PName,C.CityName  As CN ,

           (Select  Count(*)  From Child  Where  PrsID=P.PrsID) As Cno

From   Person   P

Left Join City C On(C.CityID=P.CityID)

 

( 50 )

مثال) براساس View  طراحی شده بنام V1  دستوری بنویسید که ستون های ذیل را به ترتیب نام و نام خانوادگی برای تحت تکفل بزرگتر از 2  ارائه دهد.

 

] تعداد تحت تکفل ] , [ نام خانوادگی ] , [ نام ] , [ شماره کارمندی [

 

در این حالت خواهیم داشت :

Select   No,PName , PFamily , Cno

From   V1

Where   Cno > 2

Order   By   PFamily , PName

 

چند مثال دیگه از این بحث مونده که در پست های بعدی می گم.

موفق باشید

تشکرات از این پست
دسترسی سریع به انجمن ها