书店进货销售管理系统.docx

上传人:b****5 文档编号:4381898 上传时间:2022-12-01 格式:DOCX 页数:16 大小:136.48KB
下载 相关 举报
书店进货销售管理系统.docx_第1页
第1页 / 共16页
书店进货销售管理系统.docx_第2页
第2页 / 共16页
书店进货销售管理系统.docx_第3页
第3页 / 共16页
书店进货销售管理系统.docx_第4页
第4页 / 共16页
书店进货销售管理系统.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

书店进货销售管理系统.docx

《书店进货销售管理系统.docx》由会员分享,可在线阅读,更多相关《书店进货销售管理系统.docx(16页珍藏版)》请在冰豆网上搜索。

书店进货销售管理系统.docx

书店进货销售管理系统

No.:

000000000000010108

数据库原理及应用课程设计

设计报告

 

题目:

书店进货、销售管理系统

学号:

学生姓名:

指导教师:

提交时间:

2015-1-5

 

第1章 需求分析

1.1 需求调查

通过对各个用户的调查,该书店进货、销售管理系统有如下需求:

1)实现图书类别、出版社、图书、仓库信息的管理;

2)实现进货、入库管理;

3)实现销售、出库管理;

4)查询某段时间内各种图书的进货和销售情况;

5)查询各类图书的库存总数;

6)当图书入库时自动修改相应图书的总量和存放仓库中该图书的数量;

7)一单可以处理多种图书(比如销售设置销售单及其明细两个表);

8)建立数据库相关表之间的参照完整性约束。

服务器配置:

对它进行配置可以使得在其他电脑上也照常使用。

这样不必每次都到数据库中去更改。

9)帮助系统:

帮助系统为用户指明方向。

1.2系统功能分析

图1

1.进货管理模块:

书店的图书一直在更新,当货源不足、新书上映时都需要进货。

进货管理模块主要实现查询图书数量,当数量不足时进行图书订购,进货后进行图书入库操作,将图书数量进行更新。

2.图书类别管理模块:

书店的管理对如此多的图书管理起来会很麻烦,进行图书进行分类管理会更方便、快捷。

管理员可以查看、添加、修改、删除类别。

3.销售管理模块:

书店的收入都是来自图书销售,因此对图书销售管理是必不可少的。

管理员可以进行查看销售图书的数量、名称、价格、日期;添加订单。

高级管理员还可以修改。

4.库存管理模块:

当图书数量不足时会影响到书店的信誉,数量过多时又会影响书店正常运营。

对书店库存管理也是重中之重。

管理员可以通过库存管理查询图书剩余数量。

1.3面对用户需求分析

在书店进货、销售管理系统中,最主要的功能就是对图书进货、销售、库存的管理以及查询功能。

因此,可以将书店进货、销售管理系统分为进货、销售、库存三个子系统。

而在所设计的书店进货、销售管理系统中,主要有两类类用户,即图书管理员、书店管理员。

各类用户在该系统中的需求不同,权限也不同。

因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为图书管理系统,书店管理系统。

同样,将查询系统也按用户职能进行细分,即图书查询系统,书店查询系统。

这样细分后,看似把系统需求繁杂化了。

其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。

第2章 面向对象分析和设计

类和对象设计如下:

进货订单

订单号:

int

图书号:

int

图书价格:

int

图书数量:

int

进货日期:

char

添加()

修改()

删除()

查询()

库存

图书号:

int

图书数量:

int

进货价格:

int

进货数量:

int

进货日期:

char

销售价格:

int

销售数量:

int

销售日期:

char

查询()

添加()

修改()

选课()

供应商

供应商名称:

char

供应图书号:

int

图书价格:

int

添加()

删除()

查询()

修改()

 

销售订单

订单号:

int

图书号:

int

图书价格:

int

图书数量:

int

销售日期:

char

添加()

修改()

删除()

修改()

 

图书信息表

图书号:

int

数量:

int

作者:

char

出版社:

char

价格:

int

类别号:

int

查询()

添加()

删除()

修改()

图书类别

类别号:

