代码改变世界

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

2010-02-22 13:39  金色海洋(jyk)  阅读(2542)  评论(52编辑  收藏  举报

 

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,用户界面,也称人机界面。是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器,设备,复杂的工具等。

 

2