字段中文名 字段英文名  
采样时间          SampleTime  
接收时间          InceptTime
回复时间           ReplyTime
监护结论         WardConclusion
回复          ReplyContent
心电图           ECGImage
会员编号            UserID
我想要建一个会员的心电信息表,可是我发现无法设置主键,因为主键是唯一性的,可我设计的表里的字段都会有重复值的,
像会员编号,一个会员可以通过设备随时向数据库里发送很多自己的心电信息,所以他会有很多记录,同理,其他字段也会重复,我该怎么办,再添个字段吗?求教大家

解决方案 »

  1.   

    再增加一列AutoId,属性设置为“标识列”
      

  2.   

    采样时间         SampleTime 
    +
    会员编号           UserID 
    应该可以作为主键或者你增加个自增字段作为主键
      

  3.   

    可以考虑主键是采用GUID,字符型的。但值由GUID生成,GUID是可以自动生成,也可以程序生成,而且键值不可能重复,可以解决系统集成问题,几个系统的GUID值导到一起时,也不会发生重复,而且效率很高,在.NET里可以直接使用System.Guid.NewGuid()进行生成,在SQL里也可以使用 NewID()生成。
    优点是:可以通过 NewID() 函数提前得知新增加的行 ID。便于对某些对象或常量进行永久标识。
    缺点是:GUID 值较长,不容易记忆和输入,而且这个值是随机、无顺序的。
      

  4.   

    补充上面的答案再建立自增字段ID,一共需要加上两个字段.
    GUID 默认值的 NewID()非聚合索引
    自增字段ID 标识列 为 是,非聚合索引
    采样时间        SampleTime 作为聚合索引.
    如果=SQL2008,默认值为sysdatetime().类型为Datetime.
    如何<=SQL2005,默认值为Getdate().类型为Datetime.
    这样的速度达到100万级。