有这样些的类别表
3D音效芯片  有这些字段:器件编号,规格书,描述,输入电压范围(伏),3D音效引擎,5段喇叭频率补偿调整电源适配器   有这些字段:器件编号,类别,AC插脚规格,输入电压范围(伏),输入电源工作频率(赫兹),输出电压典型值(伏)固态电容  有这些字段:器件编号,规格书,描述,额定电压(伏.直流),额定电容值(法拉),最大直流串联等效电阻(毫欧)
这些表都是类别表,但是每个表的字段不一样
像这样的表有很多个,每个表的字段个数不确定的,
大神们有什么方法能把这些表关联起来,就像获得主建表,获得主表就能获得这些表我的想法:
可能不合理
有一个表 存这些表的名字,然后再根据这些表的名字查询这个表的数据,
还有一个方法是:这些表的名称如: tableTyle1,tableTyle2,tableTyle3,再用一个表来存像这样的表有多少个,用代码拼sql我用的是Hibernate
大神们有什么好的方法啊
在线等,一大早就来发帖了,可怜可怜我吧给我个答案

解决方案 »

  1.   

    你想把若干张表全部合并成一张表么?这个难度比较大,一般三种做法:
    1、不固定列名的横表,比如字段是: 器件编号,器件类别,字段1,字段2,字段3,字段4,...... 具体每个字段的真实含义则需要根据器件类别来决定;
    ——这种做法主要复杂度在于需要另外组织数据字典来维护字段含义,导致通用的数据访问组件会不适用。
    2、属性表(或称垂直表),字段结构是:器件编号,属性名,属性值;其中器件编号和属性名是联合组建;
    ——这种做法主要问题是每次查询一个器件,要查询出N行数据,性能较为低下。
    3、XML表,字段结构是:器件编号,器件类别,XML;也即除了公共属性会进入字段外,其它信息直接组装为XML放入Blob字段;
    ——这种做法的主要问题是如果做过滤查询(列表查询)时需要用特殊属性,比如:电压,那么XML是无法直接写入Where条件的;所以抽取公共属性很重要。所以大多数情况下仍然用 主表+明细表 的做法,比如:
    主表保存公共属性(因为仍然主要是为了提供过滤查询和某些统计):器件编号,器件类别,... 
    明细表保存所有信息(命名一般采用‘明细表_类别ID’,便于查找):器件编号,器件类别,AC插脚规格,输入电压看楼主有啥问题可以继续探讨。
      

  2.   

    没分了,不结贴
    <br /> <br /> `
      

  3.   

    不能仅凭ID获得明细表,需要用 器件类别 字段。因为明细表命名一般是:‘明细表_类别ID’当然,有时候设计时会将 主表的ID 带上特定语义,比如构成为:类别_日期_流水号 ,这样便于从ID中获取额外信息,但是这将带来生成ID的复杂度问题。