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

简介: 1、Manage_Table(表、视图、存储过程、函数的信息) 字段名 中文名 类型 大小 默认值 说明TableName 表名 nvarchar 60 _ 表名PKColumnID 主键字段的编号 int 4 1 主键字段的编号Ty...

 

1、Manage_Table(表、视图、存储过程、函数的信息)

字段名 中文名 类型 大小 默认值 说明
TableName 表名 nvarchar 60 _ 表名
PKColumnID 主键字段的编号 int 4 1 主键字段的编号
TypeID 类型 char 2 _ 类型
HaveTableIDs 包含的表 nvarchar 500 _ 视图、存储过程等包含哪些表
Content 表说明 nvarchar 50 _ 表说明
ExcelTableName 工作表名称 nvarchar 50 _ 用于修改Excel里面的信息
 

 

这里面要记录一个项目里的所有的表的信息,还有视图、存储过程、自定义函数等的信息。数据库是基础一定要管理好,否则后期维护、修改功能就是灾难了。

另外视图、数据库等也一定要管理好,不能出现重复、混乱的情况。把这些都记录下来,并且加上说明和关联,我觉得是很有必要的。

 

另外Manage_Function_Info表里的一些字段(比如TableID_List、TableID_View、TableID_Delete)也是关联到这个表的。

 

 

 

 

2、Manage_Columns(表里的字段的信息)

字段名 中文名 类型 大小 默认值 说明
TableID 表ID int 4 1 外键
ColumnKind 字段类型 int 4 1 1:无;2:主键;3:外键
ColSysName 字段名称 nvarchar 50 _ 数据库里的名称
ColName 对外名称 nvarchar 50 _ 显示给用户看的名称
ColType 字段类型 nvarchar 20 _ 字段类型
ColSize 字段大小 int 4 1 字段大小
ControlKindID 控件类型 int 4 1 外键。在表单里对应的控件
CheckKindID 验证类型 int 4 1 外键。在表单里的验证方式
CheckUserDefined 自定义验证 nvarchar 50 _ 自行定义验证的方式,通过正则表达式实现。
CheckTip 验证信息 nvarchar 255 _ 未通过验证的时候显示的提示信息。
ControlInfo 控件描述 nvarchar 500 _ 描述控件
ControlID 控件ID nvarchar 50 _ 在页面里的控件ID
ForeignTableID 外键表 int 4 0 如果该字段是外键,则记录外键对应的表的名称
ForeignColumnID 对应外键字段名 int 4 0 如果该字段是外键,则记录在外键表里对应的字段的名称

 

这个表里要记录一个项目里所有的字段的信息,还有字段对应的控件类型、验证方式等信息。就是说一个字段只能对应一种控件。

 

 

 

关于性能。

可能您会觉得,这么多的信息都放在数据库里了,调用的时候速度会很慢。这个是不用担心的,有两个原因:

 

1、现在博客园里有 随笔 - 592316、评论 - 1112051,那么您在看首页,看评论的时候感觉到慢了吗?60万、100万级别的数据,都不会有什么慢的感觉,小一点的项目才几十个表、一千不到的字段,怕什么呢?即使大一点的项目,几百个表、上万个字段,也只不过是“万”级别的数据,也没有什么可担心的。

 

2、如果您还是放心不下,那么也好办,可以用缓存呀,把需要的数据缓存起来不就ok了吗?

 

 

 这种方式在几个项目里也已经采用了,完全没有性能方面的问题。

 

 

======

 

我在重申一下我的观点,我是程序员,不兼职美工!如果您说我的代码写的不好,那我一定会改的。

 

但是如果您说我的页面效果很烂,恩,我承认确实不漂亮。但是想让页面漂亮的话,那就十分抱歉了,我没有艺术细胞,怎么做页面怎么难看。

 

人的精力是有限的,我还是先把代码改好吧。因为这是程序员的本职工作。至于页面效果,您可以找个好的美工来做呀。

 

要好的代码——找程序员!

 

漂亮的页面  ——找美工、设计师!

 

千万不要弄混哦。

 

感谢某网友(未注册所以不知道如何称呼了)的提醒,UI和漂亮的页面是两回事,一开始弄混了。现在明确一下。

 

一开始我是按照“漂亮的页面效果”来理解的。因为要说人机交互、操作方式,我觉得还可以,怎么地也不能用“烂”字来形容吧。

 

摘自百科

UI = User Interface,用户界面,也称人机界面。是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器,设备,复杂的工具等。

 

相关文章
|
16天前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
3月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
232 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
3月前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
46 1
|
2月前
|
关系型数据库 数据库 网络虚拟化
Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例
由于时间和空间限制,我将在后续的回答中分别涉及到“Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦”以及“Docker环境下重启PostgreSQL数据库服务的全面指南与代码示例”。如果你有任何一个问题的优先顺序或需要立即回答的,请告知。
68 0
|
4月前
|
开发框架 缓存 NoSQL
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
|
3月前
|
druid Java 数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
312 0
|
3月前
|
开发框架 NoSQL 关系型数据库
基于SqlSugar的开发框架循序渐进介绍(27)-- 基于MongoDB的数据库操作整合
基于SqlSugar的开发框架循序渐进介绍(27)-- 基于MongoDB的数据库操作整合
|
1天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
13 4
|
25天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
58 3
Mysql(4)—数据库索引
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
49 2