书店进货、销售管理系统_第1页
书店进货、销售管理系统_第2页
书店进货、销售管理系统_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理及应用课程设计设计报告题 目书店进货、销售管理系统学 号:学生姓名:指导教师:提交时间:2015-1-5目录第1章需求分析3.1.1 需求调查3 .1.2 系统功能分析4.第2章面向对象分析和设计 5第3章逻辑结构设计 73.1类和对象向关系模式转换 1.0第4章 数据库物理结构设计 1.04.1存取方法设计 104.2 存储结构设计1.04.3 物理设计1.1第5章 数据库完整性设计 1.35.1主键及唯一性索引1.35.2参照完整性设计 1.45.3触发器设计1.4第6章数据库视图设计 1.7第7章 数据库存储过程设计 18总结18.参考文献:1.9.第1章需求分析1.1 需求调

2、查通过对各个用户的调查,该书店进货、销售管理系统有如下需求:1)实现图书类别、出版社、图书、仓库信息的管理;2)实现进货、入库管理;3)实现销害出库管理;4)查询某段时间内各种图书的进货和销售情况;5)查询各类图书的库存总数;6)当图书入庫时自动修改相应图书的总量存放仓库中该图书的数量;7)单可以赠多种图书(比如销售设置销售单及其明细两个表);8)建立数据库相关表之间的参照完整性约束。服务器配置:对它进行配置可以使得在其他电脑上也照常使用。这样不必每次都到数据库中去更改。9)帮助系统:帮助系统为用户指明方向。1.2系统功能分析书店进书、销售管理图1进货管理图书类别管理销售管理库存管理1.进货管

3、理模块:书店的图书一直在更新,当货源不足、新书上映时都需要进货。 进货管理模块主要实现查询图书数量, 当数量不足时进行图书订购,进货后进行 图书入库操作,将图书数量进行更新。2图书类别管理模块:书店的管理对如此多的图书管理起来会很麻烦,进行 图书进行分类管理会更方便、快捷。管理员可以查看、添加、修改、删除类别。3. 销售管理模块:书店的收入都是来自图书销售,因此对图书销售管理是必不 可少的。管理员可以进行查看销售图书的数量、名称、价格、日期;添加订单。高级管理员还可以修改。4. 库存管理模块:当图书数量不足时会影响到书店的信誉, 数量过多时又会影 响书店正常运营。对书店库存管理也是重中之重。

4、管理员可以通过库存管理查询 图书剩余数量1.3面对用户需求分析在书店进货、销售管理系统中,最主要的功能就是对图书进货、销售、库存的管 理以及查询功能。因此,可以将书店进货、销售管理系统分为进货、销售、库存 三个子系统。而在所设计的书店进货、销售管理系统中,主要有两类类用户,即 图书管理员、书店管理员。各类用户在该系统中的需求不同, 权限也不同。因此, 为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为图书管理 系统,书店管理系统。同样,将查询系统也按用户职能进行细分,即图书查询系 统,书店查询系统。这样细分后,看似把系统需求繁杂化了。其实不然,细分后 使各用户需求更加明确了,并且能

5、更好的把握系统需求。第2章 面向对象分析和设计类和对象设计如下:进货订单订单号:int 图书号:int 图书价格:int 图书数量:int 进货日期:char 添加() 修改() 删除() 查询()销售订单订单号:int 图书号:int 图书价格:int 图书数量:int 销售日期:char 添加() 修改() 删除() 修改()库存图书号:int图书数量:int 进货价格:int 进货数量:int 进货日期:char 销售价格:int 销售数量:int 销售日期:char 查询() 添加() 修改() 选课()供应商供应商名称:char 供应图书号:int 图书价格:int添加() 删除()

6、 查询() 修改()图书信息表图书类别类别号:int类别名称:char查询()增加()修改()图书号:int 数量:int 作者:char 出版社:char 价格:int 类别号:int 查询() 添加() 删除() 修改()第3章逻辑结构设计全局E-R图:3.1 类和对象向关系模式转换图书(图书号,图书名,作者,价格,类别号,数量,出版社)图书类别(类别名,类别号)供应商(供应商名称,供应图书号,图书价格)进货订单(订单号,图书号,图书数量,进货价格,进货日期)销售订单(订单号,图书号,图书数量,销售价格,销售日期)库存(图书号,图书数量,进货价格,进货日期,销售价格,销售日期,销售数量,进

7、货数量)第4章数据库物理结构设计4.1存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满 足多用户的多种应用要求。对于系统来说,为了提高某些属性的查询速度,可以 选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块 上。这样会大大提高查询速度。因此,该系统中选择聚簇存取方法。4.2 存储结构设计书店进货、销售管理系统是一个大型复杂的计算机网络信息系统,采用基于 浏览器/服务器(B/S ),客户端/服务器(C/S )混合的应用体系结构来建设。数据库管理系统采用 Microsoft 公司推出的SQL Server 2008 或以上版 本,并用SQL进行

