这不典型的学生选课问题
主键就是(客户ID,香烟ID)
你的数量是不是因为库存原因才限制的
那就在插入前统计计算一下好了
如果是按某种规则进行限制
那这样建到一张表中大概是有点问题的了

解决方案 »

  1.   

    联合主键客户ID,香烟ID 可以确定唯一不知道对不对
      

  2.   

    1,按客户给各种香烟设置限购数量
    2,按香烟设置各客户的香烟限购数量
    这两种逻辑从数据结构来说是完全一样的,无非是对一组客户、香烟指定一个限购数量。
    在这种数据经常随时间变化的参数表中,我通常会加入有效时间段,比如:
    CREATE TABLE MYTABLE
      (CUSTOMER_NO VARCHAR2(10),  --客户代码
       PRODUCT_NO  VARCHAR2(10),  --香烟代码
       EFF_DATE    DATE,          --生效时间
       STOP_DATE   DATE,          --失效时间
       CONSTRAINT_QTY NUMBER(10)) --限购数量
    这样就能看到整个参数表随时间变化的情况。当然在查询限购数量的时候需要根据当前日期找出有效的条件。