【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分

简介: 自然框架在线演示:  http://pthuanyu.com/   【自然框架】PowerDesigner 格式的元数据的表结构   自然框架的源码、Demo、数据库、说明文档的下载,还是老地方:自然框架的源代码、Demo、数据库、配置信息管理程序下载(2010.

 

自然框架在线演示:  http://pthuanyu.com/

 

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

 

自然框架的源码、Demo、数据库、说明文档的下载,还是老地方:自然框架的源代码、Demo、数据库、配置信息管理程序下载(2010.02.21更新)

 

 1、 Manage_Function(节点信息

  

字段名 中文名 类型 大小 默认值 说明
FunctionID 节点ID int 4 1 主键
ParentID 父节点ID int 4 1 员工姓名
ParentIDPath 父节点ID的路径 nvarchar 30 _ 添加、修改时使用
NoteTitle 节点名称 nvarchar 100 _ 节点名称
PowerMark 权限标识 nvarchar 50 _ 一般情况下等于FunctionID
NoteLevel 级数 int 4 1 第几级节点
IsShowNote 节点是否显示 bit 1 1 功能节点里面是否显示
IsShowPower 角色是否显示 bit 1 1 角色选择是否显示
Sort 排序 int 4 1 排序。全部节点的总排序
WebURL 网址 nvarchar 100 _ 打开网页的网址
Target 目标 nvarchar 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 (节点的详细信息)

 

字段名 中文名 类型 大小 默认值 说明
FunctionID 节点ID int 4 1 主键
FunctionTitle 列表标题 nvarchar 30 _ 列表标题
TableID_List 列表用的表名 int 4 _ 列表用的表名、视图名
TableID_List 选择表 int 4 _ 做选项用。数据库里不用设置这个字段
ForeignColumnID 外键的字段ID int 4 1 外键的字段ID,从表的列表的时候用,作为过滤条件
SQLKindID 分页算法 int 4 0 分页算法
PKColumnID 主键名 int 4 _ 主键名
ShowColumns 显示的字段 nvarchar 50 * 显示的字段
OrderColumns 排序字段 nvarchar 50 _ 排序字段
PageSize 一页记录数 int 4 20 一页记录数
QueryAlways 固定的查询条件 nvarchar 300 _ 固定的查询条件
Query 第一次的查询条件 nvarchar 300 _ 第一次的查询条件
NaviCount 页号数量 int 4 10 页号数量
TableIDs_Add 添加数据用表 nvarchar 100 _ 添加数据用的表,如果是多个表的话主表在前。必须是一对一的表,且从表的外键名和主表的主键名一致。
TableIDs_Update 修改数据用表 nvarchar 100 _ 修改数据用表的表。必须是一对一的表,且从表的外键名和主表的主键名一致。
TableID_View 查看数据用表 int 4 0 查看数据用的表或者视图
TableID_Delete 删除数据用表 int 4 0 删除数据用表
DelKindID 删除方式 int 4 1 外键,关联删除方式
RepeatColumnsForm 表单列数 int 4 1 表单控件的列数
RepeatColumnsFind 查询列数 int 4 4 查询控件的列数

 

这个表里的字段比较多,主要是记录一些“一对一性质”的信息,比如页面的名称、表单的列数、查询的列数、分页控件需要的属性(表名、排序字段等)、添加数据的表、修改数据的表等。

 

以前涉及到表名、字段名的地方是直接写的名称,现在改成了使用 主键进行关联,所以在下面的实例里面,您会看到一大堆的数字,这些都是关联到Manage_Table或者Manage_Columns表的。用关联的方式强制,这样不容易出现表名、字段名写错的情况了。

 

 

 

3、Manage_ButtonBar(列表里的按钮)

 

ButtonID 序号 int 4 1 0 主键
FunctionID 节点ID int 4 1 0 外键,关联节点
BtnTitle 按钮标题 nvarchar 50 _ 0 按钮上面显示的文字
BtnID 按钮ID nvarchar 50 _ 0 按钮的ID
BtnTypeID 按钮类型 int 4 1 0 按钮类型
URL 打开的网址 nvarchar 240 _ 0 单击按钮后打开的网页
WebWidth 打开窗口宽度 int 4 1 0 打开窗口宽度
WebHeight 打开窗口高度 int 4 1 0 打开窗口高度
IsNeedSelect 是否需要选中数据 int 4 0 0 0:不需要;1:需要
Sort 排序 int 4 1 0 同一节点下的排序

 

这个表是记录列表页面的里操作按钮的,比如添加、修改、删除等。一个按钮就是一条记录,一个按钮只能在一个节点的列表里,不能在多个列表里出现。即使两个列表页面都有一个叫做“添加”的按钮也不能共用一个。

 

也许您会觉着这么做有点浪费,但是从综合的角度来看,这么做是有利于管理和维护的。对于权限判断也是很有帮助的。

 

下图就是“角色管理”节点里的操作按钮的记录(Function=101的记录)

 

 

相关文章
|
2月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
2月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
90 11
|
3月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
3月前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
2月前
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
319 10
|
2月前
|
Java 关系型数据库 MySQL
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
168 6
|
2月前
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
76 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
|
3月前
|
Java 数据库连接 数据库
数据库以及其他项目配置
该项目配置了数据库连接和MyBatis设置,并解决了配置文件加载问题。启动类使用 `@SpringBootApplication` 注解,可通过 `@ComponentScan` 指定扫描包。Lombok 自动生成 getter/setter 等方法,简化代码。Result 实体类用于统一返回格式。用户模块包括注册与登录功能,使用 MD5 加密密码、Spring Validation 参数校验及 JWT 认证。JWT 工具类处理令牌生成与解析,并通过拦截器验证。Redis 优化登录功能,利用 ThreadLocal 存储用户信息。此外,还包括文章模块的相关功能,如文章分类管理、
45 2
|
4月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的前后端分离的选课管理系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js技术栈的高校选课管理系统的设计与实现。该系统采用前后端分离架构,旨在提高选课效率、优化资源分配及提升用户体验。技术栈包括:后端Spring Boot 2.0、前端Vue 2.0、数据库MySQL 8.0、开发环境JDK 1.8和Maven 3.6等。系统功能覆盖登录、学生信息管理、选课管理、成绩查询等多个方面,并针对学生、教师和管理员提供了不同的操作界面。系统采用了响应式设计,支持多设备访问,并通过Element UI增强了界面的友好性和交互性。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的前后端分离的选课管理系统(含教程&源码&数据库数据)