请教:设计一个表,以单据号 + 序号 作为主键,这种设计合理吗?
有一个主表一个明细表,主表中以单据号为主键.明细表是描述每个单据号的明细的.一个主表的单据号对应明细表中的多个行.所以我想以明细表的单据号加上行号作为联合主键,不知这种设计合理否.
开始想以自增列作为主键,可是那样无法解决排序的问题,可是按行号就可以在一个单据号下排序.
不知行否,请各位老师明示.还有:这种需求有更好的处理办法么.
谢了.

解决方案 »

  1.   

    以单据号 + 序号 作为主键,然后在添加一个字段单据号
      

  2.   

    明细表设定一个描述字段ID,如:自增字段.
    如果把单据号设为主键,查找,添加就比较麻烦.
      

  3.   

    建议增加一个自增的字段当主键。
    原来的单据号 + 序号分开成2个字段,组成复合唯一索引。
    为了查询方便,单据号可以再建一个普通索引。
      

  4.   

    我是想增加一个自增字段作为主键,可是那样还能做到单据号 + 行号 是复合惟一的吗,好象不是主键就无法设联合惟一,是吗?
    谢.如何设呀???
      

  5.   

    建立一个复合索引,再点上‘唯一’的属性就可以了啊要搞清楚一个概念:
    主键和唯一、聚集都是没有必然关系的。完全可以将一个不唯一的索引设置为聚集,当然更不是主键了:D