易轩

持续做有意义的事

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

        现在一般开发一个系统,都离不开对于数据库的使用。如果你数据库方面的编程编多了,你会发现都其实都差不多,操作的数据无非是数字、文本、时间、布尔、二进制数据等等类型。但通常数据库存储的实体(Entity)内容五花八门,我们还是需要针对每一个实体数据表编写其专门的IDUS代码(现在已经有很多可以自动生成这些代码的工具),所以有时身为程序员的我们确实要像IT业的民工一样去写很多这样“没什么技术含量”的代码。不过,代码虽然“没什么技术含量”,却不代表我们写的都对,我们还是得去一个表一个表地去调试……,这些都是工作量!

关系数据库理论的提出者E.F.Codd在关系数据库的12项设计原则中有一项是这样的:“元数据(关于数据库的数据)必须和普通数据一样存于数据库中。”现在市面上的数据库产品都遵循这一原则(甚至包括Excel文件),也就是说于数据库之间的连接创建之后,只要有足够的权限,下面这些信息都是可以得到的:

1、数据库或表空间下有哪些数据库表?

2、表中有哪些列?列的数据类型、大小、精度、默认值是?列是否自动增长,是否可为空?

3、表的主键列是?哪些表之间存在主外键约束?

得到这些信息之后,我们既不需要去自己编写和调试,也不需要去自动生成那些IDUS代码。不仅如此,我们还可以:

1、通过.Net的反射(Reflection)功能,只要有一个DA对象(一个数据库),就可增删改查所有我需要的信息。

2、自动生成数据表对应的对象类声明,以及对应的窗体、控件等界面操作、验证逻辑。

3、自动生成其它语言(比如VC++)的IDUS代码等。

不过,上述所说的只适合于一些数据量不大的情况的数据应用,对于一些大数据量的企业级系统开发,还是需要针对表的实际数据量在存取速度和性能上调优。

posted on 2009-01-13 16:05  易轩  阅读(308)  评论(0编辑  收藏  举报