产品表:产品ID(自增量),品名,材质,重量,尺寸,价格,图片
客户表:客户ID(自增量),客户,其他客户详细字段
定单表:定单号(根据表中定单号算出来,并且允许重复),客户ID,产品ID,购买数量,下单日期,交货日期(总金额可以由‘产品单价*数量’算出)定单表跟 产品表(产品ID)和客户表(客户ID)关联。

解决方案 »

  1.   

    定单(主)表:
    定单编号      客户号    下单日期    交货日期    总金额    新产品信息
    sDDBH        sKHBH      dXDRQ      dJHRQ       nZJE     sXPXX定单(子)表
    定单编号   产品编号   产品数量(对于这个单)  产品单价(如果价格不变,就不需要)……
    sDDBH         主表和子表可以用定单编号来关联客户表:
    客户号   客户名
    sKHBH     sKHM产品表:
    产品编号   产品名称    产品规格…………
      

  2.   

    --一般的表结构定义--客户信息表
    create table 客户信息(
    编号 int identity(1,1) primary key,
    名称 nvarchar(100) not null,
    地址 nvarchar(100),
    联系人 nvarchar(10)
    --其他相关信息
    )--产品信息
    create table 产品信息(
    编号 int identity(1,1) primary key,
    名称 nvarchar(50) not null,
    材质 nvarchar(50),
    --其他相关信息
    )--订单主表
    create table 订单主表(
    订单编号 int identity(1,1) primary key,
    客户编号 int constraint fk_订单主表_客户信息
    foreign key(客户编号) references 客户信息(编号)
    on update cascade on delete cascade,
    单日期 datetime default getdate(),
    交货日期 datetime,
    总金额 money,
    新产品信息 nvarchar(1000)
    --其他相关信息
    )--订单从表
    create table 订单从表(
    订单编号 int constraint fk_订单从表_订单主表
    foreign key(订单编号) references 订单主表(订单编号)
    on update cascade on delete cascade,
    序号 int,
    constraint pk_订单编号_序号 primary key(订单编号,序号),
    产品编号 int constraint fk_订单从表_产品信息
    foreign key(产品编号) references 产品信息(编号)
    on update cascade on delete cascade,
    数量 decimal(20,2),
    重量 decimal(20,2),
    单价 money
    --其他相关信息
    )
    go
      

  3.   

    现在所从事的数据库开发表设计就是 zjcxc(邹建)  所说的方式进行的,而且也觉得这种方式是比较简洁明了的唯一选择