图书销售设计报告
书店销售设计报告
摘 要
随着现代科学技术的进步,人类社会正逐走向信息化。书店拥有丰富的文献信息资源,是社会信息系统的重要组成部分,在信息社会中的作用愈来愈重要。随着改革开放的步伐得以迅速发展,我国书店的信息网络建设取得了较大发展,书店信息化建设迈上了一个新台阶。书店希望借助一个销售管理系统实现对现有业务的管理。读书可以明智,正是因为有书的存在,人类才有长足的发展。书店的存在为人们提供了知识信息的给养站。它以各种各样的方式存在,以前人们都是通过手工记录的方式来登记图书的销售和查找,这样的方式
容易出错且效率低下。书店希望借助一个销售管理系统实现对现有业务的管理。所以有必要来开发书店管理系统来提高书店管理工作的效率。
一 需求分析
需求分析是对系统的整个应用情况作全面的、详细的调查,确定书店的各种经营模式,收集支持系统总的设计目标的基础数据和对数据的要求,确定用户的需求。
通过对书店销售与管理的调查,详细了解、分析了现如今书店销售管理系统的现状,归纳并总结出了书店管理员以及销售员的各项需求,明确了系统的大概功能。其功能主要如下几个方面:
图书入库管理:当一批新书进货到来时,管理员需要将这些图书的信息(如图书编号、书名、作者、价格、图书类别、出版社等)输入管理系统中去方便今后的管理;
图书查询统计:通过图书的管理的信息,可以图书类别、出版社、作者、书名统计查询出图书的详细信息,并生成表。
销售管理:销售员每天把销售掉的图书都记录在销售列表中,方便统计收入,还可以实时的记录出图书的库存,按照每天统计销售额,按每个月或每个季度统计销售额并生成报表,还能根据销售的数量统计生成畅销书名单;可以通过这个销售列表不定期的退出促销活动。
书店会员管理:顾客可以自动申请成为会员,购买书籍达到一定金额后,可凭借发票可填表申请成为正式会员;管理员可以对会员进行管理、维护会员信息、设置会员等级,不同级别的会员还能享受不同的折扣。 系统管理:包括参数设置、权限设置、更改密码等。用户包括系统管理员和销售人员。系统管理员负责维护整个系统的数据。
二 概念结构设计
1、各实体的局部E-R 图
图书E-R 图
顾客E-R 图
管理员E-R 图
销售人员E-R 图
2、全局E-R 图
其中的实体有图书、管理员、销售人员、顾客、会员(顾客中的特殊群体) 管理员与书之间是管理的关系,一个管理员管理很多本书,但是有很多个管理员;书与销售人员是销售的关系,一个销售员销售很多本书,有很多个销售人员;销售人员与顾客之间是买卖关系,不同的销售人员与很多个顾客有买卖关系;顾客与书之间是购买关系,一个顾客可以买很多本书,一本书也可以被很多顾客购买。
三 逻辑结构设计
1、
每个实体的关系模式
图书关系模式(图书编号,书名,价格,作者,出版社,图书类别) 管理员关系模式(管理员编号,姓名,性别,登录密码) 销售人员关系模式(销售人员编号,姓名,性别,登录密码)
顾客关系模式(顾客号,姓名,性别,是否会员,会员号,会员级别) 2、
实体集之间的关系进行转换,得到关系模式
会员关系模式(会员号,姓名,性别,会员级别) 管理关系模式(管理员编号,图书编号,时间)
销售关系模式(图书编号,销售人员编号,日销售量,月销售量,季度销售量) 买卖关系模式(顾客号,销售人员编号,日期) 购买关系模式(顾客号,图书编号,数量,时间)
四 创建数据库和数据表
1、
利用图形化创建数据库bookshop ,截图如下;
2、 创建book (图书信息)表,并向该表插入数据,sql 语句如下:
INSERT INTO bookshop.book VALUE('110','mysql','张三',52.5,' 高等教育出版社',' 计算机');
INSERT INTO bookshop.book VALUE('111','c语言',' 李四',68.6,' 电子工业出版社',' 计算机');
INSERT INTO bookshop.book VALUE('113','数据结构',' 王五',56.4,' 人民邮电出版社',' 计算机') ;
INSERT INTO bookshop.book VALUE('114','路由交换技术',' 赵六',35.6,' 电子工业出版社',' 计算机') ;
INSERT INTO bookshop.book VALUE('115','自动化',' 陈七',25.4,' 清华大学出版社',' 工业');
INSERT INTO bookshop.book VALUE('116','会计',' 吴八',24.6,' 人民邮电出版社',' 金融') ;
INSERT INTO bookshop.book VALUE('117','高等素质教育',' 岳九',22.8,' 人民邮电出版社',' 教育') ;
3、 创建saleperson (销售人员信息)表,并向该表插入数据,sql 语句如下:
INSERT INTO bookshop. saleperson VALUE('231','嬴政',' 男','3245'); INSERT INTO bookshop. saleperson VALUE('232','刘邦',' 男','2356'); INSERT INTO bookshop. saleperson VALUE('233','武则天',' 女','6343'); INSERT INTO bookshop. saleperson VALUE('234','赵飞燕',' 女','4326'); INSERT INTO bookshop. saleperson VALUE('235','李世民',' 男','2425'); 4、 创建administrator (管理员信息)表,并向该表插入数据,sql 语句如下:
INSERT INTO bookshop. administrator VALUE('435','曹操',' 男','7476'); INSERT INTO bookshop. administrator VALUE('436','刘备',' 男','7457'); INSERT INTO bookshop. administrator VALUE('437','孙权',' 男','9054'); INSERT INTO bookshop. administrator VALUE('438','貂蝉',' 女','4968'); INSERT INTO bookshop. administrator VALUE('439','小乔',' 女','6462');
5、 创建member (会员信息)表,并向该表插入数据,sql 语句如下:
INSERT INTO bookshop. member VALUE('537','秦叔宝',' 男',' 普通顾客','1340620230');
INSERT INTO bookshop. member VALUE('538','陈咬金',' 男',' 会员','1340620235');
INSERT INTO bookshop. member VALUE('539','尉迟恭',' 男',' 普通顾客',' 1340620268');
INSERT INTO bookshop. member VALUE('540','罗成',' 男',' 会员','1340620254');
INSERT INTO bookshop. member VALUE('541','单雄信',' 男',' 会员','1340620287');
6、 创建bring (入库图书信息)表,并向该表插入数据,sql 语句如下:
INSERT INTO bookshop.bring VALUE('110','SQL sever','张三',52.5,' 高等教育出版社',' 计算机');
INSERT INTO bookshop.bring VALUE('111','c语言',' 李四',68.6,' 电子工业出版社',' 计算机');
INSERT INTO bookshop.bring VALUE('114','路由交换技术',' 赵六',35.6,' 电子工业出版社',' 计算机') ;
INSERT INTO bookshop.bring VALUE('116','会计',' 吴八',24.6,' 人民邮电出版社',' 金融') ;
INSERT INTO bookshop.bring VALUE('117','高等素质教育',' 岳九',22.8,' 人民邮电出版社',' 教育') ;
7、 创建out (售出图书信息)表,并向该表插入数据,sql 语句如下:
INSERT INTO bookshop.book VALUE('110','mysql','张三',52.5,' 高等教育出版社',' 计算机');
INSERT INTO bookshop.book VALUE('113','数据结构',' 王五',56.4,' 人民邮电出版社',' 计算机') ;
INSERT INTO bookshop.book VALUE('115','自动化',' 陈七',25.4,' 清华大学出版社',' 工业');
INSERT INTO bookshop.book VALUE('116','会计',' 吴八',24.6,' 人民邮电出版社',' 金融') ;
INSERT INTO bookshop.book VALUE('117','高等素质教育',' 岳九',22.8,' 人民邮电出版社',' 教育') ;
五 查询
1、利用sql 语句完成book 表的查询
2、查询语句 SELECT * FROM book截图如下:
修改表:
Sql 语句:
UPDATE book set BPrice=71 WHERE BNo=112
截图:
六 、视图
利用sql 语句创建一个视图,完成查看各个书的价格(视图的功能) 1、
as
SELECT BNo,BPrice
FROM book
GROUP BY BNo
2、截图如下:
视图创建语句如下:CREATE VIEW xxx
七、触发器
利用sql 语句创建一个触发器,能够在插入价格的情况下触发该触发器,是输入的价格为负数的时候变为零。
创建触发器的sql 语句如下:
CREATE TRIGGER tri_vv
BEFORE INSERT
on book for each ROW
If new.BPrice
set new.BPrice=0;
end if;
触发器触发前的状态截图如下:
触发器触发后:
八、储存过程
创建一个存储过程,该存储过程可以完成查所有书的价格的功能 创建存储过程的语句如下
CREATE PROCEDURE proce_dr()
COMMENT' 查询所有书的价格'
BEGIN
SELECT BNo,BPrice
FROM book;
end;
运行前截图:
运行后截图
:
九、事物
开始一个事务,完成回滚的功能
事务语句如下:start TRANSACTION;
DELETE FROM book WHERE BNo=112;
ROLLBACK;
COMMIT;
SELECT * FROM book
事务执行前的数据表查询结果截图如下:
回滚后截图:
十 总结
通过学习mysql 这门课程,自己也能从中收获很多知识。有时候少敲一个字母或者多敲一条语句,足以让你心里崩溃,但是当结果完整的呈现在你的桌面时,心里又多了一份喜悦。上课很认真的听,但是下课没有练习,还是没有掌握。完成作业途中遇到了很多困难,比如触发器 ,回滚问题,事物问题。看了很多遍书还是不能理解,又到网上去寻找这些例子的解决办法。然后又在电脑反复的敲打语句,慢慢的理解这些语句的含义。当然在学习的过程中,不能有懒惰思想,否则将学成半知半解。