书店进货销售管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
数据库原理及应用课程设计
设计报告
题目:书店进货、销售管理系统学号:
学生姓名:
指导教师:
提交时间:2015-1-5
专业资料Word
.
目录
第1章需求分析 (3)
1.1 需求调查 (3)
1.2 系统功能分析 (4)
第2章面向对象分析和设计 (5)
第3章逻辑结构设
计 (7)
3.1 类和对象向关系模式转换 (10)
第4章数据库物理结构设计 ....................................
10
4.1 存取方法设计 .....................................................
10
4.2 存储结构设计 ...................................................
10
4.3 物理设计 ...........................................................
11
第5章数据库完整性设计 ........................................
13
5.1 主键及唯一性索引 .............................................
13
5.2 参照完整性设计 .................................................
14
5.3触发器设计 ..........................................................
14
第6章数据库视图设
计 (17)
第7章数据库存储过程设计 ......................................
18
总
结 ..................................................................................
18
参考文献: ......................................................................
19
专业资料Word
.
需求分析1第章需求调查1.1
通过对各个用户的调查,该书店进货、销售管理系统有如下需求:
1)
2)
3)
4)
5)
6)
7)销售设置销售单及其明细两个表);
8)建立数据库相关表之间的参照完整性约束。
服务器配置:对它进行配置可以使得在其他电脑上也照常使用。
这样不必每次都到数据库中去更改。
9)帮助系统:帮助系统为用户指明方向。
专业资料Word
.
系统功能分析1.2
进货管理模块:书店的图书一直在更新,当货源不足、新书上映时都需要进货。
1.进货管理模块主要实现查询图书数量,当数量不足时进行图书订购,进货后进行图书入库操作,将图书数量进行更新。
.图书类别管理模块:书店的管理对如此多的图书管理起来会很麻烦,进行2图书进行分类管理会更方便、快捷。
管理员可以查看、添加、修改、删除类别。
3.销售管理模块:书店的收入都是来自图书销售,因此对图书销售管理是必不可少的。
管理员可以进行查看销售图书的数量、名称、价格、日期;添加订单。
高级管理员还可以修改。
4.库存管理模块:当图书数量不足时会影响到书店的信誉,数量过多时又会影响书店正常运营。
对书店库存管理也是重中之重。
管理员可以通过库存管理查询图书剩余数量。
专业资料Word
.
1.3面对用户需求分析
在书店进货、销售管理系统中,最主要的功能就是对图书进货、销售、库存的管理以及查询功能。
因此,可以将书店进货、销售管理系统分为进货、销售、库存三个子系统。
而在所设计的书店进货、销售管理系统中,主要有两类类用户,即图书管理员、书店管理员。
各类用户在该系统中的需求不同,权限也不同。
因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为图书管理系统,书店管理系统。
同样,将查询系统也按用户职能进行细分,即图书查询系统,书店查询系统。
这样细分后,看似把系统需求繁杂化了。
其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。
第2章面向对象分析和设计类和对象设计如下:
专业资料Word
.
进货订单
库存int 订单号:()
() 修改int 订单号:() 选课int 图书号:供应商int 图书价格:供应商名称:char int 图书数量:供应图书号:int char 销售日期:图书价格: int () 添加添加() () 修改删除() () 删除查询() ()
修改()
修改专业资料Word
.
图书信息表
int 图书号:
()()添加
()
修改
2
图
逻辑结构设计章第3图局部E-R
图书类别类别名称类别编号专业资料Word
.
作者数量
图书数量进货日期进货订单图书价格订单号图书号
供书商供应商名称图书价格供应图书号
图书数量销售日期销售订单图书价格订单号图书号
专业资料Word
.
进货价格销售日期图书数量
3
图
图:全局E-R
nn供应购买量管理员m数量订单n填写1供书商
4
图
专业资料Word
.
3.1 类和对象向关系模式转换
图书(图书号,图书名,作者,价格,类别号,数量,出版社)图书类别(类别名,类别号)
供应商(供应商名称,供应图书号,图书价格)
进货订单(订单号,图书号,图书数量,进货价格,进货日期)
销售订单(订单号,图书号,图书数量,销售价格,销售日期)
库存(图书号,图书数量,进货价格,进货日期,销售价格,销售日期,销售数量,进货数量)
第4章数据库物理结构设计
4.1存取方法设计
数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。
对于系统来说,为了提高某些属性的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。
这样会大大提高查询速度。
因此,该系统中选择聚簇存取方法。
4.2 存储结构设计
书店进货、销售管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设。
数据库管理系统采用Microsoft 公司推出的SQL Server 2008 或以上版本,并用SQL 进行数据库的建立和数据库中数据的维护和查询。
专业资料Word
.
4.3 物理设计
实现该设计的环境为Windows XP Professional + MS SQL Server 2008 或以上版本。
1、建立书店进货销售数据库
create database 书店进货销售
2、建立图书信息表
use 书店进货销售
create table 图书信息表(
图书号int primary key,
图书名char(20),
作者char(20),
价格int,
类别号int,
数量int,
出版社char(20),
备注text,);
3、建立图书类别表
create table 图书类别(
类别号int primary key,
类别名char(16),
);
create table 进货订单(
专业资料Word
.
订单号int primary key, 图书号int,
图书数量int,
图书价格int,
进货日期char(10), 4、建立销售订单表create table 销售订单( 订单号int primary key, 图书号int,
图书数量int,
图书价格int,
销售日期char(10), );
5、建立库存表create table 库存(
图书号int primary key, 图书数量int,
进货价格int,
进货日期char(10),
进货数量int,
销售价格int,
销售日期char(10),
专业资料Word
.
销售数量int, );6、建立供应商表create table 供应商(
供应商名称char(20) ,
供应图书号int,
图书价格int,
Primary key(供应商名称,供应图书号) );第5章数据库完整性设计5.1 主键及唯一性索引
专业资料Word
.
5
图参照完整性设计5.2
、图书信息表中将类别号设计为图书类别的外键1)
(类别号图书类别foreign key (类别号) references alter table 图书信息表2、进货订单表中将属性图书号为图书信息表的外键)
(图书号foreign key (图书号) references 图书信息表3、销售订单表中将属性图书号为图书信息表的外键)
图书号) references 图书信息表(foreign key (图书号触发器设计5.3入库5.3.1入库Create Trigger On 进货订单
FOR Insert
As
declare @n int
from inserted 图书号Select @n=
declare @num int
From inserted 图书数量Select @num=专业资料Word
.
Update 图书信息表
set 数量=数量+@num
Where 图书号=@n
Create Trigger 入库1
On 进货订单
FOR Insert
As begin
update 库存
set 库存.图书数量-=销售订单.图书数量
from 库存,销售订单
where 库存.图书号=销售订单.图书号; End;
5.3.2出库
Create Trigger 出库
On 销售订单
FOR Insert
As begin
update 库存
set 库存.图书数量-=销售订单.图书数量
from 库存,销售订单
where 库存.图书号=销售订单.图书号;
end;
专业资料Word
.
Create Trigger 出库1
On 销售订单
FOR Insert
As begin
update 图书信息表
set 库存.图书数量-=销售订单.图书数量
from 图书信息表,销售订单
where 图书信息表.图书号=销售订单.图书号;
end;
5.4存储过程查询某段时间内各种图书的进货和销售情况ALTER procedure 图书进货销售情况
as begin
SELECT 进货订单.订单号,进货订单.图书数量,进货日期,销售订单.订单号,销售订单.图书数量,销售日期
from 进货订单,销售订单
where 销售日期>= '2014-1-1' and 销售日期<= '2014-12-31'
and
进货日期>= '2014-1-1' and 进货日期<= '2014-12-31'
end;
专业资料Word
.
第6章数据库视图设计
1、建立查询各个类别类别总数的视图
Create view 图书库存
SELECT SUM(数量) AS 总数, 类别号
FROM dbo.图书信息表
GROUP BY 类别号
2、供应商对比
Create view 图书库存
Select s1.供应商名称、s1.供应图书号、s1.图书价格
Form 供应商s1,供应商s2
供应图书号;=s2.Where s1.供应图书号3、建立销售订单应付总金额create view 应付金额1
as
select 图书数量*图书价格总数, 订单号
from 销售订单;
4、建立书店总销售create view 应付金额
as
select sum(图书数量*图书价格) 总数
from 销售订单;
专业资料Word
.
第7章数据库存储过程设计
1、存储过程查询某段时间内各种图书的进货和销售情况
ALTER procedure 图书进货销售情况
as begin
SELECT 进货订单.订单号,进货订单.图书数量,进货日期,销售订单.订单号,销售订单.图书数量,销售日期
from 进货订单,销售订单
where 销售日期>= '2014-1-1' and 销售日期<= '2014-12-31'
and
进货日期>= '2014-1-1' and 进货日期<= '2014-12-31'
end;
总结
通过这次数据库课程设计,我深刻的体会到作为DBA要考虑到方方面面的问题。
刚开始我根本不知道从哪下手,本来打算直接用powerdesigner直接做出来但是由于结构不太清晰,又参考了网上的系统,分析好了要建哪些表,从SQL 中慢慢建表。
刚开始用英文定义的,可是由于没有连续的时间,英文易混。
反反复复的建了好几次表,最后用中文定义的。
也从刚开始的直接建表变为了后来的代码建表。
专业资料Word
.
后来的E_R图是用visio完成的,数据是由随机生成数据工具生成的。
视图建立过程中,除了规定的查询各类图书的库存总数,又建立了供应商对比(根据图书号查询不同供应商的价格差)、应付金额(书店进货应付的总金额)、应付金额1(每个订单号应付的金额,即顾客应付的金额)。
触发器设计中建立了销售、进货修改图书信息表与库存图书数量。
建立了存储过程查询某段时间内各种图书的进货和销售情况。
参考文献:
1.王珊,萨师煊 .数据库系统概论[M]. 高等教育出版社,2005
2.郑阿奇等. SQLserver实用教程(第3版)[M] . 电子工业出版
社,2009
3.赵乃真等. 信息系统设计与应用. 清华大学出版社,2005
专业资料Word选题及选题合理功能简(D)
.
能设有一定的工作量和实用价(C)
(B)功能设计丰富,有一定的难度系
功能设计合理全面,能体现数据库的存储和整理数(A)的功
数据表具备基本的数据表,数据量较少,但能够实现系统数据(D)本需
具备基本的数据表,数据量适中,实现了一定的数
(C)完整
有多个数据表,数据量适中,有完善的数据完整(B)
有多个数据表,数据量充足,具有较强的数据安全
(A)
和数据完整
数据库具备基本的数据表有主外键约(D)
创建了若干种的数据库对象并加以利(C)
(B)在实际应用中合理利用了各类数据库对
具有身份验证数据备份等较复杂的数据管理功(A)
(D)功能实利用存储过程实现了各种查询功
(C)除查询功能,还实现了各种数据操作功
(B)在上一条基础上,还实现了数据统计汇总功
触发器实现各种数据查询存储过程合理利用函数
(A)操作、管理功
设计报结构较完完成设计报告阐述了系统功能(D)
专业资Wor开题报告反映设计思路,结构完整,格式较规(C) 报告内容完整,图表使用准确,格式清晰,功能描述.
.
专业资料Word。