要设计个管理公司数据库结构的系统:
大概需求:
1、 可显示所有项目数据库信息(中、英文) 。数据库名不可修改。
2、 可显示所有项目数据库表英文名,中文名、
表列名(中文名、英文名)
列类型、表列之间的关系备注、及描述信息等。
3、 支持有权限者直接修改表名(中文,英文)
4、 支持有权限者直接修改表字段(中文,英文),及其类型
5、 支持有权限者修改备注、描述信息等如:当选则一个数据库时:
最终DataGrid显示所有表结果如下表中文名  表英文名  字段名 描述     类型 关联  备注
   
工资表    gongzi    month  月份     VARCHAR(7)  
工资表    gongzi    EmpID  员工号   VARCHAR(7)      EMP(id)
工资表    gongzi    NUM    工资     INT
员工表   EMP     id     员工ID   VARCHAR(7)
员工表   EMP     NAME   员工姓名 VARCHAR(7)
......
感觉现在难点,在于2个:
1、可以直接修改表名,列名,类型,不用到数据库中执行语句
   比如:在DataGrid里,
   修改 
   工资表的 工资字段为 decimal(10,2) ,点下保存按钮。数据库中的类型也同时修改了。
   不知道是否可以实现?
  
2、数据库英文名,对应一个中文名。
   表名、列名也有对应的中文名。还有描述、备注那些字段。
   
   貌似必须新建一个表来存放这些东西。但是这样的话,1中的问题,修改时,怎么才能直接更改数据库中的信息呢??
   
   
   大家有类似的软件或经验吗?分享下

解决方案 »

  1.   

    我来扔砖先修改 
       工资表的 工资字段为 decimal(10,2) ,点下保存按钮。数据库中的类型也同时修改了。
       不知道是否可以实现?
      
    一般有一张表,存放每张表的建表语句,你在grid修改完以后,拼成SQL,保存到表记录里。需要的时候exec()就可以了。
    比如你可以保存 alter table tb ...
      

  2.   

    2、数据库英文名,对应一个中文名。
       表名、列名也有对应的中文名。还有描述、备注那些字段。
       
       貌似必须新建一个表来存放这些东西。但是这样的话,1中的问题,修改时,怎么才能直接更改数据库中的信息呢??
    个人观点:    修改时程序里应该是模块划分的修改,表名、字段名这些对象名修改在一个变量里,数据类型应该是列表选择,然后在程序里对应到具体的类型,点保存时判断两个变量是否有值来对数据库修改,分别exec???
      

  3.   

    这个恐怕不能直接在程序里处理.
    因为程序是面向用户而不是面向DBA的,如果每个用户都能去重设一下,数据库还不乱套了!
      

  4.   

    灵活是好的,但估计太灵活了容易出问题,字段类型随便改的话不怕程序判断异常,有的ERP系统里没采用外键,如果修改字段名,估计就不正常了吧!
      

  5.   

    哦 你想做个sql企业管理器
      

  6.   


    这是我之前一个公司的一个项目管理软件模型结构。我呆过2月。发现时非常方便的。
    往往ERP系统的表结构非常复杂,开发人员通过这个系统可以非常方便的查询表,及字段含义,和哪些表关联。等等。而企业管理器是没法做到的。O(∩_∩)O~
      

  7.   

    都可以啊,只不过你程序复杂了点儿 
    你可以判断是直接rename表还是新建表
    至于表之间的关系,你也可以单独存一张表 
      

  8.   

    你可以这样真实表ID 真实表NAME  虚表name 
    1        2          3     显示的时候只显示3,他改名称啊,字段名称啊 也只能改3你真实的知道怎么对应就行了。源代码几乎不用变,除非改长度、类型你可以add column 这就复杂了