纵表设计的一点想法,请有兴趣的朋友留下改进意见!
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] [/align]
[align=left] [/align]
[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]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]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]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]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]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]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]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]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]实例日志(ObjectLog)[/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]
相关文章推荐
- 架构设计的一点想法——MVC架构和及其胶合层的思考
- struts设计上的一点想法
- 关于代码折叠的一点改进意见
- 欢迎对产品设计有兴趣的朋友参加TechED最后一天的讨论
- 对铁道部购票系统设计的一点想法
- 帮朋友设计数据库时的一些想法
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,有兴趣的朋友可以去下载!
- 数据仓库专题20-案例篇:电商领域数据主题域模型设计v0.2(改进意见征集中)
- 帮朋友物色 Web前端设计高手,有兴趣的朋友请联系我!
- EasyARM2200硬件设计的几点改进意见zz
- 数据仓库专题20-案例篇:电商领域数据主题域模型设计v0.1(改进意见征集中)
- 设计模式学习笔记1:对设计模式学习的一点想法兼谈Facade模式
- 启动开源项目, 希望有兴趣的朋友加入或提些意见.
- 设计模式的一点小小想法
- 我有一个想法,组建一个网页搜索采集的team,实现一些有价值的数据,有兴趣的朋友可以联系我
- 对Cache和数据库设计的一点想法
- 无奈bug太少,只能提出一点对原版软件的改进意见
- 类设计的一点想法
- 领域驱动设计与面向对象的一点想法