销售管理系统SQL课程设计.docx
《销售管理系统SQL课程设计.docx》由会员分享,可在线阅读,更多相关《销售管理系统SQL课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
![销售管理系统SQL课程设计.docx](https://file1.bdocx.com/fileroot1/2022-10/9/dc8c32de-905d-44b4-ac3e-1da6497dab4c/dc8c32de-905d-44b4-ac3e-1da6497dab4c1.gif)
销售管理系统SQL课程设计
《数据库课程设计》报告
销售管理系统
学生姓名:
肖芳忠
学生班级:
10410111
学生学号:
1041011137
指导教师:
刘爱华
2011年 6 月 13日
设计目的
数据库系统原理课程设计是数据库系统原理实践环节的极为重要的一部分。
1、培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER。
2、培养学生能够应用数据库系统原理在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型。
3、培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,以保证数据库系统的数据完整性,安全性,一致性。
4、数据库实施:
建立数据库结构(建库、建立个基本表、视图、索引)
将原始数据状图数据库(insert语句)。
课程设计内容
1:
需求分析
本系统必须具有以下功能:
(1)商品录入:
根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。
该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
(2)收银业务:
通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。
在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。
。
(5)进货管理:
根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。
按计划单有选择性地进行自动入库登记。
综合查询打印计划进货与入库记录及金额。
(6)销售管理:
商品正常销售、促销与限量、限期及禁止销售控制。
综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。
按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
(7)库存管理:
综合查询库存明细记录。
库存状态自动告警提示。
如库存过剩、少货、缺货等。
软件为您预警,避免库存商品积压损失和缺货。
库存自动盘点计算。
(8)人员管理:
员工、会员、供货商、厂商等基本信息登记管理。
员工操作权限管理。
客户销售权限管理
2:
概念结构设计
2.1确定实体之间的联系
mn
图1顾客与商品E-R图(多对多的关系)
图2:
商品与供货商E-R图(多对多的关系)
图3:
商品与仓库E-R图(多对多的关系)
2.2初步系统R-R图
m
n
n
m
n
v
图3.2E-R图
系统ER图说明
1)商店中的所有顾客可以销售多种商品,每种商品可由不同顾客销售;
2)每个顾客可以购买多种商品,不同商品可由不同顾客购买;
3)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
3:
逻辑结构设计
3.1系统数据库表结构
商品信息表
字段代码
字段类型
长度
字段值约束
主键
商品编号
char
10
Notnull
主
商品名称
Varchar
50
Notnull
条形码
Varchar
50
Notnull
单价
Money
Notnull
顾客表(User)
字段代码
字段类型
长度
字段值约束
主键
顾客编号
varchar
10
Notnull
主
顾客名称
Varchar
25
Notnull
顾客密码
Varchar
50
Notnull
顾客类型
Int
Notnull
购买表
字段代码
字段类型
长度
字段值约束
主键
流水账号
char
10
Notnull
商品编号
char
10
Notnull
主
购买日期
Datetime
Notnull
销售数量
Int
4
Notnull
销售金额
Money
Notnull
顾客编号
Varchar
10
Notnull
主
供货表(Support)
字段代码
字段类型
长度
字段值约束
主/键
供货日期
Varchar
10
Notnull
供货数量
varchar
50
Notnull
供货编号
varchar
10
Notnull
主
商品编号
char
10
Notnull
主
供货商号
datetime
Notnull
供货商表(Provide)
字段代码
字段类型
长度
字段值约束
主键
供货商号
varchar
10
Notnull
主
供货商名称
Varchar
50
Notnull
供货商地址
Varchar
250
Notnull
供货商电话
Varchar
25
Notnull
仓库表(Provide)
字段代码
字段类型
长度
字段值约束
主键
仓库编号
varchar
10
Notnull
主
仓库名称
Varchar
10
Notnull
仓库地址
Varchar
10
库存表
字段代码
字段类型
长度
字段值约束
主键
库存量
varchar
10
Notnull
商品编号
char
10
Notnull
主
仓库编号
varchar
10
Notnull
主
4:
数据库系统实现
4.1建库
createdatabaseSuperMarketdb
useSuperMarketdb
4.2建表
①创建商品信息表
CREATETABLE商品信息表(
商品编号char(10),
商品名称varchar(50)NOTNULL,
单价moneyNOTNULL,
条形码char(20)UniqueNOTNULL,
PRIMARYKEY(商品编号))
②创建供应商表
CREATETABLE供货商表(
供货商号varchar(10),
供货商名称varchar(50)NOTNULL,
供货商地址varchar(250)NULL,
供货商电话varchar(25)NULL,
PRIMARYKEY(供货商号))
③创建供货表
CREATETABLE供货表
(
供货商号varchar(10)notnull,
商品编号char(10)NOTNULL,
供货编号varchar(10)NULL,
供货数量varchar(50)null,
供货时间datetimenull,
PRIMARYKEY(供货商号,商品编号),
FOREIGNKEY(供货商号)REFERENCES供货商表(供货商号),
FOREIGNKEY(商品编号)REFERENCES商品信息表(商品编号))
④创建顾客表
CREATETABLE顾客表(
顾客编号varchar(10),
顾客名称varchar(25)NULL,
顾客密码varchar(50)NOTNULL,
顾客类型intNULL,
PRIMARYKEY(顾客编号))
⑤创建购买表
CREATETABLE购买表(
流水账号char(10)notnull,
商品编号char(10)NOTNULL,
购买日期datetimeNOTNULL,
销售数量intNOTNULL,
销售金额moneyNOTNULL,
顾客编号varchar(10)notnull,
PRIMARYKEY(商品编号,顾客编号),
FOREIGNKEY(顾客编号)REFERENCES顾客表(顾客编号),
FOREIGNKEY(商品编号)REFERENCES商品信息表(商品编号));
⑥创建仓库表
CREATETABLE仓库表(
仓库编号varchar(10)notNULL,
仓库名称varchar(10)NULL,
仓库地址varchar(10)NULL,
PRIMARYKEY(仓库编号))
⑦创建库存表
CREATETABLE库存表(
库存量varchar(10)NULL,
商品编号char(10)notNULL,
仓库编号varchar(10)notNULL,
PRIMARYKEY(仓库编号,商品编号),
FOREIGNKEY(仓库编号)REFERENCES仓库表(仓库编号),
FOREIGNKEY(商品编号)REFERENCES商品信息表(商品编号))
4.3表信息插入
①商品信息表插入语句
insertinto商品信息表
(商品编号,商品名称,单价,条形码)
values
('001','铅笔','2','1011122');
insertinto商品信息表
(商品编号,商品名称,单价,条形码)
values
('002','直尺','1','1011123');
insertinto商品信息表
(商品编号,商品名称,单价,条形码)
values
('003','橡皮','1','1011124')
insertinto商品信息表
(商品编号,商品名称,单价,条形码)
values
('004','圆规','4','1011125')
②供货商表插入语句
insertinto供货商表
(供货商号,供货商名称,供货商地址,供货商电话)
values
('001','光电有限公司','羊城路','','18274634')
insertinto供货商表
(供货商号,供货商名称,供货商地址,供货商电话)
values
('002','生产有限公司','学府路','','12874785')
insertinto供货商表
(供货商号,供货商名称,供货商地址,供货商电话)
values
('003','真诚有限公司','赣东大道,'','13873478')
③供货表插入语句
insertinto供货表
(供货商号,商品编号,供货编号,供货数量,供货时间)
values
('002','003','1013','678','2010-2-119:
00:
00')
insertinto供货表
(供货商号,商品编号,供货编号,供货数量,供货时间)
values
('003','002','1011','100',',