5).仓库信息表 
列名 类型 是否为空 说明 
Varchar(10) Not  null 商品号(主键) 
Varchar(4) Not  null 仓库号(主键) 
Number Not  null 数量 
Bool Not  null 存/取 
Date Not  null 存取日期 仓库的库存信息我用的是数量这字段来表示!

解决方案 »

  1.   

    (4).商品信息表 
    列名 类型 是否为空 说明 
    Varchar(10) Not  null 商品号(主键) 
    Varchar(15) null 商品名 
    Number null 单价 
    Number null 数量   -->加这个字段
    Number null 重量   -->加这个字段
    金额---->金额=数量*单价(金额是计算出来的,不用设计入表结构)
    Date null 生产日期 
    Varchar(30) null 生产厂家 
    Varchar(8) null 分类 (5).仓库信息表 
    列名 类型 是否为空 说明 
    Varchar(10) Not  null 商品号(主键) 
    Varchar(4) Not  null 仓库号(主键) 
    Number Not  null 数量 
    Bool Not  null 存/取 -->取消这个字段
    Date Not  null 存取日期 
    仓库信息表可不是这么简单了,应该不用"存取"这个字段,它反应的是当前库的数量的结果,而不是明细
    如果按你上面的意思,就同一产品入库多次或出库多次就无法表达出来
    所以还有加两个表:入库信息明细表,出库信息明细表入库信息明细表(序号,商品号,数量,单价,金额,入库日期,操作人)
    出库信息明细表(序号,商品号,数量,单价,金额,出库日期,操作人)
      

  2.   

    Date Not  null 结账时间 
    不容许赊账吗?
      

  3.   

    Varchar(18) null 身份证号
    我觉得顾客的这种信息不用记,也不能记.
      

  4.   

    看了一下,总体上不错,但有几点值得商榷:1."(1).员工信息表" 主键中不应有把"Varchar(5) Not  null 部门号"作为主键,
      有"Varchar(6) Not  null 员工号(主键) " 够了。
    2."(6).账单信息表"中,应加入“Varchar(8) Not  null 会员号(主键) ”,
      即customerid,以便知道商品的购买者(便于以后的积分累计等)。
    3.“商品号”、“员工号”等所有的“号”字军使用number字段,如:number(8),而商品的价格等使用如:number(12,2)
    4.还是"(6).账单信息表"中,一个顾客一次可买多种商品,应对应多条此表记录,所以要加一字段“小计”。
      “总价”和“结账时间”可以为空,只是在主记录中汇总一下即可。
    Varchar(12) Nut  null 账单号(主键) 
    Varchar(10) Not  null 商品号(主键) 
    Number Not  null 购物数量 
    Number Not  null 总价 
    Date Not  null 结账时间 
      

  5.   

    1."(1).员工信息表" 主键中不应有把"Varchar(5) Not  null 部门号"作为主键, 
      有"Varchar(6) Not  null 员工号(主键) " 够了。 
    2."(6).账单信息表"中,应加入“Varchar(8) Not  null 会员号(主键) ”, 
      即customerid,以便知道商品的购买者(便于以后的积分累计等)。 
    3.“商品号”、“员工号”等所有的“号”字军使用number字段,如:number(8),而商品的价格等使用如:number(12,2) 
    4.还是"(6).账单信息表"中,一个顾客一次可买多种商品,应对应多条此表记录,所以要加一字段“小计”。 
      “总价”和“结账时间”可以为空,只是在主记录中汇总一下即可。 
      

  6.   

    8楼的回帖有很大改进。起码把“仓库”实体抽象出来了。
    提几个建议:1、主键ID使用SEQ产生,编码(也就是员工号、部门号、仓库号等)建立唯一索引,因此编码值通常有格式要求。
    比如:部门表(DEPT):DEPT_ID,DEPT_CODE,DEPT_NAME……2、建议外键约束,比如员工信息表中的部门号(改用部门ID关联)。
    比如:员工表(STAFF):STAFF_ID,DEPT_ID,STAFF_CODE,STAFF_NAME……3、各表增加操作时间,可细分为创建时间、修改时间等,缺省值为SYADATE。4、增加类型编码表。
    比如:COMMON_CODE表:TABLE_NAME、TABLE_COLUMN、CODE_NAME、CODE_DESC等。
    可以根据需要继续抽象,比如不同表的字段共用同一类型编码定义。
    还有细节的东西,不一一说了,多学习其他人的数据库设计,有助于你提高。