視圖
在SQL Server中視圖定義了一個SQL查詢,一個查詢中可以查詢一個表也可以查詢多個表,在PD中定義視圖與在SQL Server中定義查詢相似。例如要創幾個所有學生的所有選課結果的視圖,那麼在工具欄中選擇視圖按鈕,然後在設計面板中單擊鼠標一次便可添加一個空白的視圖,切換到鼠標指針模式,雙擊該視圖便可打開視圖的屬性窗口。在General選項卡中,可以設置視圖的名字和其他屬性。
Usage是表示視圖是隻讀的視圖還是可更新的視圖,還有一個是check option選項,指定了 CHECK OPTION,也不能依據視圖來驗證任何直接對視圖的基礎表執行的更新。如果我們只創建一般的視圖,那麼就選擇只查詢選項。
Dimensional Type指定該視圖表示的是維度還是事實,這個主要是在進行數據倉庫多維數據建模時使用,一般情況下不需要指定。後面的兩個複選框也不需要進行修改。Type使用默認的view選項。
切換到SQL Query選項卡,在文本框中可以設置視圖定義的查詢內容,建議直接先在SSMS中驗證視圖定義SQL語句的正確性,然後再將SQL語句複製粘貼到該文本框中。在定義視圖時最好不要使用*,而應該使用各個需要的列名,這樣在視圖屬性的Columns中才能看到每個列。設計SQL Query如圖所示。
當然,也可以在PD中使用自帶的SQL編輯器編寫SQL語句,單擊右下角的“Edit with SQL Editor”按鈕,即可彈出SQL Editor編輯器,編寫SQL語句。
存儲過程和函數
存儲過程和用戶自定義函數都是在同一個組件中設置的,在工具欄中單擊Procedure按鈕,然後在設計面板中單擊一次便可添加一個Procedure。例如要創建一個存儲過程根據學生的學號獲得學生所選的課程,那麼對於的操作如下:
在指針模式下雙擊添加的Procedure,打開Procedure屬性窗口,在General選項卡中可以設置該存儲過程的名字。
然後切換到Definition選項卡,該選項卡中定義了存儲過程的定義,在下拉列表框中,選擇<Default Procedure>選項,如果是要定義函數,那麼就需要選擇<Default Function>選項,系統會根據選擇的類型創建SQL語句的模板。
在下面的SQL語句中,可以將create procedure [%QUALIFIER%]%PROC%保留,其他的刪除,根據自己要創建的存儲過程編寫SQL語句。
create procedure [%QUALIFIER%]%PROC% @StudentID int as begin select CourseName from vwStudentCourse where StudentID=@StudentID end
單擊確定按鈕,系統會根據編寫的SQL語句,將所使用的表、視圖與存儲過程關聯起來,如圖所示:
創建函數的過程與之類似,只是使用的是create function而不是create Procedure而已。
至此,最常見的數據庫對象:表(表的約束)、視圖、存儲過程、函數等在PD的創建已經介紹完了,接下來會介紹PD的設置。