5).仓库信息表
列名 类型 是否为空 说明
Varchar(10) Not null 商品号(主键)
Varchar(4) Not null 仓库号(主键)
Number Not null 数量
Bool Not null 存/取
Date Not null 存取日期 仓库的库存信息我用的是数量这字段来表示!
列名 类型 是否为空 说明
Varchar(10) Not null 商品号(主键)
Varchar(4) Not null 仓库号(主键)
Number Not null 数量
Bool Not null 存/取
Date Not null 存取日期 仓库的库存信息我用的是数量这字段来表示!
列名 类型 是否为空 说明
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 存取日期
仓库信息表可不是这么简单了,应该不用"存取"这个字段,它反应的是当前库的数量的结果,而不是明细
如果按你上面的意思,就同一产品入库多次或出库多次就无法表达出来
所以还有加两个表:入库信息明细表,出库信息明细表入库信息明细表(序号,商品号,数量,单价,金额,入库日期,操作人)
出库信息明细表(序号,商品号,数量,单价,金额,出库日期,操作人)
不容许赊账吗?
我觉得顾客的这种信息不用记,也不能记.
有"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 结账时间
有"Varchar(6) Not null 员工号(主键) " 够了。
2."(6).账单信息表"中,应加入“Varchar(8) Not null 会员号(主键) ”,
即customerid,以便知道商品的购买者(便于以后的积分累计等)。
3.“商品号”、“员工号”等所有的“号”字军使用number字段,如:number(8),而商品的价格等使用如:number(12,2)
4.还是"(6).账单信息表"中,一个顾客一次可买多种商品,应对应多条此表记录,所以要加一字段“小计”。
“总价”和“结账时间”可以为空,只是在主记录中汇总一下即可。
提几个建议: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等。
可以根据需要继续抽象,比如不同表的字段共用同一类型编码定义。
还有细节的东西,不一一说了,多学习其他人的数据库设计,有助于你提高。