【自然框架】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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏HaHack

化繁为简的企业级 Git 管理实战(五):二进制大文件的版本控制

19270
来自专栏WindCoder

网易MySQL微专业学习笔记(三)-Mysql权限管理

这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL数据库对象与应用”中的MySQL数据类型相关笔记。

10210
来自专栏用户画像

4.1.6 文件系统基础

文件是以计算机硬盘为载体存储在计算机上的信息集合,它的形式很多样化,可以是文本文档、图片、程序等。

7520
来自专栏前端小吉米

HTTP2即未来

19930
来自专栏云飞学编程

Python学习,多进程了解一下!学爬虫不会用多进程能行吗?

首先我们先做一个小脚本,就用turtle画4个同心圆吧!这样在演示多进程的时候比较直观。代码如下:

7930
来自专栏Golang语言社区

Go语言异步服务器框架原理和实现

Go语言类库中,有两个官方的服务器框架,一个HTTP,一个是RPC。使用这个两个框架,已经能解决大部分的问题,但是,也有一些需求,这些框架是不够的,这篇文章,我...

63570
来自专栏JetpropelledSnake

Django学习笔记之使用 Django项目开发框架

20230
来自专栏pangguoming

Git可视化教程——Git Gui的使用

在Git简介一文中已经对Git进行了简单的介绍,但是理论知识过于枯燥,加上本人专业知识不够扎实,使得初学者在Git的使用上还是会有很大的困难。虽然我更推荐使用G...

34030
来自专栏决胜机器学习

PHP网络技术(二)——模拟网络灌水攻防

PHP网络技术(二)——模拟网络灌水攻防 (原创内容,转载请注明来源,谢谢) 一、概念 网络上如留言板、论坛等,可以提交评论的地方,或者其他可以给用户提交内容...

30040
来自专栏用户画像

3.1.4.1 基本分页存储管理方式

非连续分配允许一个程序分散地装入到不相邻的内存分区中,根据分区的大小是否固定分为分页存储管理方式和分段存储管理方式。

9010

扫码关注云+社区

领取腾讯云代金券