zoukankan      html  css  js  c++  java
  • 【自然框架】PowerDesigner 格式的元数据的表结构

    自然框架里的元数据


    元数据的职责:
      自然框架里的元数据有三个职责:描述数据库(字段、表、视图等),描述项目(功能节点、操作按钮等),项目和数据库的关系(一个列表页面里需要显示哪些字段、哪些查询条件等)


    元数据的存储:
      有两个存储元数据的地方,一个是数据库,另一个是实体类。

    先看一下表结构图:
    【表结构图】

      是不是比较眼熟,这个在以前的通用权限的地方已经介绍过了,只不过那个没有用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 

  • 相关阅读:
    如何在Windows Forms应用程序中实现可组装式(Composite)的架构以及松耦合事件机制
    SQL Server 2008中的CDC(Change Data Capture)功能使用及释疑
    【VSTO】Office开发中遇到的兼容性检查问题
    SQL Server 2008 R2的StreamInsight 【文章转载】
    WCF技术的不同应用场景及其实现分析
    如何利用Interception简化MVVM中的Model和ViewModel的设计
    有关在SharePoint Server中Infopath表单无法呈现的问题及解决方案
    再谈谈ADO.NET Data Service 数据格式(xml和json)
    自定义Domain Service时遇到实体不能更新的问题及其解决方案
    如何在RIA Service中启用身份验证
  • 原文地址:https://www.cnblogs.com/jyk/p/1670239.html
Copyright © 2011-2022 走看看