进销存管理系统mypos

/*操作员表*/
CREATE TABLE czyb (
  czyid INT AUTO_INCREMENT PRIMARY KEY,
  czydm VARCHAR (10) NOT NULL,
  czykl VARCHAR (10) NOT NULL,
  czylb INT NOT NULL
) ;

-- 商品表
CREATE TABLE spb (
  spid INT AUTO_INCREMENT PRIMARY KEY,
  spmc VARCHAR (100) NOT NULL,
  spmcsx VARCHAR (100),
  sptm VARCHAR (50),
  spdw VARCHAR (10),
  spbz TEXT
) ;

-- 供货商表
CREATE TABLE ghsb (
  gysid INT AUTO_INCREMENT PRIMARY KEY,
  gysmc VARCHAR (100) NOT NULL,
  spmcsx VARCHAR (100),
  gysdz VARCHAR (255),
  gyslxfs VARCHAR (20),
  gysbz TEXT
) ;

-- 客户表
CREATE TABLE khb (
  khid INT AUTO_INCREMENT PRIMARY KEY,
  khmc VARCHAR (100) NOT NULL,
  khmcsx VARCHAR (100),
  khdz VARCHAR (255),
  khlxfs VARCHAR (20),
  khbz TEXT
) ;

-- 仓库表
CREATE TABLE ckb (
  ckid INT AUTO_INCREMENT PRIMARY KEY,
  ckmc VARCHAR (100) NOT NULL,
  ckdz VARCHAR (255)
) ;

-- 进货总表
CREATE TABLE jhzb (
  jhid INT AUTO_INCREMENT PRIMARY KEY,
  gysid INT,
  jhrq DATE NOT NULL,
  jhje DECIMAL (10, 2) NOT NULL,
  czyid INT,
  jhbz TEXT,
  FOREIGN KEY (gysid) REFERENCES ghsb (gysid),
  FOREIGN KEY (czyid) REFERENCES czyb (czyid)
) ;

-- 进货明细表
CREATE TABLE jhmxb (
  jhmxid INT AUTO_INCREMENT PRIMARY KEY,
  jhid INT,
  spid INT,
  jhdj DECIMAL (10, 2) NOT NULL,
  jhsl INT NOT NULL,
  FOREIGN KEY (jhid) REFERENCES jhzb (jhid),
  FOREIGN KEY (spid) REFERENCES spb (spid)
) ;

-- 销售总表
CREATE TABLE xszb (
  xsid INT AUTO_INCREMENT PRIMARY KEY,
  khid INT,
  xsrq DATE NOT NULL,
  xsje DECIMAL (10, 2) NOT NULL,
  czyid INT,
  xsbz TEXT,
  FOREIGN KEY (khid) REFERENCES khb (khid),
  FOREIGN KEY (czyid) REFERENCES czyb (czyid)
) ;

/*-- 销售明细表*/
CREATE TABLE xsmxb (
  xsmxid INT AUTO_INCREMENT PRIMARY KEY,
  xsid INT,
  spid INT,
  xsdj DECIMAL (10, 2) NOT NULL,
  xssl INT NOT NULL,
  FOREIGN KEY (xsid) REFERENCES xszb (xsid),
  FOREIGN KEY (spid) REFERENCES spb (spid)
) ;

-- 库存表
CREATE TABLE kcb (
  kcid INT AUTO_INCREMENT PRIMARY KEY,
  ckid INT,
  spid INT,
  jhpjdj DECIMAL (10, 2),
  xspjdj DECIMAL (10, 2),
  kcsl INT NOT NULL,
  zgkcl INT,
  zdkcl INT,
  FOREIGN KEY (ckid) REFERENCES ckb (ckid),
  FOREIGN KEY (spid) REFERENCES spb (spid)
) ;

-- 客户姓名索引
CREATE INDEX idx_khmc ON khb (khmc) ;

-- 供应商名称索引
CREATE INDEX idx_gysmc 
ON ghsb (gysmc) ;

-- 商品名称索引
CREATE INDEX idx_spmc 
ON spb (spmc) ;

-- 商品名称首拼索引
CREATE INDEX idx_spmcsx 
ON spb (spmcsx) ;

-- 3.建立视图 
-- 进货表视图
CREATE VIEW jhzb_view AS 
SELECT 
  jhzb.*,
  ghsb.gysmc AS gysmc,
  spb.spmc AS spmc 
FROM
  jhzb 
  JOIN ghsb 
    ON jhzb.gysid = ghsb.gysid 
  JOIN spb 
    ON jhmxb.spid = spb.spid ;

-- 销售表视图
CREATE VIEW xszb_view AS 
SELECT 
  xszb.*,
  khb.khmc AS khmc,
  spb.spmc AS spmc 
FROM
  xszb 
  JOIN khb 
    ON xszb.khid = khb.khid 
  JOIN spb 
    ON xsmxb.spid = spb.spid ;

-- 库存视图
CREATE VIEW kcb_view AS 
SELECT 
  kcb.*,
  ckb.ckmc AS ckmc,
  spb.spmc AS spmc 
FROM
  kcb 
  JOIN ckb 
    ON kcb.ckid = ckb.ckid 
  JOIN spb 
    ON kcb.spid = spb.spid ;

-- 4. 插入记录:
-- 插入操作员表
INSERT INTO czyb (czydm, czykl, czylb) 
VALUES
  ('000', '000', 0),
  ('001', '001', 1) ;

-- 插入商品表
INSERT INTO spb (spmc, spmcsx, sptm, spdw) 
VALUES
  (
    '可口可乐',
    'kkkl',
    '101',
    '瓶'
  ),
  (
    '百事可乐',
    'bskl',
    '102',
    '瓶'
  ),
  (
    '伊利牛奶',
    'ylnn',
    '103',
    '盒'
  ),
  (
    '农夫山泉',
    'nfsq',
    '104',
    '瓶'
  ),
  (
    '涪陵榨菜',
    'flzc',
    '105',
    '袋'
  ),
  (
    '青岛啤酒',
    'dqpj',
    '106',
    '听'
  ) ;

-- 插入供应商表
INSERT INTO ghsb (gysmc, spmcsx, gysdz, gyslxfs) 
VALUES
  (
    '洛阳宏远商贸有限公司',
    'lyhy',
    '洛阳市三川大道120号',
    '13903790379'
  ) ;

-- 插入客户表
INSERT INTO khb (khmc, khmcsx, khdz, khlxfs) 
VALUES
  ('洛阳前进超市',
    'lyqj',
    '洛阳市开元大道40号',
    '13703790379'
  );

-- 插入仓库表
INSERT INTO ckb (ckmc, ckdz) 
VALUES
  (
    '1号仓库',
    '洛阳市武汉路39号'
  ) ;

-- 插入库存表
INSERT INTO kcb (
  ckid,
  spid,
  jhpjdj,
  xspjdj,
  kcsl,
  zgkcl,
  zdkcl

VALUES
  (1, 1, 0, 0, 0, 9999, 10),
  (1, 2, 0, 0, 0, 9999, 10),
  (1, 3, 0, 0, 0, 9999, 10),
  (1, 4, 0, 0, 0, 9999, 10),
  (1, 5, 0, 0, 0, 9999, 10),
  (1, 6, 0, 0, 0, 9999, 10) ;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值