基于数据字典的通用查询系统(四)实体类的设计 1
2008-12-18 23:41
435 查看
我们分为两个部分对这个模块中的信息进行Class的抽象,一是从数据库结构进行抽像,一中是从查询的构造过程进行抽象。
在列出包含的类之前,有一点需要说明,就是,正如前面分析,我们要对每一个元素都有一个对数据库的表示,和对用户的表示,在这里,我把对数据库的表示统一为属性Exp,对用户的表示统一为Show
一.从数据库结构进行抽像。
1. 表示数据库中的表的类QueryTable
2. 表示数据库中的列的类QueryCol
3. 表示数据库中的连接的类JoinCondition
4. 表示数据类型的枚举ColShowType,就是我们在第二篇中分析的那四种数据类型(数值,日期,字符串,状态位)
5. 表示数据库中状态位的ColStateValue;
6. 为了操作方便,抽像出集合JoinCoditions,ColStateValues;
类图如下:
namespace SFTech.Query.Entity
{
public class ColStateValues : List<ColStateValue>
{
private System.Collections.Hashtable _hash;
internal ColStateValues(String values)
: base()
{
string[] value = values.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
string show;
string _value;
_hash = new System.Collections.Hashtable();
for (int i = 0; i < value.Length; i++)
{
if (value[i].IndexOf('&') >= 0)
{
show = value[i].Substring(0, value[i].IndexOf('&')).Trim();
_value = value[i].Substring( value[i].IndexOf('&')+1).Trim();
}
else
{
show = value[i].Trim();
_value = value[i].Trim();
}
_hash.Add(_value , show );
this.Add(new ColStateValue(show,_value));
}
}
public String GetState(string value)
{
return _hash[value] as string ;
}
}
}
这里已经考虑了用字符串等其他非数值信息做状态位的情况。。
各位看官别说看的头大啊,小的文笔有限,只能先写成这个样子了,呵呵。
明天该写最关键部分,查询部分类库的设计了,呵
系列文章连接
一。SQL语句的构成分析
二。数据库组成结构的分析。
三。数据库设计。
四。实体类设计
五。算法实现
在列出包含的类之前,有一点需要说明,就是,正如前面分析,我们要对每一个元素都有一个对数据库的表示,和对用户的表示,在这里,我把对数据库的表示统一为属性Exp,对用户的表示统一为Show
一.从数据库结构进行抽像。
1. 表示数据库中的表的类QueryTable
2. 表示数据库中的列的类QueryCol
3. 表示数据库中的连接的类JoinCondition
4. 表示数据类型的枚举ColShowType,就是我们在第二篇中分析的那四种数据类型(数值,日期,字符串,状态位)
5. 表示数据库中状态位的ColStateValue;
6. 为了操作方便,抽像出集合JoinCoditions,ColStateValues;
类图如下:
namespace SFTech.Query.Entity
{
public class ColStateValues : List<ColStateValue>
{
private System.Collections.Hashtable _hash;
internal ColStateValues(String values)
: base()
{
string[] value = values.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
string show;
string _value;
_hash = new System.Collections.Hashtable();
for (int i = 0; i < value.Length; i++)
{
if (value[i].IndexOf('&') >= 0)
{
show = value[i].Substring(0, value[i].IndexOf('&')).Trim();
_value = value[i].Substring( value[i].IndexOf('&')+1).Trim();
}
else
{
show = value[i].Trim();
_value = value[i].Trim();
}
_hash.Add(_value , show );
this.Add(new ColStateValue(show,_value));
}
}
public String GetState(string value)
{
return _hash[value] as string ;
}
}
}
这里已经考虑了用字符串等其他非数值信息做状态位的情况。。
各位看官别说看的头大啊,小的文笔有限,只能先写成这个样子了,呵呵。
明天该写最关键部分,查询部分类库的设计了,呵
系列文章连接
一。SQL语句的构成分析
二。数据库组成结构的分析。
三。数据库设计。
四。实体类设计
五。算法实现
相关文章推荐
- 基于数据字典的通用查询系统(三)数据库的设计
- 基于数据字典的通用查询系统(一)SQL语句的构成分析
- 基于数据字典的通用查询系统(二)数据库组成结构的分析
- 基于数据字典的通用查询系统(一)SQL语句的构成分析
- 用户权限设计(四)——基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- ######纯注解ssh环境:crm系统实体类设计 ①客户信息的【数据字典】表的产生原因+②设计理解:【字典类没有添加客户属性的原因】=深刻理解类间关联,建立在有需求的基础上。
- 用户权限设计(四)——基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展【转】
- 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- 基于HBase的海量数据实时查询系统设计与实现
- 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.1 数据字典管理模块
- 通用数据权限管理系统设计
- 基于SST25VF020的数据存储系统设计
- 高并发操作和查询的数据采集和查询系统的oracle数据库设计建议
- 【科研论文】基于W5300的以太网数据传输系统的设计与实现
- 基于PIC单片机USB接口的数据采集系统设计
- 基于销售数据的决策支持系统的设计与实现源码论文