int

类别名称:

char

查询()

增加()

修改()

 

 

图2

第3章 逻辑结构设计

局部E-R图

 

图3

全局E-R图:

图4

3.1 类和对象向关系模式转换

图书(图书号,图书名,作者,价格,类别号,数量,出版社)

图书类别(类别名,类别号)

供应商(供应商名称,供应图书号,图书价格)

进货订单(订单号,图书号,图书数量,进货价格,进货日期)

销售订单(订单号,图书号,图书数量,销售价格,销售日期)

库存(图书号,图书数量,进货价格,进货日期,销售价格,销售日期,销售数量,进货数量)

第4章 数据库物理结构设计

4.1存取方法设计

数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。

对于系统来说,为了提高某些属性的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。

这样会大大提高查询速度。

因此,该系统中选择聚簇存取方法。

4.2 存储结构设计

书店进货、销售管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设。

数据库管理系统采用Microsoft公司推出的SQLServer2008或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。

4.3 物理设计

实现该设计的环境为WindowsXPProfessional+MSSQLServer2008或以上版本。

1、建立书店进货销售数据库

createdatabase书店进货销售

2、建立图书信息表

use书店进货销售

createtable图书信息表(

图书号intprimarykey,

图书名char(20),

作者char(20),

价格int,

类别号int,

数量int,

出版社char(20),

备注text,);

3、建立图书类别表

createtable图书类别(

类别号intprimarykey,

类别名char(16),

);

