进销存数据库设计
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 )
我是一个小小虫
用编程改变世界