数据库进销存系统基础表的实现

1、顾客user(顾客id,姓名、性别、会员卡号、手机号、卡内余额、可用积分、上次消费时间) CREATE TABLE USER( uid INT PRIMARY KEY AUTO_INCREMENT  COMMENT'顾客id', uname VARCHAR(20) NOT NULL COMMENT '姓名', sex CHAR(2) COMMENT '性别', card_number VARCHAR(20) COMMENT '会员卡号', phone VARCHAR(20)  COMMENT '电话号码', card_balance DECIMAL(10,2) DEFAULT 0 COMMENT '卡内余额', points INT COMMENT '积分' DEFAULT 0, last_purchase_date DATE COMMENT '上次消费时间' )AUTO_INCREMENT=10000 ENGINE=INNODB DEFAULT CHARSET=utf8;

2、货品名称表goods(货品id,货品名称,计量单位,货品条码,零售价,促销价,名称缩写(由触发器自行维护),货品状态) CREATE TABLE goods( gid INT AUTO_INCREMENT PRIMARY KEY COMMENT '货品id', gname VARCHAR(20) NOT NULL  COMMENT '货品名称', unit VARCHAR(20) NOT NULL  COMMENT '计量单位', barcode VARCHAR(20) NOT NULL  COMMENT '货品条码', retail_Price DECIMAL(10,2) COMMENT '零售价', promotional_Price DECIMAL(10,2) COMMENT '促销价', abbreviations VARCHAR(20) NOT NULL  COMMENT '名称缩写', STATUS TINYINT COMMENT '货品状态(0正常,1暂停进货(不能购进,但可以销售),2不再进货(不能购进,也不能销售))' )ENGINE=INNODB DEFAULT CHARSET=utf8;

3、供应商信息表supplier(供应商id,供应商名称,联系人,联系电话,供应商状态) CREATE TABLE supplier ( supplierID  INT AUTO_INCREMENT PRIMARY KEY COMMENT '供应商id', supplier_Name VARCHAR(64) NOT NULL COMMENT '供应商名称', contact_Person VARCHAR(20) NOT NULL  COMMENT '联系人', contact_Number VARCHAR(20) NOT NULL COMMENT '联系电话', supplier_Status TINYINT COMMENT '供应商状态0正常往来,1暂停来往,2,不再来往)') ENGINE=INNODB DEFAULT CHARSET=utf8;

4、收银员(收银员id、收银员姓名、收银员手机号) CREATE TABLE cashier (cashierid INT AUTO_INCREMENT PRIMARY KEY COMMENT '收银员id', cashier_Name VARCHAR(20) NOT NULL  COMMENT '收银员姓名', phone VARCHAR(20) NOT NULL COMMENT '收银员电话') ENGINE=INNODB DEFAULT CHARSET=utf8;

5、货品库存表stock(库存id,货品id,(当前)库存数量,昨日库存(用于日清),月初库存(用于月结)) CREATE TABLE  stock( stockid INT AUTO_INCREMENT PRIMARY KEY COMMENT '库存id', gid INT COMMENT '货品id', quantity DECIMAL(18,3) COMMENT '(当前)库存数量', yesterday_quantity  DECIMAL(18,3) COMMENT '昨日库存(用于日清),系统自动维护', month_quantity DECIMAL(18,3) COMMENT '月初库存(用于月结),系统自动维护', FOREIGN KEY(gid) REFERENCES goods(gid) )ENGINE=INNODB DEFAULT CHARSET=utf8;

6、扎帐记录表settle_accounts(扎帐id,收银员id,扎帐时间,应收金额(由系统计算),实收金额(由收银员输入),差错原因) CREATE TABLE  settle_accounts( settle_accountsid INT AUTO_INCREMENT PRIMARY KEY COMMENT '扎帐id', cashierid INT COMMENT '收银员id', settle_accounts_time  DATETIME COMMENT '扎帐时间' DEFAULT CURRENT_TIMESTAMP, amount_money DECIMAL(18,3) COMMENT '应收金额', actual_money DECIMAL(18,3) COMMENT '实收金额', errorReason VARCHAR(100) NOT NULL  COMMENT '差错原因', FOREIGN KEY(cashierid) REFERENCES cashier(cashierid) )ENGINE=INNODB DEFAULT CHARSET=utf8;

7、收银记录表cashaccount(收银id,收银员id,顾客id,扎帐id,收银时间,支付方式,应收金额,实收金额,优惠金额,销售状态(正常 ,已退货)) CREATE TABLE cashaccount( cashaccountid  INT AUTO_INCREMENT PRIMARY KEY COMMENT '收银id', cashierid  INT COMMENT '收银员id', uid  INT COMMENT '顾客id', settle_accountsid INT COMMENT '扎帐id', cashier_time  DATETIME COMMENT '收银时间' DEFAULT CURRENT_TIMESTAMP, payment TINYINT COMMENT '支付方式', amount_money DECIMAL(18,3) COMMENT '应收金额', actual_money DECIMAL(18,3) COMMENT '实收金额', discount_money DECIMAL(18,3) COMMENT '优惠金额', sales_status TINYINT COMMENT '销售状态(0正常 ,1已退货)', FOREIGN KEY(cashierid) REFERENCES cashier(cashierid), FOREIGN KEY(settle_accountsid) REFERENCES settle_accounts(settle_accountsid) )ENGINE=INNODB DEFAULT CHARSET=utf8;

