热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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



【自然框架】PowerDesigner 格式的元数据的表结构




推荐阅读
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 为了提升单位内部沟通效率,我们开发了一套飞秋软件与OA系统的消息接口服务系统。该系统能够将OA系统中的审批、通知等信息自动同步至飞秋平台,确保员工在使用飞秋进行日常沟通的同时,也能及时获取OA系统的各类重要信息,从而实现无缝对接,提高工作效率。 ... [详细]
  • 深入理解Redis中的字典实现
    本文详细介绍了Redis中字典的实现机制,包括其底层数据结构、哈希表与哈希节点的关系、元素添加方法及rehash操作的具体流程。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 本文旨在探讨信息安全专业的职业规划路径,结合个人经历和专家建议,为即将毕业的学生提供实用的指导。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • 在软件企业中,开源节流是管理层共同关注的重点。作为技术总监,我在产品和技术运营层面深入探讨了这一问题,旨在通过技术创新和优化流程来实现成本控制和效益提升。本文将详细分析CTO在开源节流中的核心作用及其具体策略。 ... [详细]
author-avatar
哈喽随风amy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有