动态的create table 对数据库设计会有什麽不好的影响吗?

最近在看公司的旧系统的源代码和数据库准备接手维护,看到了动态下SQL语法create table的方式,因为接触的系统不多,从来没看过这种写法....
大概是

String tableName = "test_table_name_1"
Nonquery("create teable "+tableName)

很明显的可以感受到这样做的一大缺点是
当系统运行久了,创建的table太多了之後,数据库可能会有超过上千上万的table,觉得很混乱。
但是好处是对我们来说,这样数据资料很有结构化,可以轻易地用惯用的sql query做管理,select update insert delte ....都比较方便

请问各位有遇过这样的设计方式吗? 或者对这样的设计方式有没有什麽想法?

阅读 3.3k
2 个回答

如果是具体的业务系统,业务模块是比较固定,一般不会这么设计。
如果定位的是一个统一的技术平台,有些产品会自带数据模型设计功能,把数据库设计的功能包含在平台中,这样需要做代码开发的工作量就更少了。

另外,即使有这样的功能,什么时候需要创建表,也是根据具体的业务需求确定的,不能太随意的去用。

得根据需求来。这样动态生成表的方式感觉有点极端。。太松散了。 除非需求是建立很多没有共性的表单。 一般情况来说,无非就是抽象出一个表,有特殊内容的再分表分出去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进