自然框架里的元数据
元数据的职责:
自然框架里的元数据有三个职责:描述数据库(字段、表、视图等),描述项目(功能节点、操作按钮等),项目和数据库的关系(一个列表页面里需要显示哪些字段、哪些查询条件等)
元数据的存储:
有两个存储元数据的地方,一个是数据库,另一个是实体类。
先看一下表结构图:
【表结构图】
是不是比较眼熟,这个在以前的通用权限的地方已经介绍过了,只不过那个没有用PD画出来。
先看右面的两个表;
Manage_Columns(字段描述表)。
这个表主要是存放字段的说明的,比如字段名称,用户看的名称,字段大小,字段类型等。(剩下的几个字段最后再说)。
这个表的目的就是要给字段做一个描述,也可以说是一份记录,记录这个项目里都有哪些字段。把字段统一管理起来。
Manage_Table(表的描述)
这个表主要是对表的描述,记录一下项目里都有哪些表,以及表的说明。除了记录表之外,还可以记录项目里有哪些视图、存储过程、自定义函数等。当然也可以记录触发器,不过我还是建议尽量不要用触发器。存储过程也应该用在刀刃上,而不是导出乱用。在自然框架里面是比较依赖视图的,多表关联都是先写成视图的形式的。所以表、视图、存储过程等都是需要记录下来的,并且还需要记录一下他们的关系。比如说一个视图里包含哪些表。一个存储过程涉及到了哪些表。
这两个表就是元数据的第一个职责:描述数据库方面的内容。
我们再看左面的三个表
Manage_Function(项目里的功能节点)
所谓的功能节点,就是大功能,小功能,节点,菜单。往小了说就是一个增删改查的基本页面。往大了说就是一个“分组”。
目的就是要记录一个项目里到底有哪些功能,而这个功能的记录也是比较详细的。比如:新闻管理、企业信息、产品信息、添加订单、请假、批假等。
Manage_Function_Info(功能节点的详细信息)
这个表是对一个节点里需要的信息的详细描述。
比如节点对应的页面的标题名称,数据列表需要从哪个表(视图)里提取数据,排序字段是什么,默认的查询条件(限制条件)是什么,需要往哪个表里添加数据,要修改、删除哪个表的数据等。
总之这里放的是“一对一性质”的记录。而像一个数据列表里面需要哪些字段(包括字段的显示方式),这个就属于“一对多性质”的记录了,这样的单独做一个表表示。也就是下面要介绍的几个表。
Manage_ButtonBar(功能节点里的功能按钮)
记录一个列表页面需要哪些功能按钮,比如添加、修改、删除、按条件查询等。这些按钮完全是自定义的,每一个按钮(记录)只能用在一个列表页面里,不能出现在多个列表页面。这样处理似乎比较啰嗦和浪费,不过对于“个性化”来说却是很必要的。
这三个表就是元数据的第二职责:项目的描述。
最后看看中间的三个表。
Manage_FunListCol(功能节点里的列表字段)
功能节点对应的列表页面里,数据列表里需要的字段,和显示方式的描述。
比如居中、居右、居左,格式化,截取字符串,宽度。
Manage_FunFormCol(功能节点里的表单字段)
功能节点对应的表单页面里,表单需要的字段,和表单布局的一些描述。
比如合并行、字段的说明信息等。
Manage_FunFindCol(功能节点里的查询字段)
功能节点对应的列表页面里,需要的查询条件(字段),和查询方式、布局方式。
比如包含、等于、在…之间等。
这三个表可以看做是项目和数据库的关系了。
元数据的信息就是保存在这几个表里面了。
如果您想下载PD文档看看的话,可以到这里来:http://www.cnblogs.com/jyk/archive/2009/10/28/1591680.html