《销售管理系统-SQL课程设计.doc》由会员分享,可在线阅读,更多相关《销售管理系统-SQL课程设计.doc(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date销售管理系统-SQL课程设计销售管理系统-SQL课程设计数据库课程设计报告 销售管理系统学生姓名: 肖 芳 忠学生班级: 1 0 4 1 0 1 1 1学生学号: 1 0 4 1 0 1 1 1 3 7 指导教师: 刘 爱 华 2011年6月13日设计目的数据库系统原理课程设计是数据库系统原理实践环节的极为重要的一部分。1、 培养学生能够应用数据库系统原理在需求分析的
2、基础上对系统进行概念设计,学会设计局部ER,全局ER。2、 培养学生能够应用数据库系统原理在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型。3、 培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,以保证数据库系统的数据完整性,安全性,一致性。4、 数据库实施: 建立数据库结构(建库、建立个基本表、视图、索引) 将原始数据状图数据库(insert语句)。课程设计内容1:需求分析本系统必须具有以下功能:(1) 商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫
3、描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。(5)进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。(6)销售管理: 商品正常销售、促销与限量、限期及禁止销
4、售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(7)库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。(8)人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理2:概念结构设计2.1确定实体之间的联系 商品编号号顾客姓名顾客编号条形码顾客类型商品名称顾客密码密码商 品购买顾客mn单 价购买数量流水账号购买日期销售金额 图1 顾客与商品E-R图(多对多的关系)供货商
5、名称供货商地址单 价商品名称供货商电话商品编号百年好条形码商 品供货供货商供货商号供货日期供货数量供货编号nm 图2:商品与供货商E-R图(多对多的关系)库存量商品名称商品编号商 品单 价条形码库 存仓 库仓库编号仓库名称仓库地址mn 图3:商品与仓库E-R图(多对多的关系)2.2 初步系统R-R 图顾客类型顾客姓名顾客编号顾客密码密码顾客销售金额m供货商号流水账号购买销售数量购买日期条形码供货日期供货数量供货商名称n供货商供货供货商地址商品编号商品nm商品名称供货编号仓库编号m仓库名称仓库供货商电话库存单价nv库存量仓库地址图3.2 E-R图系统ER图说明1) 商店中的所有顾客可以销售多种商
6、品,每种商品可由不同顾客销售;2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。3:逻辑结构设计31系统数据库表结构商品信息表字段代码字段类型长度字段值约束主键商品编号char10Not null 主商品名称Varchar50Not null条形码Varchar50Not null单价MoneyNot null顾客表(User)字段代码字段类型长度字段值约束主键顾客编号varchar10Not null 主顾客名称Varchar25Not null顾客密码Varchar50Not null顾客类型IntNot null购
7、买表字段代码字段类型长度字段值约束主键流水账号char10Not null 商品编号char10Not null 主购买日期DatetimeNot null销售数量Int4Not null销售金额MoneyNot null顾客编号Varchar10Not null 主供货表(Support)字段代码字段类型长度字段值约束主/键供货日期Varchar10Not null 供货数量varchar50Not null供货编号varchar10Not null 主商品编号char10Not null 主供货商号datetimeNot null供货商表(Provide)字段代码字段类型长度字段值约束主键
8、供货商号varchar10Not null 主供货商名称Varchar50Not null供货商地址Varchar250Not null供货商电话Varchar25Not null仓库表(Provide)字段代码字段类型长度字段值约束主键仓库编号varchar10Not null 主仓库名称Varchar10Not null仓库地址Varchar10库存表字段代码字段类型长度字段值约束主键库存量varchar10Not null商品编号char10Not null 主仓库编号varchar10Not null 主4:数据库系统实现4.1 建库create database SuperMarke
9、tdbuse SuperMarketdb4.2建表创建商品信息表CREATE TABLE 商品信息表(商品编号 char(10) ,商品名称 varchar(50) NOT NULL ,单价 money NOT NULL , 条形码 char (20) Unique NOT NULL , PRIMARY KEY(商品编号) 创建供应商表CREATE TABLE 供货商表 (供货商号 varchar (10) ,供货商名称 varchar(50) NOT NULL , 供货商地址 varchar(250) NULL ,供货商电话 varchar(25) NULL, PRIMARY KEY(供货商
10、号) 创建供货表CREATE TABLE 供货表 (供货商号 varchar(10) not null,商品编号 char(10) NOT NULL ,供货编号 varchar(10) NULL ,供货数量 varchar(50) null, 供货时间 datetime null, PRIMARY KEY(供货商号,商品编号), FOREIGN KEY (供货商号) REFERENCES 供货商表(供货商号), FOREIGN KEY (商品编号) REFERENCES 商品信息表(商品编号)创建顾客表CREATE TABLE 顾客表 (顾客编号 varchar(10) ,顾客名称 varch
11、ar(25) NULL ,顾客密码 varchar(50) NOT NULL , 顾客类型 int 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 顾客表(顾客编号),
12、 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(仓库编号,商品编号),FOREIGN KEY (仓库编号) REFERENCES 仓库表(仓库编号
13、),FOREIGN KEY (商品编号) REFERENCES 商品信息表(商品编号)4.3 表信息插入商品信息表插入语句insert into 商品信息表(商品编号,商品名称,单价,条形码)values(001, 铅笔, 2, 1011122);insert into商品信息表(商品编号,商品名称,单价,条形码)values(002, 直尺, 1, 1011123);insert into 商品信息表(商品编号,商品名称,单价,条形码)values(003, 橡皮, 1, 1011124)insert into 商品信息表(商品编号,商品名称,单价,条形码)values(004, 圆规, 4
14、, 1011125)供货商表插入语句insert into 供货商表(供货商号,供货商名称,供货商地址,供货商电话)values(001, 光电有限公司, 羊城路, , 18274634 )insert into 供货商表(供货商号,供货商名称,供货商地址,供货商电话)values(002, 生产有限公司, 学府路, , 12874785 )insert into 供货商表(供货商号,供货商名称,供货商地址,供货商电话)values(003, 真诚有限公司, 赣东大道, , 13873478 )供货表插入语句insert into 供货表(供货商号,商品编号,供货编号,供货数量,供货时间)va
15、lues(002, 003, 1013, 678 ,2010-2-1 19:00:00)insert into 供货表(供货商号,商品编号,供货编号,供货数量,供货时间)values(003, 002, 1011 , 100, , 2011-2-5 12:00:00)insert into 供货表(供货商号,商品编号,供货编号,供货数量,供货时间)values(001, 004, 1012 , 1000, 2010-2-1 19:00:00)顾客表插入语句insert into 顾客表(顾客编号,顾客名称,顾客密码,顾客类型)values(089, 章牟, 123 )insert into 顾
16、客表(顾客编号,顾客名称,顾客密码,顾客类型)values(099, 李丽, 456 )insert into 顾客表(顾客编号,顾客名称,顾客密码,顾客类型)values(010, 张章, 789 )购买表插入语句insert into 购买表(流水账号,商品编号,购买日期,销售数量,销售金额,顾客编号)values(1111125, 001, 2011-3-6 ,100, 200 , 089 )insert into 购买表(流水账号,商品编号,购买日期,销售数量,销售金额,顾客编号)values(1111128, 003, 2011-1-2 ,14, 14 , 099 )insert i
17、nto 购买表(流水账号,商品编号,购买日期,销售数量,销售金额,顾客编号)values(1111166, 004, 2011-3-8,70, 280 , 010)仓库表插入语句、insert into 仓库表(仓库编号,仓库名称,仓库地址,)values(2009, 一号仓库, 羊城路)insert into 仓库表(仓库编号,仓库名称,仓库地址,)values(2010, 二号仓库, 学府路)insert into 仓库表(仓库编号,仓库名称,仓库地址,)values(2011, 三号仓库, 赣东大道)库存表插入语句insert into 库存表(库存量,商品编号,仓库编号)values(
18、2000, 002, 2009)insert into 库存表(库存量,商品编号,仓库编号)values(5999, 001, 2010)insert into 库存表(库存量,商品编号,仓库编号)values(2888, 004, 2011)4.4 创 建 视 图创建销售情况视图create view 销售情况asSELECT 商品名称,条形码, 单价, 销售数量, 销售金额,购买日期from 商品信息表,购买表where 商品信息表.商品编号=购买表.商品编号查询销售情况视图 select *from 销售情况创建供货情况视图create view 供货情况asSELECT 商品名称,单价
19、, 供货数量,供货时间from 商品信息表,供货表where 商品信息表.商品编号=供货表.商品编号 查询供货情况视图select *from 供货情况4.5创 建 索 引create index 商品123 on 商品信息表 (商品编号)create index 数量12345 on 购买表(销售数量)4:实验总结通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密。在学习过程中,我也上网查了不少资料,也看了一些别人设计的小型超市信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中从学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限的,我以后还会在这个领域不断的进行探索,掌握更多的知识。-
限制150内