问大家一个创建数据库的问题, 比如我的原纸表paper中有字段id, name(原纸名称),width(幅宽), weight(克重), productDate(生产日期) 五个字段, 只要是name,width,weight相同的即为同一条记录,那我如何设计主键呢? 都说主键最好是与业务逻辑、输入无关的字段,那我设id为主键的话,如何保证name,width,weight相同的只能存在一条呢? 如果设置设name,width,weight为联合主键的话,有如何和其他的表关联做外键呢?忘高手指点迷津!!

解决方案 »

  1.   

    id要是unique约束, name,width,weight联合主键的话, 那我外键咋办啊?
    要不(name,width, weight)如何同时unique呢
      

  2.   

    主键的含义就是非空且唯一,
    那么按照楼主的意思其实可以这样。
    ID作为主键,也可以作为外键,而name,width,weight这3个字段可以用unique来约束。
      

  3.   

    增加一个外键约束啊,
    alter table tablename add constraint unique_nww unique(name,width,weight);