最近在看公司的旧系统的源代码和数据库准备接手维护,看到了动态下SQL语法create table的方式,因为接触的系统不多,从来没看过这种写法....
大概是
String tableName = "test_table_name_1"
Nonquery("create teable "+tableName)
很明显的可以感受到这样做的一大缺点是
当系统运行久了,创建的table太多了之後,数据库可能会有超过上千上万的table,觉得很混乱。
但是好处是对我们来说,这样数据资料很有结构化,可以轻易地用惯用的sql query做管理,select update insert delte ....都比较方便
请问各位有遇过这样的设计方式吗? 或者对这样的设计方式有没有什麽想法?
如果是具体的业务系统,业务模块是比较固定,一般不会这么设计。
如果定位的是一个统一的技术平台,有些产品会自带数据模型设计功能,把数据库设计的功能包含在平台中,这样需要做代码开发的工作量就更少了。
另外,即使有这样的功能,什么时候需要创建表,也是根据具体的业务需求确定的,不能太随意的去用。