8、数据库的建立和数据库中数据的维护和查询。4.3 物理设计实现该设计的环境为 Windows XP Professional + MS SQLServer 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(1

9、6),);create table 进货订单(订单号 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),销售数量int,);6、建立供应商表create table 供应商(供

10、应商名称char(20),供应图书号int,图书价格int,Primary key(供应商名称,供应图书号);第5章数据库完整性设计5.1主键及唯一性索引表名主键建立唯性索引图书信息表(图书号)create unique in dex图书号on图书信息表(图书号)图书类别(类别名称)create unique in dex类别号on图书类别(类别号)进货订单(订单号)create unique in dex订单号on进货订单(订单号)销售订单(订单号)create unique in dex订单号on销售订单(订单号)库存(图书号)create unique in dex图书号on库存(图书号

11、)供应商(供应商名称、供应图书号)create index 供应商名称on供应商(供应商名称)图55.2参照完整性设计1、图书信息表中将类别号设计为图书类别的外键alter table图书信息表foreign key (类别号)references 图书类别(类别号)2、进货订单表中将属性图书号为图书信息表的外键foreign key (图书号)references 图书信息表(图书号)3、销售订单表中将属性图书号为图书信息表的外键foreign key (图书号)references 图书信息表(图书号)5.3触发器设计入库Create Trigger 入库On进货订单FOR In sert

12、Asdeclare n intSelect n=图书号 from inserteddeclare num intSelect num=图书数量 From insertedUpdate 图书信息表set 数量=数量+numWhere 图书号=nCreate Trigger 入库 1On进货订单FOR In sertAs beg inupdate 库存set库存.图书数量-=销售订单.图书数量from库存,销售订单where库存.图书号=销售订单.图书号;End ;出库Create Trigger 出库On销售订单FOR In sertAs beg inupdate 库存set库存.图书数量-=销

13、售订单.图书数量from库存,销售订单where库存.图书号=销售订单.图书号; end;Create Trigger 出库 1On销售订单FOR In sertAs beg inupdate 图书信息表set库存.图书数量-=销售订单.图书数量from图书信息表,销售订单where图书信息表.图书号=销售订单.图书号end;5.4存储过程查询某段时间内各种图书的进货和销售情况ALTER procedure图书进货销售情况as begi nSELECT进货订单.订单号,进货订单.图书数量,进货日期,销售订单.订单号,销售订单.图书数量,销售日期from进货订单,销售订单where销售日期 &g

14、t;='2014-1-1' and销售日期 <='2014-12-31'and进货日期 >='2014-1-1' and 进货日期 <='2014-12-31'end;第6章数据库视图设计1、建立查询各个类别类别总数的视图Create view 图书库存SELECT SUM(数量)AS总数,类别号FROMdbo.图书信息表GROUP BY类别号2、供应商对比Create view 图书库存Select s1.供应商名称、s1.供应图书号、s1.图书价格Form 供应商s1,供应商s2Where s1.供应图书号=

15、s2.供应图书号;3、建立销售订单应付总金额create view 应付金额1asselect图书数量*图书价格 总数,订单号from 销售订单;4、建立书店总销售create view应付金额as select sum(图书数量*图书价格)总数from 销售订单;第7章数据库存储过程设计1、存储过程查询某段时间内各种图书的进货和销售情况ALTER procedure图书进货销售情况as begi nSELECT进货订单.订单号,进货订单.图书数量,进货日期,销售订单.订单 号,销售订单图书数量,销售日期from进货订单,销售订单where销售日期 >='2014-1-1'

16、; and销售日期 <='2014-12-31'and进货日期 >='2014-1-1' and 进货日期 <='2014-12-31'end;总结通过这次数据库课程设计,我深刻的体会到作为DBA要考虑到方方面面的问题。刚开始我根本不知道从哪下手,本来打算直接用powerdesig ner直接做出来但是由于结构不太清晰,又参考了网上的系统,分析好了要建哪些表,从SQL 中慢慢建表。刚开始用英文定义的,可是由于没有连续的时间,英文易混。反反 复复的建了好几次表,最后用中文定义的。也从刚开始的直接建表变为了后来的 代码建表。后来的E

17、_R图是用visio完成的,数据是由随机生成数据工具生成的。视图建立过程中,除了规定的查询各类图书的库存总数,又建立了供应商对比(根据图书号查询不同供应商的价格差)、应付金额(书店进货应付的总金额)、应付金 额1 (每个订单号应付的金额,即顾客应付的金额)。触发器设计中建立了销售、 进货修改图书信息表与库存图书数量。建立了存储过程查询某段时间内各种图书 的进货和销售情况。参考文献:1. 王珊,萨师煊.数据库系统概论M.高等教育出版社,20052. 郑阿奇等.SQLServer实用教程(第3版)M.电子工业出版社,20093. 赵乃真等信息系统设计与应用.清华大学出版社,2005选题及功能设计选题合理,功能简单(D)有一定的工作量和实用价值(C)功能设计丰富,有一定的难度系数(B)功能设计合理全面,能体现数据库的存储和整理数据的功能(A)数据表和数据量具备基本的数据表,数据量较少,但能够实现系统基本需要(D)具备基本的数据表,数据量适中,实现了一定的数据完整性(C)有多个数据表,数据量适中,有完善的数据完整性(B)有多个数据表,数据量充足,具有较强的数据安全性和数据完整性(A)数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论