1、 《数据库课程设计》汇报 销售管理系统 学生姓名: 肖 芳 忠 学生班级: 1 0 4 1 0 1 1 1 学生学号: 1 0 4 1 0 1 1 1 3 7 指导老师: 刘 爱 华 6 月 13日 设计目标 数据库系统原理课程设计是数据库系统原理实践步骤极为关键一部分。 1、 培养学生能够应用数据库系统原理在需求分析基础上对系统进行概念设计,学会设计局部ER,
2、全局ER。 2、 培养学生能够应用数据库系统原理在概念设计基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作合理规范化关系模型。 3、 培养学生能够应用SQL语言对所设计规范化关系模型进行物理设计,以确保数据库系统数据完整性,安全性,一致性。 4、 数据库实施: 建立数据库结构(建库、建立个基础表、视图、索引) 将原始数据状图数据库(insert语句)。 课程设计内容 1:需求分析 本系统必需含有以下功效: (1) 商品录入:依据超巿业务特点制订相关功效,能够经过输入唯一编号、扫描条形码、商品名称等来实现正确或模糊商
3、品扫描录入。该扫描录入方法能够充足确保多种电脑操作水平层次人员均能正确快速地进行商品扫描录入。 (2)收银业务:经过扫描条形码或直接输入商品名称(对于同类多件商品采取一次录入加数量方法)自动计算此次交易总金额。在用户付款后,自动计算找零,同时打印交易清单(包含交易流水账号、每类商品商品名、数量、该类商品总金额、交易时间、负责此次收银职员号)。。 (5)进货管理: 依据销售情况及库存情况,自动制订进货计划(亦可手工制订修改),能够避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货和入库统计及金额。 (6)销售管理: 商品正常销售、促销和限量、限期及严禁销
4、售控制。 综合查询多种销售明细统计、各地收银员收银统计和交结账情况等。 按多个方法统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。 (7)库存管理: 综合查询库存明细统计。 库存状态自动告警提醒。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。 (8)人员管理: 职员、会员、供货商、厂商等基础信息登记管理。 职员操作权限管理。 用户销售权限管理 2:概念结构设计 2.1确定实体之间联络 m n
5、 图1 用户和商品E-R图(多对多关系) 供货商名称 供货商地址 商品名称 单 价 供货商电话 库存量 商 品 供货 供货商 供货商号 供货日期 供货数量 供货编号 n m 商品编号百年好 图2:商品和供货商E-R图(多对多关系) 库存量 商品名称 商品编号 商 品 单 价 条形码 库 存 m 图3:商品和仓库E-R图(多对多关系) 2.2 初步系统R-R 图 用户姓名 用户编号
6、 用户类型 用户密码密码 用户 销售金额 m 购置 销售数量 购置日期 商品类别 供货日期 供货数量 n 供货 商品编号 商品 n 商品名称 供货编号 m 仓库 仓库编号 进货单价 库存 n 最小库存 v 售货单价 库存量 上架数量 商品状态 图3.2 E-R图 系统ER图说明 1) 商店中全部用户能够销售多个商品,每种商品可由不一样用户销售; 2) 每个用户能够购置多个商品,不一样商品可由不一样用户购置; 3) 每个供货商能够供给多个不一样商品,
7、每种商品可由多个供给商供给。 3:逻辑结构设计 3.1系统数据库表结构 商品信息表 字段代码 字段类型 长度 字段值约束 主键 商品编号 char 10 Not null 主 商品名称 Varchar 50 Not null 条形码 Varchar 50 Not null 单价 Money Not null 用户表(User) 字段代码 字段类型 长度 字段值约束 主键 用户编号 varchar 10 Not null 主 用户名称 Varchar 25 Not nu
8、ll 用户密码 Varchar 50 Not null 用户类型 Int Not null 购置表 字段代码 字段类型 长度 字段值约束 主键 流水账号 char 10 Not null 商品编号 char 10 Not null 主 购置日期 Datetime Not null 销售数量 Int 4 Not null 销售金额 Money Not null 用户编号 Varchar 10 Not null 主 供货表(Sup
9、port) 字段代码 字段类型 长度 字段值约束 主/键 供货日期 Varchar 10 Not null 供货数量 varchar 50 Not null 供货编号 varchar 10 Not null 主 商品编号 char 10 Not null 主 供货商号 datetime Not null 供货商表(Provide) 字段代码 字段类型 长度 字段值约束 主键 供货商号 varchar 10 Not null 主 供货商名称 Varchar
10、 50 Not null 供货商地址 Varchar 250 Not null 供货商电话 Varchar 25 Not null 仓库表(Provide) 字段代码 字段类型 长度 字段值约束 主键 仓库编号 varchar 10 Not null 主 仓库名称 Varchar 10 Not null 仓库地址 Varchar 10 库存表 字段代码 字段类型 长度 字段值约束 主键 库存量 varchar 10 Not null 商品编号 char 10
11、 Not null 主 仓库编号 varchar 10 Not null 主 4:数据库系统实现 4.1 建库 create database SuperMarketdb use SuperMarketdb 4.2建表 ①创建商品信息表 CREATE TABLE 商品信息表( 商品编号 char(10) , 商品名称 varchar(50) NOT NULL , 单价 money NOT NULL , 条形码 char (20) Unique NOT NULL , PRIMARY KE
12、Y(商品编号)) ②创建供给商表 CREATE TABLE 供货商表 ( 供货商号 varchar (10) , 供货商名称 varchar(50) NOT NULL , 供货商地址 varchar(250) NULL , 供货商电话 varchar(25) NULL, PRIMARY KEY(供货商号)) ③创建供货表 CREATE TABLE 供货表 ( 供货商号 varchar(10) not null, 商品编号 char(10) NOT NULL , 供货编号 varchar(10) NULL
13、 , 供货数量 varchar(50) null, 供货时间 datetime null, PRIMARY KEY(供货商号,商品编号), FOREIGN KEY (供货商号) REFERENCES 供货商表(供货商号), FOREIGN KEY (商品编号) REFERENCES 商品信息表(商品编号)) ④创建用户表 CREATE TABLE 用户表 ( 用户编号 varchar(10) , 用户名称 varchar(25) NULL , 用户密码 varchar(50) NOT NULL , 用户类型 int
14、 NULL , PRIMARY KEY(用户编号)) ⑤创建购置表 CREATE TABLE 购置表( 流水账号 char(10) not null , 商品编号 char(10) NOT NULL , 购置日期 datetime NOT NULL , 销售数量 int NOT NULL, 销售金额 money NOT NULL, 用户编号 varchar (10) not null, PRIMARY KEY(商品编号,用户编号), FOREIGN KEY (用户编号) REFERENCES 用户表(用户编号)
15、 FOREIGN KEY (商品编号) REFERENCES 商品信息表(商品编号)); ⑥创建仓库表 CREATE TABLE 仓库表( 仓库编号 varchar(10) not NULL, 仓库名称 varchar(10)NULL, 仓库地址 varchar(10)NULL, PRIMARY KEY(仓库编号)) ⑦创建库存表 CREATE TABLE 库存表( 库存量 varchar(10)NULL, 商品编号 char(10)not NULL, 仓库编号 varchar(10)not NULL, PRIMARY KEY(仓库编号,商品编号),
16、 FOREIGN KEY (仓库编号) REFERENCES 仓库表(仓库编号), FOREIGN KEY (商品编号) REFERENCES 商品信息表(商品编号)) 4.3 表信息插入 ①商品信息表插入语句 insert into 商品信息表 (商品编号,商品名称,单价,条形码) values ('001', '铅笔', '2', '1011122'); insert into商品信息表 (商品编号,商品名称,单价,条形码) values ('002', '直尺', '1', '1011123'); insert
17、into 商品信息表 (商品编号,商品名称,单价,条形码) values ('003', '橡皮', '1', '1011124') insert into 商品信息表 (商品编号,商品名称,单价,条形码) values ('004', '圆规', '4', '1011125') ②供货商表插入语句 insert into 供货商表 (供货商号,供货商名称,供货商地址,供货商电话) values ('001', '光电', '羊城路', '', '18274634' ) insert into 供货商表 (供货商号,供货
18、商名称,供货商地址,供货商电话) values ('002', '生产', '学府路', '', '12874785' ) insert into 供货商表 (供货商号,供货商名称,供货商地址,供货商电话) values ('003', '真诚', '赣东大道, '', '13873478' ) ③供货表插入语句 insert into 供货表 (供货商号,商品编号,供货编号,供货数量,供货时间) values ('002', '003', '1013', '678 ','-2-1 19:00:00') insert into
19、 供货表 (供货商号,商品编号,供货编号,供货数量,供货时间) values ('003', '002', '1011 ', '100', ', -2-5 12:00:00') insert into 供货表 (供货商号,商品编号,供货编号,供货数量,供货时间) values ('001', '004', '1012 ', '1000', ' -2-1 19:00:00') ④用户表插入语句 insert into 用户表 (用户编号,用户名称,用户密码,用户类型) values ('089', '章牟', '123' ) i
20、nsert into 用户表 (用户编号,用户名称,用户密码,用户类型) values ('099', '李丽', '456' ) insert into 用户表 (用户编号,用户名称,用户密码,用户类型) values ('010', '张章', '789' ) ⑤购置表插入语句 insert into 购置表 (流水账号,商品编号,购置日期,销售数量,销售金额,用户编号) values ('1111125', '001', '-3-6 ','100', '200 ', '089 ') insert into 购置表 (流水
21、账号,商品编号,购置日期,销售数量,销售金额,用户编号) values ('1111128', '003', '-1-2 ','14', '14 ', '099 ') insert into 购置表 (流水账号,商品编号,购置日期,销售数量,销售金额,用户编号) values ('1111166', '004', '-3-8','70', '280 ', '010') ⑥仓库表插入语句、 insert into 仓库表 (仓库编号,仓库名称,仓库地址,) values ('', '一号仓库', '羊城路') insert into 仓库
22、表 (仓库编号,仓库名称,仓库地址,) values ('', '二号仓库', '学府路') insert into 仓库表 (仓库编号,仓库名称,仓库地址,) values ('', '三号仓库', '赣东大道') ⑦库存表插入语句 insert into 库存表 (库存量,商品编号,仓库编号) values ('', '002', '') insert into 库存表 (库存量,商品编号,仓库编号) values ('5999', '001', '') insert into 库存表 (库存量,商品编号,仓库编号
23、) values ('2888', '004', '') 4.4 创 建 视 图 ①创建销售情况视图 create view 销售情况 as SELECT 商品名称,条形码, 单价, 销售数量, 销售金额,购置日期 from 商品信息表,购置表 where 商品信息表.商品编号=购置表.商品编号 ②查询销售情况视图 select * from 销售情况 ③创建供货情况视图 create view 供货情况 as SELECT 商品名称,单价, 供货数量,供货时间 from 商品信息表,供货表 where
24、 商品信息表.商品编号=供货表.商品编号 ④查询供货情况视图 select * from 供货情况 4.5创 建 索 引 create index 商品123 on 商品信息表 (商品编号) create index 数量12345 on 购置表(销售数量) 4:试验总结 经过此次数据库课程设计,真正达成了学和用结合,增强了对数据库方面应用了解,对自己以后参与开发数据库系统积累了不少经验,在试验过程中,从建立数据开始,对数据库设计理念及思想上有更高认识,从需求分析,到概念设计和逻辑设计,E-R图表示,数据字典创建,知道了不少相关数据库开发过程中知识,在试验中建表,及其关系模式,关系代数建立及了解,将SQL语言查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言灵活性,其中包含,插入、删除、修改、查询,牵涉表和表之间联络,主键和外主键定义,约束项设置,使逻辑更严密。 在学习过程中,我也上网查了不少资料,也看了部分她人设计小型超市信息系统设计汇报,学以致用,自我创新,独立完成了这份自己汇报,从中从学到用,从用又到学,不停修改,系统更新。即使不能达成完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限,我以后还会在这个领域不停进行探索,掌握更多知识。






