<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的记录)