纵表设计的一点想法,请有兴趣的朋友留下改进意见!

        纵表的实现,可以使用于各种不同的业务,不会因为业务、行业的改变而改变。现在的实际情况是,各行业各业务都有各自不同的表设计;如一个电信行业的一套支撑系统就会有竟千张表。于是自然的会想到是否有一种通用的表结构呢,纵表是一种选择;设计一个用于存储的纵表结构,在程序级组建类似SQL查询;把查询完全搬入程序中。

下面对纵表的猜想做一些描述:
一个特殊的表对数据库表的字段明进行管理,每个表就是一个对象,这些管理的字段都是对象的属性
  数据库中一条记录就是一个对象实例,一个特殊表对实例的数据进行管理。如状态,部门,学历,岗位等。        
    数据流图为:数据库 ->业务程序代码->数据库  
  通过该工具生成两份 xml档,一份描述数据库结构,用于在数据库中生成数据库表(不同的数据库,挂不同的生成插件),一份用于描述业务,用于生成造作数据库的业务程序(不同的程序语言,挂不同的生成插件)。
    数据库表安数据存储功能设计,没有任何业务关系,可分为:
    

数据表名
表结构
用于生成表的xml名
xml结构
个表或记录之间的关系只有1:1 或1:N的关系
对象数据字典 (ClassDicy)
<表里的数据没有任何约束 ,系统号,标识号都唯一>
系统号
标识号
内容
CD_1
Staff_Name
员工名称
CD_2
Staff_State
员工状态
CD_3
Staff
员工
ClassDicy.dicy.xml
<ClassDicy>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
</ClassDicy>
静态数据字典 (DataDicy)
<表里的数据没有任何约束,系统号,标识号都唯一 >
系统号
标识号
内容
DD_1
State_1
在线
DD_2
State_2
注销
DD_3
Relat_1
属性
DataDicy.dicy.xml
<DataDicy>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
</DataDicy>
对象数据字典关系 (ClassDicyRelat)
系统号
标识号
内容
关系
CDR_1
CD_3
CD_1|CD_2
DD_3
ClassDicyRelat.dicy.xml
<ClassDicyRelat>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
    <Relat></Relat>
</ClassDicyRelat>
静态数据字典关系 (DataDicyRelat)
系统号
标识号
内容
关系
 
 
 
 
DataDicyRelat.dicy.xml
<DataDicyRelat>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
    <Relat></Relat>
</DataDicyRelat>
每个对象里都要有CreateDate时间,UpdateDate时间,方便记日志
对象 (Class)
系统号
标识号
内容
C_1
CD_3
CD_1|CD_2
Class.Class.xml
<Class>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
</Class>
对象关系 (ClassRelat)
系统号
标识号
内容
关系
CR_1
 
 
 
ClassRelat.Class.xml
<ClassRelat>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
    <Relat></Relat>
</ClassRelat>
对象日志 (ClassLog)
系统号
标识号
内容
C_1
CD_3
CD_1|CD_2
ClassLog.Class.xml
<ClassLog>
    <SystemID></SystemID>
    <BusinessID></BusinessID>
    <Content></Content>
</ClassLog>
实例所有相关表安对象分类,分成很多表
实例 (Object)
系统号
内容
O_1
王峰 |DD_1
CD_3Object.Object.xml
<CD_3Object>
    <SystemID></SystemID>
    <Content></Content>
</CD_3Object>
实例关系 (ObjectRelat)
系统号
标识号
内容
关系
OR_1
O_1
 
 
 
 
实例日志 (ObjectLog)
系统号
内容
OL_1
王峰 |DD_1
CD_3ObjectLog.Object.xml
<CD_3ObjectLog>
    <SystemID></SystemID>
    <Content></Content>
</CD_3ObjectLog>

    
    
    
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值