<a href="http://www.cnblogs.com/jyk/archive/2010/02/21/1670239.html" target="_blank">【自然架構】PowerDesigner 格式的中繼資料的表結構</a>
1、 Manage_Function(節點資訊)
字段名
中文名
類型
大小
預設值
說明
FunctionID
節點ID
int
4
1
主鍵
ParentID
父節點ID
員工姓名
ParentIDPath
父節點ID的路徑
nvarchar
30
_
添加、修改時使用
NoteTitle
節點名稱
100
PowerMark
權限辨別
50
一般情況下等于FunctionID
NoteLevel
級數
第幾級節點
IsShowNote
節點是否顯示
bit
功能節點裡面是否顯示
IsShowPower
角色是否顯示
角色選擇是否顯示
Sort
排序
排序。全部節點的總排序
WebURL
網址
打開網頁的網址
Target
目标
10
這個表就是中繼資料的“支柱”了。記錄了一個項目裡都有哪些功能,功能對應的頁面,功能的分級,權限辨別等。線上示範的那個Demo為例,表裡的資料如下圖:

為了便于檢視,用了一個SQL語句美化了一下
SELECT TOP 100 PERCENT FunctionID, NoteLevel, IsShowNote,
REPLACE(SPACE(NoteLevel), ' ', ' ') + NoteTitle AS NoteTitle,
ParentIDPath + ',' + CAST(FunctionID AS nvarchar(5)) AS ParentIDPath, Sort, WebURL,
Target
FROM dbo.Manage_Function
ORDER BY Sort
2、 Manage_Function_Info (節點的詳細資訊)
FunctionTitle
清單标題
TableID_List
清單用的表名
清單用的表名、視圖名
選擇表
做選項用。資料庫裡不用設定這個字段
ForeignColumnID
外鍵的字段ID
外鍵的字段ID,從表的清單的時候用,作為過濾條件
SQLKindID
分頁算法
PKColumnID
主鍵名
ShowColumns
顯示的字段
*
OrderColumns
排序字段
PageSize
一頁記錄數
20
QueryAlways
固定的查詢條件
300
Query
第一次的查詢條件
NaviCount
頁号數量
TableIDs_Add
添加資料用表
添加資料用的表,如果是多個表的話主表在前。必須是一對一的表,且從表的外鍵名和主表的主鍵名一緻。
TableIDs_Update
修改資料用表
修改資料用表的表。必須是一對一的表,且從表的外鍵名和主表的主鍵名一緻。
TableID_View
檢視資料用表
檢視資料用的表或者視圖
TableID_Delete
删除資料用表
DelKindID
删除方式
外鍵,關聯删除方式
RepeatColumnsForm
表單列數
表單控件的列數
RepeatColumnsFind
查詢列數
查詢控件的列數
這個表裡的字段比較多,主要是記錄一些“一對一性質”的資訊,比如頁面的名稱、表單的列數、查詢的列數、分頁控件需要的屬性(表名、排序字段等)、添加資料的表、修改資料的表等。
以前涉及到表名、字段名的地方是直接寫的名稱,現在改成了使用 主鍵進行關聯,是以在下面的執行個體裡面,您會看到一大堆的數字,這些都是關聯到Manage_Table或者Manage_Columns表的。用關聯的方式強制,這樣不容易出現表名、字段名寫錯的情況了。
3、Manage_ButtonBar(清單裡的按鈕)
ButtonID
序号
外鍵,關聯節點
BtnTitle
按鈕标題
按鈕上面顯示的文字
BtnID
按鈕ID
按鈕的ID
BtnTypeID
按鈕類型
URL
打開的網址
240
單擊按鈕後打開的網頁
WebWidth
打開視窗寬度
WebHeight
打開視窗高度
IsNeedSelect
是否需要選中資料
0:不需要;1:需要
同一節點下的排序
這個表是記錄清單頁面的裡操作按鈕的,比如添加、修改、删除等。一個按鈕就是一條記錄,一個按鈕隻能在一個節點的清單裡,不能在多個清單裡出現。即使兩個清單頁面都有一個叫做“添加”的按鈕也不能共用一個。
也許您會覺着這麼做有點浪費,但是從綜合的角度來看,這麼做是有利于管理和維護的。對于權限判斷也是很有幫助的。
下圖就是“角色管理”節點裡的操作按鈕的記錄(Function=101的記錄)