8、收银明细表cashaccount_detil(收货明细id,收银id,货物id,销售数量,零售价、促销价) CREATE TABLE cashaccount_detail( cashaccountdetailid INT AUTO_INCREMENT PRIMARY KEY COMMENT '收银明细id', cashaccountid INT  COMMENT '收银id', gid INT COMMENT '货品id', salesquantity DECIMAL(18,3) COMMENT '销售数量', retailprice DECIMAL(18,3) COMMENT '零售价', promotionalprice DECIMAL(18,3) COMMENT '促销价', FOREIGN KEY(cashaccountid) REFERENCES cashaccount(cashaccountid), FOREIGN KEY(gid) REFERENCES goods(gid) )ENGINE=INNODB DEFAULT CHARSET=utf8;

9、一个辅助表Hzpyb(汉字拼音表) 辅助表 汉字拼音表Hzpyb(汉字,简拼,拼音) CREATE TABLE hzpyb(   hz CHAR(2),   jp CHAR(1),   py VARCHAR(10),   INDEX (hz) )

进销存数据库 设计文档 "文件状态: "文件标识 "进销存 " "[ ] 草稿 ": " " "[ ] 正式发布 " " " "[ ] 正在修改 " " " " "当前版本 "1.0 " " ": " " " "作 者 " " " ": " " " "完成日期 "2010-12-23 " " ": " " 作为进销存软件设计文档的重要组成部分,本文档主要对该软件后台数据库的概念模 型设计和物理模型设计作出了统一的规定,同时确定了每个的数据字典结构。它是开 发人员,测试人员编码及测试的重要参考依据。 软件技术班:胡迷田 日 期: 2010-12-23 目 录 1. 文档介绍 4 1.1 文档目的 4 1.2 文档范围 4 1.3 读者对象 5 1.4 参考文献 5 1.5 术语与缩写解释 5 2. 数据库环境说明 6 3. 数据库的命名规则 6 4. 逻辑设计 6 5. 物理设计 7 5.1销售人员信息 7 5.2销售单 7 5.3退货 8 5.4商品库存 9 5.5客户资料 10 5.6供应商明细 11 5.7货物明细 11 5.8货物类别明细 12 5.9订单明细 12 5.10实收明细 13 5.11账款明细 14 5.12退货明细 15 5.13应收金额 15 5.14权限……………………………………………………16 6. 安全性设计 17 5.1 防止用户直接操作数据库的方法 17 7. 优化 17 8. 数据库管理与维护说明 17 1. 文档介绍 1.1 文档目的 作为进销存软件设计文档的重要组成部分,本文档主要对该软件后台数据库的概 念模型设计和物理模型设计作出了统一的规定,同时确定了每个的数据字典结构。 它是开发人员,测试人员编码及测试的重要参考依据。 1.2 文档范围 本文档包含以下几个部分: 1. 文档介绍 2. 数据库环境说明 3. 数据库的命名规则 4. 逻辑设计 5. 物理设计 6. 安全性设计 7.优化 8.数据库管理与维护说明 1.3 读者对象 本文档的主要读者包括: 1. 本系统的设计人员:包括模块设计人员 2. 本系统系统开发人员:包括数据库开发、编码人员 3. 本系统的测试人员 1.4 参考文献 Asp.net 2.0 + sql server 2005 企业项目开发与实战 余金山 王涛 徐建军 编著 面向对象软件工程与UML 张京 编著 1.5 术语与缩写解释 "缩写、术语及符号 "解 释 " "Micrsoft SQL Server 2005 "微软SQL Server2005 " 2. 数据库环境说明 进销存数据库采用Micrsoft SQL Server 2005 数据库管理系统建立并维护。数据库设计过程中采用Micrsoft公司的Visio创建进销存数 据库的ER图,并生成数据库脚本文件"进销存数据库设计.DDL"。其中SQL Server的登录模式为混和身份验证,超级用户的用户名及密码均为sa,SQL Server服务器的端口号:123。 3. 数据库的命名规则 1. 数据库的命名:全部由英文字母组成,单词之间使用下划线分割 如:进销存数据库命名为pds。 2. 数据库命名:义名(可以使用缩写) 义名:单词首字母大写 4. 逻辑设计 5. 物理设计 5.1销售人员信息 "字段名称 "数据库字段名 "数据类型 "是否为主键 "备注 " "销售人员ID "SalemanID "Char(10) "是 "销售人员的编 " " " " " "号 " "姓名 "Salename "varchar(50) "否 "姓名 " "密码 "Password "Char(20) "否 "登陆密码 " "权限 "Permissions "varchar(50) "否 "权限信息 " "身份证 "IDcard "Char(20) "否 "身份证号 " "住址 "Address "Varchar(50) "否 "住址 " "电话 "Telephone "char(20) "否 "电话 " "邮箱 "Email "Varchar(50) "否 "邮箱地址 " 5.2销售单 "字段名称 "数据库字段名 "数据类型 "是否为主键 "备注 " "销售单号 "SaleformID "Char(10) "是 " " "填写日期 "Datatime "Datetime(8) "否 " " "操作人员 "Operatman "varchar(20) "否 " " "合计金额 "Totalmoney "Char(10) "否 " " 子 "字段名称 "数据库字段名 "数据类型 "是否为主键 "备注 " "销售单号 "SaleformID "Char(10) "是 "销售单的编号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值