在PowerDesigner中設計物理模型3——視圖、存儲過程和函數

視圖

在SQL Server中視圖定義了一個SQL查詢,一個查詢中可以查詢一個表也可以查詢多個表,在PD中定義視圖與在SQL Server中定義查詢相似。例如要創幾個所有學生的所有選課結果的視圖,那麼在工具欄中選擇視圖按鈕,然後在設計面板中單擊鼠標一次便可添加一個空白的視圖,切換到鼠標指針模式,雙擊該視圖便可打開視圖的屬性窗口。在General選項卡中,可以設置視圖的名字和其他屬性。

image

Usage是表示視圖是隻讀的視圖還是可更新的視圖,還有一個是check option選項,指定了 CHECK OPTION,也不能依據視圖來驗證任何直接對視圖的基礎表執行的更新。如果我們只創建一般的視圖,那麼就選擇只查詢選項。

Dimensional Type指定該視圖表示的是維度還是事實,這個主要是在進行數據倉庫多維數據建模時使用,一般情況下不需要指定。後面的兩個複選框也不需要進行修改。Type使用默認的view選項。

切換到SQL Query選項卡,在文本框中可以設置視圖定義的查詢內容,建議直接先在SSMS中驗證視圖定義SQL語句的正確性,然後再將SQL語句複製粘貼到該文本框中。在定義視圖時最好不要使用*,而應該使用各個需要的列名,這樣在視圖屬性的Columns中才能看到每個列。設計SQL Query如圖所示。

image

當然,也可以在PD中使用自帶的SQL編輯器編寫SQL語句,單擊右下角的“Edit with SQL Editor”按鈕,即可彈出SQL Editor編輯器,編寫SQL語句。

存儲過程和函數

存儲過程和用戶自定義函數都是在同一個組件中設置的,在工具欄中單擊Procedure按鈕,然後在設計面板中單擊一次便可添加一個Procedure。例如要創建一個存儲過程根據學生的學號獲得學生所選的課程,那麼對於的操作如下:

在指針模式下雙擊添加的Procedure,打開Procedure屬性窗口,在General選項卡中可以設置該存儲過程的名字。

image

然後切換到Definition選項卡,該選項卡中定義了存儲過程的定義,在下拉列表框中,選擇<Default Procedure>選項,如果是要定義函數,那麼就需要選擇<Default Function>選項,系統會根據選擇的類型創建SQL語句的模板。

image

在下面的SQL語句中,可以將create procedure [%QUALIFIER%]%PROC%保留,其他的刪除,根據自己要創建的存儲過程編寫SQL語句。

create procedure [%QUALIFIER%]%PROC%
@StudentID int
as
begin
select CourseName
from vwStudentCourse
where StudentID=@StudentID
end

單擊確定按鈕,系統會根據編寫的SQL語句,將所使用的表、視圖與存儲過程關聯起來,如圖所示:

image

創建函數的過程與之類似,只是使用的是create function而不是create Procedure而已。

至此,最常見的數據庫對象:表(表的約束)、視圖、存儲過程、函數等在PD的創建已經介紹完了,接下來會介紹PD的設置。

發佈了112 篇原創文章 · 獲贊 5 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章