进销存数据库设计

  1 CREATE TABLE user(    /*用戶表*/  
  2   User_Id varchar(6),   
  3   User_Pwd varchar(8) NULL,   
  4   Again_Pwd varchar(8) NULL,   
  5   Bel_Group varchar(3) NULL,   
  6   Div_Type varchar(1) NULL,   
  7   User_Auth varchar(1) NULL,   
  8   Auth_Type varchar(1) NULL,   
  9   User_Status varchar(1) NULL,   
 10   Create_User varchar(6) NULL,   
 11   Create_Date varchar(7) NULL,   
 12   Create_Time varchar(6) NULL,   
 13   Appr_User varchar(6) NULL,   
 14   Appr_Date varchar(7) NULL,   
 15   Appr_Time varchar(6) NULL,   
 16   Pwd_Date varchar(7) NULL,   
 17   Err_Count float NULL,   
 18   Use_eJCIC varchar(1) NULL   
 19 )   
 20 CREATE TABLE Supplier  /*供应商表*/  
 21 (   
 22   Supplier_ID     int     IDENTITY(1,1)     NOT NULL, /* 供应商编号 ,主键 */  
 23   Name            varchar(250)              NOT NULL, /* 供应商名称 */  
 24   Address         varchar(250)              NOT NULL, /* 地址 */  
 25   Phone           varchar(25)               NULL,     /* 电话 */  
 26   Fax             varchar(25)               NULL,     /* 传真 */  
 27   PostalCode      varchar(10)               NULL,     /* 邮编 */  
 28   ConstactPerson  varchar(20)               NULL      /* 联系人 */  
 29  )   
 30   
 31 CREATE TABLE Customer   /* 客户表*/  
 32 (   
 33   Customer_ID     int    IDENTITY(1,1)      NOT NULL, /* 客户编号,主键*/  
 34   Name            varchar(250)              NOT NULL, /* 客户名称 */  
 35   Address         varchar(250)              NOT NULL, /* 地址 */    
 36   Phone           varchar(25)               NULL,     /* 电话 */  
 37   Fax             varchar(25)               NULL,     /* 传真 */  
 38   PostalCode      varchar(10)               NULL,     /* 邮编 */  
 39   ConstactPerson  varchar(20)               NULL      /* 联系人 */  
 40  )    
 41   
 42 CREATE TABLE Dept      /* 部门表 */  
 43 (   
 44   Dept_ID        int   IDENTITY(1,1)        NOT NULL, /* 部门编号,主键 */  
 45   Name           varchar(30)                NOT NULL, /* 名称 */  
 46   Remark           varchar(250)               NOT NULL/* 描述,备注 */    
 47 )   
 48   
 49 CREATE TABLE Dept_Supplier /* 部门--供应商表*/  
 50 (   
 51   Dept_ID       int                         NOT NULL,  /* 部门编号,主键 ,  外键( 参照 DEPT 表  )*/  
 52   Supplier_ID   int                         NOT NULL   /* 供应商编号 ,主键,外键( 参照 SUPPLIER 表) */  
 53 )   
 54   
 55 CREATE TABLE Dept_Customer /* 部门--客户表*/  
 56 (   
 57   Dept_ID       int                         NOT NULL, /* 部门编号,主键 ,  外键( 参照 DEPT 表  )*/  
 58   Customer_ID   int                         NOT NULL  /* 客户编号,主键,  外键( 参照 SUPPLIER 表) */  
 59 )   
 60   
 61 CREATE TABLE StoreHouse   /* 仓库表 */  
 62 (   
 63   StoreHouse_ID   int IDENTITY(1,1)         NOT NULL,  /* 仓库编号,主键 */  
 64   Address         varchar(250)              NOT NULL,  /* 地址 */  
 65   Phone           varchar(25)               NULL,      /* 电话 */  
 66   Employee_ID     INT                       NOT NULL,  /* 仓库保管 ,外键 ( 参照 EMPLOYEE 表 ) */  
 67   CreateDate      datetime                  NULL       /* 仓库成立时间 */  
 68 )   
 69   
 70 CREATE TABLE ProductClass  /* 商品总分类表 */  
 71 (   
 72   ProductClass_ID  int IDENTITY(1,1)        NOT NULL,  /* 商品总分类编号, 主键 */    
 73   Name             varchar(30)              NOT NULL,  /* 商品分类名称 */  
 74   Employee_ID      INT                      NOT NULL,  /* 建分类人 ,外键 ( 参照 EMPLOYEE 表 )*/  
 75   CreateDate       datetime                 NULL,      /* 建分类时间 */  
 76   Remark             varchar(250)             NULL,    /* 描述,备注 */  
 77 )   
 78   
 79 CREATE TABLE ProductList  /* 商品细分类表 */  
 80 (   
 81   ProductClass_ID  INT                      NOT NULL, /* 商品总分类编号, 外键 ( 参照PRODUCTCLASS 表 ) */  
 82   ProductList_ID   int IDENTITY(1,1)        NOT NULL, /* 商品细分类编号,主键 */  
 83   Name             varchar(30)              NOT NULL, /* 商品名称 */  
 84   Employee_ID      INT                      NOT NULL, /* 建分类人,外键 ( 参照 EMPLOYEE 表 )*/  
 85   CreateDate       datetime                 NULL,     /* 建分类时间 */  
 86   Remark             varchar(250)             NULL,   /* 描述 ,备注 */  
 87  )   
 88   
 89 CREATE TABLE ProductSpec  /* 商品规格表 */  
 90 (   
 91   ProductSpec_ID   INT IDENTITY(1,1)        NOT NULL, /* 商品规格编号,主键 */  
 92   Name             varchar(30)              NOT NULL, /* 商品规格名称 */  
 93   Employee_ID      INT                      NOT NULL, /* 操作员 ,外键 ( 参照 EMPLOYEE 表 )*/  
 94   CreateDate       datetime                 NULL,     /* 创建时间 */  
 95   Remark             varchar(250)             NULL    /* 描述,备注 */  
 96 )   
 97 CREATE TABLE ProductUnit /* 商品计量单位表 */  
 98 (   
 99   ProductUnit_ID   INT IDENTITY(1,1)        NOT NULL, /* 计量单位编号 ,主键 */  
100   Name             varchar(30)              NOT NULL, /* 计量单位名称 */  
101   Employee_ID      INT                      NOT NULL, /* 操作员 ,外键 ( 参照 EMPLOYEE 表 )*/  
102   CreateDate       datetime                 NULL,     /* 创建时间 */  
103   Remark             varchar(250)             NULL    /* 描述,备注 */  
104 )   
105     
106 CREATE TABLE Product    /* 商品目录表 */  
107 (   
108   ProductList_ID   int                      NOT NULL,  /* 商品细分类编号, 外键 ( 参照 PRODUCTLIST 表 ) */  
109   Product_ID       INT IDENTITY(1,1)        NOT NULL,  /* 商品名称编号, 主键 */  
110   Name             varchar(30)              NOT NULL,  /* 商品名称 */  
111   ProductSpec_ID   INT                      NOT NULL,  /* 商品规格, 外键 ( 参照 PRODUCTSPEC 表 ) */  
112   ProductUnit_ID   INT                      NOT NULL,  /* 计量单位, 外键 ( 参照 PRODUCTUNIT 表 ) */  
113   Price            MONEY                    NULL,      /* 参考价格 */  
114   Employee_ID      INT                      NOT NULL,  /* 操作员,   外键 ( 参照 EMPLOYEE 表 )*/  
115   CreateDate       datetime                 NULL,      /* 创建时间 */  
116   Remark             varchar(250)             NULL     /* 描述,备注 */  
117 )   
118   
119 CREATE TABLE Product_Supplier  /* 商品--供应商表 */  
120 (    
121   Product_ID       INT                      NOT NULL,   /* 商品名称编号,主键 , 外键( 参照 PRODUCT 表  )*/  
122   Supplier_ID      INT                      NOT NULL    /* 供应商编号 , 主键,  外键( 参照 SUPPLIER 表) */  
123 )   
124   
125 CREATE TABLE Employee  /* 员工表 */  
126 (    
127   Employee_ID      INT IDENTITY(1,1)        NOT NULL,  /* 员工编号 */  
128   Dept_ID          INT                      NOT NULL,  /* 所属部门编号 */  
129   Name             varchar(30)              NOT NULL,  /* 姓名 */  
130   Duty             varchar(20)              NOT NULL,  /* 职务 */  
131   Gender           varchar(6)               NOT NULL,  /* 性别 */  
132   BirthDate        datetime                 NOT NULL,  /* 出生日期 */  
133   HireDate         datetime                 NULL,      /* 合同签订 日期 */  
134   MatureDate       datetime                 NULL,      /* 合同到期日 */  
135   IdentityCard     varchar(20)              NULL,      /* 身份证号 */  
136   Address          varchar(250)             NULL,      /* 住址 */  
137   Phone            varchar(25)              NULL,      /* 电话 */  
138   Email            varchar(30)              NULL       /* E_MAIL */  
139 )   
140     
141   
142 /*-///////////////////////////////////////////////////////////////////////////////////////-*/    
143   
144 CREATE TABLE BuyOrder    /* 进货合同 */  
145 (   
146   BuyOrder_ID     INT IDENTITY(1,1)        NOT NULL, /* 进货合同编号 , 主键 */  
147   WriteDate       datetime                 NOT NULL, /* 合同签订日期  */  
148   InsureDate      datetime                 NOT NULL, /* 合同生效日期  */  
149   EndDate         datetime                 NOT NULL, /* 合同到期日期  */  
150   Dept_ID         INT                      NOT NULL, /* 签订部门, 外键 ( 参照 DEPT 表 ) */  
151   Supplier_ID     INT                      NOT NULL, /* 供应商,   外键 ( 参照 SUPPLIER 表 ) */  
152   Employee_ID     INT                      NOT NULL  /* 合同主要负责人, 外键 ( 参照 EMPLOYEE 表) */  
153 )   
154 CREATE TABLE BuyOrder_Detail  /* 进货合同明细表 */  
155 (   
156   BuyOrder_ID     INT                      NOT NULL,  /* 进货合同编号,主键, 外键 ( 参照 BUYORDER 表 ) */  
157   Product_ID      INT                      NOT NULL,  /* 所进商品编号,主键, 外键 (参照 PRODUCT 表 ) */    
158   Quantity        INT                      NOT NULL,  /* 商品数量 */  
159   Price           money                    NOT NULL   /* 商品进价 */  
160 )   
161   
162   
163 CREATE TABLE EnterStock    /* 入库单表 */  
164 (   
165   EnterStock_ID    INT IDENTITY(1,1)       NOT NULL, /* 入库单编号 , 主键 */  
166   EnterDate        datetime                NOT NULL, /* 入库时间 */  
167   Dept_ID          INT                     NOT NULL, /* 入库部门 ,外键 ( 参照 DEPT 表 )*/  
168   StoreHouse_ID    INT                     NOT NULL, /* 所入仓库 ,外键 ( 参照 STOREHOUSE 表)*/  
169   Employee_ID      INT                     NOT NULL  /* 入库人 ,  外键 ( 参照 EMPLOYEE 表)*/  
170   /*需添加 仓库保管员如何来验证入库单 ?? */  
171 )   
172   
173 CREATE TABLE EnterStock_Detail /* 入库单明细 */  
174 (    
175   EnterStock_ID    INT                     NOT NULL, /* 入库单编号 , 主键, 外键 (参照 ENTERSTOCK 表 )*/  
176   Product_ID       INT                     NOT NULL, /* 此种商品编号,主键, 外键 (参照 PRODUCT 表 ) */    
177   Quantity         int                     NOT NULL, /* 此种商品数量 */  
178   Price            money                   NULL,     /* 此种商品参考价格  */  
179   HaveInvoice      bit                     not null, /* 此种商品有没有开发票 ( 缺省为 0 , 有没有开票 )*/  
180   InvoiceNum       varchar(30)             NULL      /* 发票号 */  
181 )   
182   
183   
184 CREATE TABLE BackStock  /* 退库单表 */  
185 (   
186   BackStock_ID     INT IDENTITY(1,1)       NOT NULL, /* 退库单编号 , 主键 */  
187   BackDate         datetime                NOT NULL, /* 退库时间 */  
188   Dept_ID          INT                     NOT NULL, /* 退库部门 ,  外键 ( 参照 DEPT 表 )*/  
189   StoreHouse_ID    INT                     NOT NULL, /* 所退入仓库 ,外键 ( 参照 STOREHOUSE 表)*/  
190   Employee_ID      INT                     NOT NULL, /* 退库人 ,    外键 ( 参照 EMPLOYEE 表)*/  
191   Remark             varchar(250)            NULL    /* 退库原因 */  
192   
193 )   
194 CREATE TABLE BackStock_Detail /* 退库单明细表 */  
195 (    
196   BackStock_ID     INT                     NOT NULL, /* 退库单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/    
197   Product_ID       INT                     NOT NULL, /* 所退商品编号,主键, 外键 (参照 PRODUCT 表 ) */    
198   Quantity         int                     NOT NULL, /* 退入数量 */  
199   Price            money                   NULL      /* 参考价格 */  
200      
201 )   
202   
203 CREATE TABLE LeaveStock  /* 出库单表 */  
204 (   
205   LeaveStock_ID    INT IDENTITY(1,1)       NOT NULL,  /* 出库单编号 , 主键, 外键 (参照 LEAVESTOCK 表 )*/  
206   LeaveDate        datetime                NOT NULL,  /* 出库时间 */    
207   Dept_ID          INT                     NOT NULL,  /* 出库部门 ,  外键 ( 参照 DEPT 表 )*/  
208   StoreHouse_ID    INT                     NOT NULL,  /* 所出仓库 ,外键 ( 参照 STOREHOUSE 表)*/  
209   ToStoreHouse_ID  INT                     NOT NULL,  /* 所入仓库 ,外键 ( 参照 STOREHOUSE 表)*/  
210   Employee_ID      INT                     NOT NULL   /* 出库人 ,    外键 ( 参照 EMPLOYEE 表)*/  
211   /* 仓库保管员如何来验证出库单 ?? */  
212 )   
213   
214 CREATE TABLE LeaveStock_Detail  /* 出库单明细表 */  
215 (    
216   LeaveStock_ID    INT                     NOT NULL,  /* 出库单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/    
217   Product_ID       INT                     NOT NULL,  /* 所出商品编号,主键, 外键 (参照 PRODUCT 表 ) */    
218   Quantity         int                     NOT NULL,  /* 出库数量 */  
219   Price            money                   NULL       /* 出库价格 */    
220 )   
221   
222 CREATE TABLE BackSale  /* 退货单表 */  
223 (   
224   BackSale_ID      INT IDENTITY(1,1)       NOT NULL,  /* 退货单编号 , 主键 */  
225   BackDate         datetime                NOT NULL,  /* 退货日期  */    
226   Dept_ID          INT                     NOT NULL,  /* 退货部门 ,  外键 ( 参照 DEPT 表 )*/  
227   StoreHouse_ID    INT                     NOT NULL,  /* 退入仓库 ,  外键 ( 参照 STOREHOUSE 表)*/  
228   Employee_ID      INT                     NOT NULL,  /* 退货人 ,    外键 ( 参照 EMPLOYEE 表)*/  
229   Remark             varchar(250)            NULL     /* 退货原因 */  
230   
231 )   
232 CREATE TABLE BackSale_Detail  /* 退货单明细表 */  
233 (    
234   BackSale_ID      INT                     NOT NULL,  /* 退货单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/    
235   Product_ID       INT                     NOT NULL,  /* 所退商品编号,主键, 外键 (参照 PRODUCT 表 ) */    
236   Quantity         int                     NOT NULL,  /* 退货数量 */  
237   Price            money                   NULL       /* 价格 */    
238      
239 )   
240   
241   
242 CREATE TABLE SaleOrder    /* 销售合同 */  
243 (   
244   SaleOrder_ID     INT IDENTITY(1,1)       NOT NULL,  /* 合同编号 , 主键 */  
245   WriteDate        datetime                NOT NULL,  /* 合同签订日期  */  
246   InsureDate       datetime                NOT NULL,  /* 合同生效日期  */  
247   EndDate          datetime                NOT NULL,  /* 合同到期日期  */  
248   Dept_ID          INT                     NOT NULL,  /* 签订部门, 外键 ( 参照 DEPT 表 ) */  
249   Customer_ID      INT                     NOT NULL,  /* 客户编号, 外键 ( 参照 CUSTOMER 表 ) */  
250   Employee_ID      INT                     NOT NULL   /* 合同主要负责人, 外键 ( 参照 EMPLOYEE 表) */  
251 )   
252 CREATE TABLE SaleOrder_Detail  /* 销售合同明细表 */  
253 (   
254   SaleOrder_ID     INT                     NOT NULL,  /* 销售合同编号,主键, 外键 ( 参照 BUYORDER 表 ) */  
255   Product_ID       INT                     NOT NULL,  /* 销售商品编号,主键, 外键 (参照 PRODUCT 表 ) */    
256   Quantity         int                     not null,  /* 商品数量 */  
257   Price            money                   null       /* 商品进价 */  
258 )   
259   
260   
261 CREATE TABLE Buy     /* 进货表 ( 验货表 ) */  
262 (   
263    Buy_ID          INT IDENTITY(1,1)         NOT NULL, /* 进货编号 , 主键 */  
264    ComeDate        datetime                  NOT NULL, /* 进货日期 */  
265    Dept_ID         INT                       NOT NULL, /* 进货部门, 外键 ( 参照 DEPT 表 ) */    
266    Employee_ID     INT                       NOT NULL  /* 验货人,   外键 ( 参照 EMPLOYEE 表)*/  
267 )   
268   
269 CREATE TABLE Buy_Detail  /* 进货表明细 ( 验货表 ) */     
270 (   
271   Buy_ID           INT                      NOT NULL, /* 进货编号,主键, 外键 ( 参照 BUY 表 ) */  
272   Product_ID       INT                      NOT NULL, /* 商品编号,主键, 外键 ( 参照 PRODUCT 表 ) */    
273   BuyOrder_ID      INT                      NULL,     /* 采购合同,  外键 ( 参照 BUYORDER 表 ) */  
274   Quantity         int                      not null, /* 数量 */  
275   Price            money                    null      /* 价格 */  
276     
277   /* BUYORDER_ID 为 NULL 时, 为现金进货 */     
278 )   
279   
280 CREATE TABLE Sale   /* 销售 表 */  
281 (   
282   Sale_ID          INT IDENTITY(1,1)        NOT NULL,  /* 销售 编号  */  
283   SaleDate         datetime                 not null,  /* 销售 日期 */  
284   Dept_ID          INT                      NOT NULL,  /* 销售部门, 外键 ( 参照 DEPT 表 ) */    
285   Employee_ID      INT                      NOT NULL   /* 售货人,   外键 ( 参照 EMPLOYEE 表)*/  
286 )   
287   
288 CREATE TABLE Sale_Detail  /* 销售明细 ( 验货表 ) */     
289 (   
290   Sale_ID          INT                      NOT NULL,  /* 销售编号,主键, 外键 ( 参照 SALE 表 ) */  
291   Product_ID       INT                      NOT NULL,  /* 商品编号,主键, 外键 ( 参照 PRODUCT 表 ) */     
292   SaleOrder_ID     INT                      NULL,      /* 销售合同, 外键 ( 参照 SALEORDER 表 ) */  
293   Quantity         int                      not null,  /* 数量 */  
294   Price            money                    not null,  /* 价格 */  
295   Discount         int                      null       /* 折扣 */  
296      
297   /* SALEORDER_ID 为 NULL 时, 为现金销售 */  
298 )   
299   
300   
301 CREATE TABLE StockPile  /* 库存表 */  
302 (    
303   StockPile_ID     INT IDENTITY(1,1)        NOT NULL, /* 库存编号 , 主键 */  
304   Dept_ID          INT                      NOT NULL, /* 商品所属部门, 外键 ( 参照 DEPT 表 ) */     
305   StoreHouse_ID    INT                      NOT NULL, /* 所在仓库,     外键 ( 参照 SOTREHOUSE 表 ) */      
306   Product_ID       INT                      NOT NULL, /* 商品编号,     外键 ( 参照 PRODUCT 表 ) */      
307   FirstEnterDate   datetime                 not null, /* 此种商品第一次入库时间 */  
308   LastLeaveDate    datetime                 null,     /* 此种商品最后一次出库时间 */  
309   Quantity         int                      not null, /* 所存数量 */  
310   Price            money                    not null  /* 加权价 */  
311   /* LASTLEAVEDATE 为NULL 时,此种商品从来没有 卖过 */    
312 )  

 

posted on 2013-05-01 00:30  蘑菇蘑菇它不开花  阅读(605)  评论(0编辑  收藏  举报