您的位置:首页 > 其它

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

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

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

[align=left]数据表名[/align]
[align=left]表结构[/align]
[align=left]用于生成表的xml名[/align]
[align=left]xml结构[/align]
[align=left]个表或记录之间的关系只有1:1 或1:N的关系[/align]
[align=left]对象数据字典(ClassDicy)[/align]
[align=left]<表里的数据没有任何约束,系统号,标识号都唯一>[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]CD_1[/align]
[align=left]Staff_Name[/align]
[align=left]员工名称[/align]
[align=left]CD_2[/align]
[align=left]Staff_State[/align]
[align=left]员工状态[/align]
[align=left]CD_3[/align]
[align=left]Staff[/align]
[align=left]员工[/align]
[align=left]ClassDicy.dicy.xml[/align]
[align=left]<ClassDicy>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left]</ClassDicy>[/align]
[align=left]静态数据字典(DataDicy)[/align]
[align=left]<表里的数据没有任何约束,系统号,标识号都唯一>[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]DD_1[/align]
[align=left]State_1[/align]
[align=left]在线[/align]
[align=left]DD_2[/align]
[align=left]State_2[/align]
[align=left]注销[/align]
[align=left]DD_3[/align]
[align=left]Relat_1[/align]
[align=left]属性[/align]
[align=left]DataDicy.dicy.xml[/align]
[align=left]<DataDicy>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left]</DataDicy>[/align]
[align=left]对象数据字典关系(ClassDicyRelat)[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]关系[/align]
[align=left]CDR_1[/align]
[align=left]CD_3[/align]
[align=left]CD_1|CD_2[/align]
[align=left]DD_3[/align]
[align=left]ClassDicyRelat.dicy.xml[/align]
[align=left]<ClassDicyRelat>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left] <Relat></Relat>[/align]
[align=left]</ClassDicyRelat>[/align]
[align=left]静态数据字典关系(DataDicyRelat)[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]关系[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]DataDicyRelat.dicy.xml[/align]
[align=left]<DataDicyRelat>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left] <Relat></Relat>[/align]
[align=left]</DataDicyRelat>[/align]
[align=left]每个对象里都要有CreateDate时间,UpdateDate时间,方便记日志[/align]
[align=left]对象(Class)[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]C_1[/align]
[align=left]CD_3[/align]
[align=left]CD_1|CD_2[/align]
[align=left]Class.Class.xml[/align]
[align=left]<Class>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left]</Class>[/align]
[align=left]对象关系(ClassRelat)[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]关系[/align]
[align=left]CR_1[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]ClassRelat.Class.xml[/align]
[align=left]<ClassRelat>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left] <Relat></Relat>[/align]
[align=left]</ClassRelat>[/align]
[align=left]对象日志(ClassLog)[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]C_1[/align]
[align=left]CD_3[/align]
[align=left]CD_1|CD_2[/align]
[align=left]ClassLog.Class.xml[/align]
[align=left]<ClassLog>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <BusinessID></BusinessID>[/align]
[align=left] <Content></Content>[/align]
[align=left]</ClassLog>[/align]
[align=left]实例所有相关表安对象分类,分成很多表[/align]
[align=left]实例(Object)[/align]
[align=left]系统号[/align]
[align=left]内容[/align]
[align=left]O_1[/align]
[align=left]王峰|DD_1[/align]
[align=left]CD_3Object.Object.xml[/align]
[align=left]<CD_3Object>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <Content></Content>[/align]
[align=left]</CD_3Object>[/align]
[align=left]实例关系(ObjectRelat)[/align]
[align=left]系统号[/align]
[align=left]标识号[/align]
[align=left]内容[/align]
[align=left]关系[/align]
[align=left]OR_1[/align]
[align=left]O_1[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]实例日志(ObjectLog)[/align]
[align=left]系统号[/align]
[align=left]内容[/align]
[align=left]OL_1[/align]
[align=left]王峰|DD_1[/align]
[align=left]CD_3ObjectLog.Object.xml[/align]
[align=left]<CD_3ObjectLog>[/align]
[align=left] <SystemID></SystemID>[/align]
[align=left] <Content></Content>[/align]
[align=left]</CD_3ObjectLog>[/align]
[align=left]    [/align]
[align=left]    [/align]
[align=left]    [/align]
[align=left] [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: