需要制作一张关于server信息的报表,有以下字段
主机名,型号,序列号,cpu主频,内存大小,安装了的软件一个主机只有一个型号,一个序列号,一个cpu主频,一个内存大小
但一个主机安装了许多个软件怎么设计这种表,拆开成2张表设计?

解决方案 »

  1.   

    就像单位和工人一样嘛,仔细想象,呵呵
    表一:主机
    主机名,型号,序列号,cpu主频,内存大小,安装了的软件
    表二:
    序列号,软件号,软件名,软件概况……上面通过序列号关联两个表,ok?
      

  2.   


    把tab1和tab2的主键作为relationtab的联合主键
      

  3.   

    一种software难道只可以对应一台host?
      

  4.   

    不好意思,这里的软件只是显示安装了哪些软件,没有其他任何软件信息
    类似于
    A这个主机,
    型号:PROLIANT DL380 G5,
    序列号:CNG828S2FT,
    cpu主频:2000MHZ,
    内存:2G,
    安装了的软件:ultraEdit,office,oracle,msn,qq,plsql,birt.........
      

  5.   

    怎么设计还是取决于你这张表的作用,如果是OLTP中的,需要经常插入修改的,那还是分成2张表会比较好;如果是数据仓库中的,需要和多张其他的表联合查询(查询结果包含软件这个字段),而且软件这个字段本身就是用ETL或者其他什么算法什么生成的,那也可以设计成一张表,可以减少点表关联