createtable进货订单(

订单号intprimarykey,

图书号int,

图书数量int,

图书价格int,

进货日期char(10),

4、建立销售订单表

createtable销售订单(

订单号intprimarykey,

图书号int,

图书数量int,

图书价格int,

销售日期char(10),

);

5、建立库存表

createtable库存(

图书号intprimarykey,

图书数量int,

进货价格int,

进货日期char(10),

进货数量int,

销售价格int,

销售日期char(10),

销售数量int,);

6、建立供应商表

createtable供应商(

供应商名称char(20),

供应图书号int,

图书价格int,

Primarykey(供应商名称,供应图书号));

第5章 数据库完整性设计

5.1主键及唯一性索引

表名

主键

建立唯一性索引

图书信息表

(图书号)

createuniqueindex图书号

on图书信息表(图书号)

图书类别

(类别名称)

createuniqueindex类别号

on图书类别(类别号)

进货订单

(订单号)

createuniqueindex订单号

on进货订单(订单号)

销售订单

(订单号)

createuniqueindex订单号

on销售订单(订单号)

库存

(图书号)

createuniqueindex图书号

on库存(图书号)

供应商

(供应商名称、供应图书号)

createindex供应商名称

on供应商(供应商名称)

图5

5.2参照完整性设计

1、图书信息表中将类别号设计为图书类别的外键

altertable图书信息表foreignkey(类别号)references图书类别(类别号)

2、进货订单表中将属性图书号为图书信息表的外键

foreignkey(图书号)references图书信息表(图书号)

3、销售订单表中将属性图书号为图书信息表的外键

foreignkey(图书号)references图书信息表(图书号)

5.3触发器设计

5.3.1入库

CreateTrigger入库

On进货订单

FORInsert

As

declare@nint

Select@n=图书号frominserted

declare@numint

Select@num=图书数量Frominserted

Update图书信息表

set数量=数量+@num

Where图书号=@n

CreateTrigger入库1

On进货订单

FORInsert

Asbegin

update库存

set库存.图书数量-=销售订单.图书数量

from库存,销售订单

where库存.图书号=销售订单.图书号;

End;

5.3.2出库

CreateTrigger出库

On销售订单

FORInsert

Asbegin

update库存

set库存.图书数量-=销售订单.图书数量

from库存,销售订单

where库存.图书号=销售订单.图书号;

end;

CreateTrigger出库1

On销售订单

FORInsert

Asbegin

update图书信息表

set库存.图书数量-=销售订单.图书数量

from图书信息表,销售订单

where图书信息表.图书号=销售订单.图书号;

end;

5.4存储过程查询某段时间内各种图书的进货和销售情况

ALTERprocedure图书进货销售情况

asbegin

SELECT进货订单.订单号,进货订单.图书数量,进货日期,销售订单.订单号,销售订单.图书数量,销售日期

from进货订单,销售订单

where销售日期>='2014-1-1'and销售日期<='2014-12-31'

and

进货日期>='2014-1-1'and进货日期<='2014-12-31'

end;

第6章数据库视图设计

1、建立查询各个类别类别总数的视图

Createview图书库存

SELECTSUM(数量)AS总数,类别号

FROMdbo.图书信息表

GROUPBY类别号

2、供应商对比

Createview图书库存

Selects1.供应商名称、s1.供应图书号、s1.图书价格

Form供应商s1,供应商s2

Wheres1.供应图书号=s2.供应图书号;

3、建立销售订单应付总金额

createview应付金额1

as

select图书数量*图书价格总数,订单号

from销售订单;

4、建立书店总销售

createview应付金额

as

selectsum(图书数量*图书价格)总数

from销售订单;

 

第7章数据库存储过程设计

1、存储过程查询某段时间内各种图书的进货和销售情况

ALTERprocedure图书进货销售情况

asbegin

SELECT进货订单.订单号,进货订单.图书数量,进货日期,销售订单.订单号,销售订单.图书数量,销售日期

from进货订单,销售订单

where销售日期>='2014-1-1'and销售日期<='2014-12-31'

and

进货日期>='2014-1-1'and进货日期<='2014-12-31'

end;

总结

通过这次数据库课程设计,我深刻的体会到作为DBA要考虑到方方面面的问题。

刚开始我根本不知道从哪下手,本来打算直接用powerdesigner直接做出来但是由于结构不太清晰,又参考了网上的系统,分析好了要建哪些表,从SQL中慢慢建表。

刚开始用英文定义的,可是由于没有连续的时间,英文易混。

反反复复的建了好几次表,最后用中文定义的。

也从刚开始的直接建表变为了后来的代码建表。

后来的E_R图是用visio完成的,数据是由随机生成数据工具生成的。

视图建立过程中,除了规定的查询各类图书的库存总数,又建立了供应商对比(根据图书号查询不同供应商的价格差)、应付金额(书店进货应付的总金额)、应付金额1(每个订单号应付的金额,即顾客应付的金额)。

触发器设计中建立了销售、进货修改图书信息表与库存图书数量。

建立了存储过程查询某段时间内各种图书的进货和销售情况。

参考文献:

1.王珊,萨师煊.数据库系统概论[M].高等教育出版社,2005

2.郑阿奇等.SQLserver实用教程(第3版)[M].电子工业出版社,2009

3.赵乃真等.信息系统设计与应用.清华大学出版社,2005

选题及功能设计

选题合理,功能简单(D)

有一定的工作量和实用价值(C)

功能设计丰富,有一定的难度系数(B)

功能设计合理全面,能体现数据库的存储和整理数据的功能(A)

数据表和数据量

具备基本的数据表,数据量较少,但能够实现系统基本需要(D)

具备基本的数据表,数据量适中,实现了一定的数据完整性(C)

有多个数据表,数据量适中,有完善的数据完整性(B)

有多个数据表,数据量充足,具有较强的数据安全性和数据完整性(A)

数据库对象

具备基本的数据表,有主外键约束(D)

创建了若干种的数据库对象,并加以利用(C)

在实际应用中合理利用了各类数据库对象(B)

具有身份验证、数据备份等较复杂的数据管理功能(A)

功能实现

利用存储过程实现了各种查询功能(D)

除查询功能,还实现了各种数据操作功能(C)

在上一条基础上,还实现了数据统计汇总功能(B)

合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能(A)

设计报告

完成设计报告,阐述了系统功能,结构较完整(D)

开题报告反映设计思路,结构完整,格式较规范(C)

报告内容完整,图表使用准确,格式清晰,功能描述详尽(B)

报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程(A)

教师签字:

总评成绩:

编号:

202004061636

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1