本公司最近开发个项目 由于该项目业务繁多 所以在设计数据库业务表的时候想采用动态表的方式来处理
就是所有的业务表都放在一个表里面 而每个不同的业务只需设置下该表对应字段即可小弟没什么思路 求思路或相关参考

解决方案 »

  1.   

    每个人想法均有所不同,下面的贴子不知LZ是否能看懂?
    http://topic.csdn.net/u/20081106/21/051c79db-4c4b-4a5e-b753-fb4ceb104bd4.html
      

  2.   

    楼上的帖子看拉 清楚它的做法  感觉这样做只能针对一个业务来做吧
    我要把所有的业务的数据都放在这个表里面定义就不是很明确 
    我个朋友给我这样的解决方法 大家看看实用性如何:
    建A ,B 2表
    A表 数据字典表  40个字段  用来说明B表对应字段代表的意思
    B表 业务数据内容表 42个字段 存储相关业务数据以后如果 新增个业务只须在A表添加条记录  在B表的设个外键关联A表 
    这样就能确定B表中的数据的业务类型  
             
      

  3.   

    可以预先设计个所有字段的表
    比如create table totaltable (col1 varchar2(100),col2 number,col3 number(10,2),col4 date,col5 ...);
    把所有的字段都罗列出来
    再写个存储过程:
    create or replace pro (incol varchar2,tablename varchar)
    as
    sqlstr varchar2(100);
    begin
    sqlstr:='create table '||tablename||'as select '||incol||' from totaltable';
    execute immediate sqlstr;
    end;
    pro('col1 col2',tablename);
    来创建仅仅含有col1,col2字段的并命名为tablename;
    大概意思就是这样
      

  4.   

    除了有A、B表外,还要有C表--字段变动表。
    如table1表业已生成,且其上有了数据时,此时要增加三个字段,可能还要在其上增加索引。
    这时可以基于C表上生成table1的修改等语句。不过,本人总认为这种共享(傻瓜)式的定义基表的方法,只能做一些较浅的东西,
    字段、主键、索引的建立较容易,
    而表的划分、还有trigger,procedure等要想灵活地实现,好象困难不小。呵呵。