zoukankan      html  css  js  c++  java
  • 一个进销存数据库设计的例子

    CREATE TABLE user(
      User_Id varchar(6),
      User_Pwd varchar(8) NULL,
      Again_Pwd varchar(8) NULL,
      Bel_Group varchar(3) NULL,
      Div_Type varchar(1) NULL,
      User_Auth varchar(1) NULL,
      Auth_Type varchar(1) NULL,
      User_Status varchar(1) NULL,
      Create_User varchar(6) NULL,
      Create_Date varchar(7) NULL,
      Create_Time varchar(6) NULL,
      Appr_User varchar(6) NULL,
      Appr_Date varchar(7) NULL,
      Appr_Time varchar(6) NULL,
      Pwd_Date varchar(7) NULL,
      Err_Count float NULL,
      Use_eJCIC varchar(1) NULL
    )
    CREATE TABLE Supplier  /*供应商表*/
    (
      Supplier_ID     int     IDENTITY(1,1)     NOT NULL, /* 供应商编号 ,主键 */
      Name            varchar(250)              NOT NULL, /* 供应商名称 */
      Address         varchar(250)              NOT NULL, /* 地址 */
      Phone           varchar(25)               NULL,     /* 电话 */
      Fax             varchar(25)               NULL,     /* 传真 */
      PostalCode      varchar(10)               NULL,     /* 邮编 */
      ConstactPerson  varchar(20)               NULL      /* 联系人 */
     )

    CREATE TABLE Customer   /* 客户表*/
    (
      Customer_ID     int    IDENTITY(1,1)      NOT NULL, /* 客户编号,主键*/
      Name            varchar(250)              NOT NULL, /* 客户名称 */
      Address         varchar(250)              NOT NULL, /* 地址 */ 
      Phone           varchar(25)               NULL,     /* 电话 */
      Fax             varchar(25)               NULL,     /* 传真 */
      PostalCode      varchar(10)               NULL,     /* 邮编 */
      ConstactPerson  varchar(20)               NULL      /* 联系人 */
     )

    CREATE TABLE Dept      /* 部门表 */
    (
      Dept_ID        int   IDENTITY(1,1)        NOT NULL, /* 部门编号,主键 */
      Name           varchar(30)                NOT NULL, /* 名称 */
      Remark           varchar(250)               NOT NULL/* 描述,备注 */ 
    )

    CREATE TABLE Dept_Supplier /* 部门--供应商表*/
    (
      Dept_ID       int                         NOT NULL,  /* 部门编号,主键 ,  外键( 参照 DEPT 表  )*/
      Supplier_ID   int                         NOT NULL   /* 供应商编号 ,主键,外键( 参照 SUPPLIER 表) */
    )

    CREATE TABLE Dept_Customer /* 部门--客户表*/
    (
      Dept_ID       int                         NOT NULL, /* 部门编号,主键 ,  外键( 参照 DEPT 表  )*/
      Customer_ID   int                         NOT NULL  /* 客户编号,主键,  外键( 参照 SUPPLIER 表) */
    )

    CREATE TABLE StoreHouse   /* 仓库表 */
    (
      StoreHouse_ID   int IDENTITY(1,1)         NOT NULL,  /* 仓库编号,主键 */
      Address         varchar(250)              NOT NULL,  /* 地址 */
      Phone           varchar(25)               NULL,      /* 电话 */
      Employee_ID     INT                       NOT NULL,  /* 仓库保管 ,外键 ( 参照 EMPLOYEE 表 ) */
      CreateDate      datetime                  NULL       /* 仓库成立时间 */
    )

    CREATE TABLE ProductClass  /* 商品总分类表 */
    (
      ProductClass_ID  int IDENTITY(1,1)        NOT NULL,  /* 商品总分类编号, 主键 */ 
      Name             varchar(30)              NOT NULL,  /* 商品分类名称 */
      Employee_ID      INT                      NOT NULL,  /* 建分类人 ,外键 ( 参照 EMPLOYEE 表 )*/
      CreateDate       datetime                 NULL,      /* 建分类时间 */
      Remark             varchar(250)             NULL,    /* 描述,备注 */
    )

    CREATE TABLE ProductList  /* 商品细分类表 */
    (
      ProductClass_ID  INT                      NOT NULL, /* 商品总分类编号, 外键 ( 参照PRODUCTCLASS 表 ) */
      ProductList_ID   int IDENTITY(1,1)        NOT NULL, /* 商品细分类编号,主键 */
      Name             varchar(30)              NOT NULL, /* 商品名称 */
      Employee_ID      INT                      NOT NULL, /* 建分类人,外键 ( 参照 EMPLOYEE 表 )*/
      CreateDate       datetime                 NULL,     /* 建分类时间 */
      Remark             varchar(250)             NULL,   /* 描述 ,备注 */
     )

    CREATE TABLE ProductSpec  /* 商品规格表 */
    (
      ProductSpec_ID   INT IDENTITY(1,1)        NOT NULL, /* 商品规格编号,主键 */
      Name             varchar(30)              NOT NULL, /* 商品规格名称 */
      Employee_ID      INT                      NOT NULL, /* 操作员 ,外键 ( 参照 EMPLOYEE 表 )*/
      CreateDate       datetime                 NULL,     /* 创建时间 */
      Remark             varchar(250)             NULL    /* 描述,备注 */
    )
    CREATE TABLE ProductUnit /* 商品计量单位表 */
    (
      ProductUnit_ID   INT IDENTITY(1,1)        NOT NULL, /* 计量单位编号 ,主键 */
      Name             varchar(30)              NOT NULL, /* 计量单位名称 */
      Employee_ID      INT                      NOT NULL, /* 操作员 ,外键 ( 参照 EMPLOYEE 表 )*/
      CreateDate       datetime                 NULL,     /* 创建时间 */
      Remark             varchar(250)             NULL    /* 描述,备注 */
    )
     
    CREATE TABLE Product    /* 商品目录表 */
    (
      ProductList_ID   int                      NOT NULL,  /* 商品细分类编号, 外键 ( 参照 PRODUCTLIST 表 ) */
      Product_ID       INT IDENTITY(1,1)        NOT NULL,  /* 商品名称编号, 主键 */
      Name             varchar(30)              NOT NULL,  /* 商品名称 */
      ProductSpec_ID   INT                      NOT NULL,  /* 商品规格, 外键 ( 参照 PRODUCTSPEC 表 ) */
      ProductUnit_ID   INT                      NOT NULL,  /* 计量单位, 外键 ( 参照 PRODUCTUNIT 表 ) */
      Price            MONEY                    NULL,      /* 参考价格 */
      Employee_ID      INT                      NOT NULL,  /* 操作员,   外键 ( 参照 EMPLOYEE 表 )*/
      CreateDate       datetime                 NULL,      /* 创建时间 */
      Remark             varchar(250)             NULL     /* 描述,备注 */
    )

    CREATE TABLE Product_Supplier  /* 商品--供应商表 */

      Product_ID       INT                      NOT NULL,   /* 商品名称编号,主键 , 外键( 参照 PRODUCT 表  )*/
      Supplier_ID      INT                      NOT NULL    /* 供应商编号 , 主键,  外键( 参照 SUPPLIER 表) */
    )

    CREATE TABLE Employee  /* 员工表 */

      Employee_ID      INT IDENTITY(1,1)        NOT NULL,  /* 员工编号 */
      Dept_ID          INT                      NOT NULL,  /* 所属部门编号 */
      Name             varchar(30)              NOT NULL,  /* 姓名 */
      Duty             varchar(20)              NOT NULL,  /* 职务 */
      Gender           varchar(6)               NOT NULL,  /* 性别 */
      BirthDate        datetime                 NOT NULL,  /* 出生日期 */
      HireDate         datetime                 NULL,      /* 合同签订 日期 */
      MatureDate       datetime                 NULL,      /* 合同到期日 */
      IdentityCard     varchar(20)              NULL,      /* 身份证号 */
      Address          varchar(250)             NULL,      /* 住址 */
      Phone            varchar(25)              NULL,      /* 电话 */
      Email            varchar(30)              NULL       /* E_MAIL */
    )
     

    /*-///////////////////////////////////////////////////////////////////////////////////////-*/

    CREATE TABLE BuyOrder    /* 进货合同 */
    (
      BuyOrder_ID     INT IDENTITY(1,1)        NOT NULL, /* 进货合同编号 , 主键 */
      WriteDate       datetime                 NOT NULL, /* 合同签订日期  */
      InsureDate      datetime                 NOT NULL, /* 合同生效日期  */
      EndDate         datetime                 NOT NULL, /* 合同到期日期  */
      Dept_ID         INT                      NOT NULL, /* 签订部门, 外键 ( 参照 DEPT 表 ) */
      Supplier_ID     INT                      NOT NULL, /* 供应商,   外键 ( 参照 SUPPLIER 表 ) */
      Employee_ID     INT                      NOT NULL  /* 合同主要负责人, 外键 ( 参照 EMPLOYEE 表) */
    )
    CREATE TABLE BuyOrder_Detail  /* 进货合同明细表 */
    (
      BuyOrder_ID     INT                      NOT NULL,  /* 进货合同编号,主键, 外键 ( 参照 BUYORDER 表 ) */
      Product_ID      INT                      NOT NULL,  /* 所进商品编号,主键, 外键 (参照 PRODUCT 表 ) */ 
      Quantity        INT                      NOT NULL,  /* 商品数量 */
      Price           money                    NOT NULL   /* 商品进价 */
    )

    CREATE TABLE EnterStock    /* 入库单表 */
    (
      EnterStock_ID    INT IDENTITY(1,1)       NOT NULL, /* 入库单编号 , 主键 */
      EnterDate        datetime                NOT NULL, /* 入库时间 */
      Dept_ID          INT                     NOT NULL, /* 入库部门 ,外键 ( 参照 DEPT 表 )*/
      StoreHouse_ID    INT                     NOT NULL, /* 所入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
      Employee_ID      INT                     NOT NULL  /* 入库人 ,  外键 ( 参照 EMPLOYEE 表)*/
      /*需添加 仓库保管员如何来验证入库单 ?? */
    )

    CREATE TABLE EnterStock_Detail /* 入库单明细 */

      EnterStock_ID    INT                     NOT NULL, /* 入库单编号 , 主键, 外键 (参照 ENTERSTOCK 表 )*/
      Product_ID       INT                     NOT NULL, /* 此种商品编号,主键, 外键 (参照 PRODUCT 表 ) */ 
      Quantity         int                     NOT NULL, /* 此种商品数量 */
      Price            money                   NULL,     /* 此种商品参考价格  */
      HaveInvoice      bit                     not null, /* 此种商品有没有开发票 ( 缺省为 0 , 有没有开票 )*/
      InvoiceNum       varchar(30)             NULL      /* 发票号 */
    )


    CREATE TABLE BackStock  /* 退库单表 */
    (
      BackStock_ID     INT IDENTITY(1,1)       NOT NULL, /* 退库单编号 , 主键 */
      BackDate         datetime                NOT NULL, /* 退库时间 */
      Dept_ID          INT                     NOT NULL, /* 退库部门 ,  外键 ( 参照 DEPT 表 )*/
      StoreHouse_ID    INT                     NOT NULL, /* 所退入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
      Employee_ID      INT                     NOT NULL, /* 退库人 ,    外键 ( 参照 EMPLOYEE 表)*/
      Remark             varchar(250)            NULL    /* 退库原因 */

    )
    CREATE TABLE BackStock_Detail /* 退库单明细表 */

      BackStock_ID     INT                     NOT NULL, /* 退库单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/ 
      Product_ID       INT                     NOT NULL, /* 所退商品编号,主键, 外键 (参照 PRODUCT 表 ) */ 
      Quantity         int                     NOT NULL, /* 退入数量 */
      Price            money                   NULL      /* 参考价格 */
      
    )

    CREATE TABLE LeaveStock  /* 出库单表 */
    (
      LeaveStock_ID    INT IDENTITY(1,1)       NOT NULL,  /* 出库单编号 , 主键, 外键 (参照 LEAVESTOCK 表 )*/
      LeaveDate        datetime                NOT NULL,  /* 出库时间 */ 
      Dept_ID          INT                     NOT NULL,  /* 出库部门 ,  外键 ( 参照 DEPT 表 )*/
      StoreHouse_ID    INT                     NOT NULL,  /* 所出仓库 ,外键 ( 参照 STOREHOUSE 表)*/
      ToStoreHouse_ID  INT                     NOT NULL,  /* 所入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
      Employee_ID      INT                     NOT NULL   /* 出库人 ,    外键 ( 参照 EMPLOYEE 表)*/
      /* 仓库保管员如何来验证出库单 ?? */
    )

    CREATE TABLE LeaveStock_Detail  /* 出库单明细表 */

      LeaveStock_ID    INT                     NOT NULL,  /* 出库单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/ 
      Product_ID       INT                     NOT NULL,  /* 所出商品编号,主键, 外键 (参照 PRODUCT 表 ) */ 
      Quantity         int                     NOT NULL,  /* 出库数量 */
      Price            money                   NULL       /* 出库价格 */ 
    )

    CREATE TABLE BackSale  /* 退货单表 */
    (
      BackSale_ID      INT IDENTITY(1,1)       NOT NULL,  /* 退货单编号 , 主键 */
      BackDate         datetime                NOT NULL,  /* 退货日期  */ 
      Dept_ID          INT                     NOT NULL,  /* 退货部门 ,  外键 ( 参照 DEPT 表 )*/
      StoreHouse_ID    INT                     NOT NULL,  /* 退入仓库 ,  外键 ( 参照 STOREHOUSE 表)*/
      Employee_ID      INT                     NOT NULL,  /* 退货人 ,    外键 ( 参照 EMPLOYEE 表)*/
      Remark             varchar(250)            NULL     /* 退货原因 */

    )
    CREATE TABLE BackSale_Detail  /* 退货单明细表 */

      BackSale_ID      INT                     NOT NULL,  /* 退货单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/ 
      Product_ID       INT                     NOT NULL,  /* 所退商品编号,主键, 外键 (参照 PRODUCT 表 ) */ 
      Quantity         int                     NOT NULL,  /* 退货数量 */
      Price            money                   NULL       /* 价格 */ 
      
    )


    CREATE TABLE SaleOrder    /* 销售合同 */
    (
      SaleOrder_ID     INT IDENTITY(1,1)       NOT NULL,  /* 合同编号 , 主键 */
      WriteDate        datetime                NOT NULL,  /* 合同签订日期  */
      InsureDate       datetime                NOT NULL,  /* 合同生效日期  */
      EndDate          datetime                NOT NULL,  /* 合同到期日期  */
      Dept_ID          INT                     NOT NULL,  /* 签订部门, 外键 ( 参照 DEPT 表 ) */
      Customer_ID      INT                     NOT NULL,  /* 客户编号, 外键 ( 参照 CUSTOMER 表 ) */
      Employee_ID      INT                     NOT NULL   /* 合同主要负责人, 外键 ( 参照 EMPLOYEE 表) */
    )
    CREATE TABLE SaleOrder_Detail  /* 销售合同明细表 */
    (
      SaleOrder_ID     INT                     NOT NULL,  /* 销售合同编号,主键, 外键 ( 参照 BUYORDER 表 ) */
      Product_ID       INT                     NOT NULL,  /* 销售商品编号,主键, 外键 (参照 PRODUCT 表 ) */ 
      Quantity         int                     not null,  /* 商品数量 */
      Price            money                   null       /* 商品进价 */
    )


    CREATE TABLE Buy     /* 进货表 ( 验货表 ) */
    (
       Buy_ID          INT IDENTITY(1,1)         NOT NULL, /* 进货编号 , 主键 */
       ComeDate        datetime                  NOT NULL, /* 进货日期 */
       Dept_ID         INT                       NOT NULL, /* 进货部门, 外键 ( 参照 DEPT 表 ) */ 
       Employee_ID     INT                       NOT NULL  /* 验货人,   外键 ( 参照 EMPLOYEE 表)*/
    )

    CREATE TABLE Buy_Detail  /* 进货表明细 ( 验货表 ) */  
    (
      Buy_ID           INT                      NOT NULL, /* 进货编号,主键, 外键 ( 参照 BUY 表 ) */
      Product_ID       INT                      NOT NULL, /* 商品编号,主键, 外键 ( 参照 PRODUCT 表 ) */ 
      BuyOrder_ID      INT                      NULL,     /* 采购合同,  外键 ( 参照 BUYORDER 表 ) */
      Quantity         int                      not null, /* 数量 */
      Price            money                    null      /* 价格 */
     
      /* BUYORDER_ID 为 NULL 时, 为现金进货 */  
    )

    CREATE TABLE Sale   /* 销售 表 */
    (
      Sale_ID          INT IDENTITY(1,1)        NOT NULL,  /* 销售 编号  */
      SaleDate         datetime                 not null,  /* 销售 日期 */
      Dept_ID          INT                      NOT NULL,  /* 销售部门, 外键 ( 参照 DEPT 表 ) */ 
      Employee_ID      INT                      NOT NULL   /* 售货人,   外键 ( 参照 EMPLOYEE 表)*/
    )

    CREATE TABLE Sale_Detail  /* 销售明细 ( 验货表 ) */  
    (
      Sale_ID          INT                      NOT NULL,  /* 销售编号,主键, 外键 ( 参照 SALE 表 ) */
      Product_ID       INT                      NOT NULL,  /* 商品编号,主键, 外键 ( 参照 PRODUCT 表 ) */  
      SaleOrder_ID     INT                      NULL,      /* 销售合同, 外键 ( 参照 SALEORDER 表 ) */
      Quantity         int                      not null,  /* 数量 */
      Price            money                    not null,  /* 价格 */
      Discount         int                      null       /* 折扣 */
      
      /* SALEORDER_ID 为 NULL 时, 为现金销售 */
    )


    CREATE TABLE StockPile  /* 库存表 */

      StockPile_ID     INT IDENTITY(1,1)        NOT NULL, /* 库存编号 , 主键 */
      Dept_ID          INT                      NOT NULL, /* 商品所属部门, 外键 ( 参照 DEPT 表 ) */  
      StoreHouse_ID    INT                      NOT NULL, /* 所在仓库,     外键 ( 参照 SOTREHOUSE 表 ) */   
      Product_ID       INT                      NOT NULL, /* 商品编号,     外键 ( 参照 PRODUCT 表 ) */   
      FirstEnterDate   datetime                 not null, /* 此种商品第一次入库时间 */
      LastLeaveDate    datetime                 null,     /* 此种商品最后一次出库时间 */
      Quantity         int                      not null, /* 所存数量 */
      Price            money                    not null  /* 加权价 */
      /* LASTLEAVEDATE 为NULL 时,此种商品从来没有 卖过 */ 
    )

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/skyay/p/5752849.html
Copyright © 2011-2022 走看看