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

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的记录)

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏岑玉海

Hive Tunning(二)优化存储

接着上一章我们讲的hive的连接策略,现在我们讲一下hive的数据存储。 下面是hive支持的数据存储格式,有我们常见的文本,JSON,XML,这里我们主要...

43240
来自专栏用户2442861的专栏

python MySQLdb使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

12330
来自专栏Hadoop实操

如何在Hive中使用Struct类型

Hive中支持多种数据类型除了常用的TINYINT、SMALLINT、INT、BIGINT、BOOLEAN、FLOAT、DOUBLE、STRING、BINARY...

96240
来自专栏玩转JavaEE

MongoDB中各种类型的索引

上篇文章中我们介绍了MongoDB中索引的简单操作,创建、查看、删除等基本操作,不过上文我们只介绍了一种类型的索引,本文我们来看看其他类型的索引。 ---- _...

30370
来自专栏跟着阿笨一起玩NET

plsql developer的一些使用

11720
来自专栏Web 开发

在SAE上开发遇到的问题~

添加一个escape_data()的函数,该函数已经会自动识别各种PHP配置环境~

12800
来自专栏更流畅、简洁的软件开发方式

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

1、Manage_Table(表、视图、存储过程、函数的信息) 字段名 中文名 类型 大小 默认值 说明 TableName 表名 nvarchar 6...

22950
来自专栏Jerry的SAP技术分享

C4C和CRM里获取当前登录用户分配的Organization Unit信息

在Employee的Organization Data区域内看到分配的组织名称,如下图红色下划线所示:

38890
来自专栏Java3y

移动商城第五篇(用户模块)【用户登陆、回显用户、拦截器、收货地址】

移动商城【用户登陆、回显用户】 我们来实现用户登陆的功能: ? 当点击的时候,出来的是一个弹出框,我们想要切换成一个页面。 ? 找到对应的事件、切换成我们的页面...

60470
来自专栏滕先生的博客

iOS 通讯录相关序一、介绍二、弹出系统通讯录程序三、代理方法四、不需要弹出联系人控制器就可以获取联系人信息的方法五、iOS 9 新出的点击通讯录的获取信息的办法

36560

扫码关注云+社区

领取腾讯云代金券