基于Dephi的网上书店管理系统的设计课程_第1页
基于Dephi的网上书店管理系统的设计课程_第2页
基于Dephi的网上书店管理系统的设计课程_第3页
基于Dephi的网上书店管理系统的设计课程_第4页
基于Dephi的网上书店管理系统的设计课程_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、基于Dephi的网上书店管理系统的设计 -数据库原理课程设计姓 名: _班 级: _学 号: _指导老师: _成 绩: _评 语计算机工程学院2008年1月10日基于Dephi的网上书店管理系统的设计摘要 信息社会的高科技,商品经济化的高效益,使计算机的应用已普与到经济和社会生活的各个领域。随着Internet的兴起,网络已经成为现代人生活中的一部分,人们越来越想在最短的时间购买到自己所需要的图书。于是信息化管理成为网上书店的必然趋势,本系统就是基于Dephi的网上书店管理系统,通过本系统的开发能够更方便书店的管理,使书店的管理者能够更清晰的掌握书店的销售情况。并且通过本系统的使用能够达到减少

2、店员的工作量和提高工作效率的目的。本系统主要功能包括录入功能、查询功能、管理功能。1录入功能录入功能包括录入图书、销售图书、退出功能。(1)录入图书。书店工作人员能够输入图书的基本信息。(2)销售图书。用于计录销售的图书的信息。(3)退出功能。用于退出系统。2查询功能查询功能包括按书号查询、按书名查询、按查询、按类别查询、按作者查询。(1)精确查询。书店工作人员能够通过输入书号、书名、ISBN 、书的类别等来进行精确的查询。(2)模糊查询。书店工作人员能够通过输入关键字来进行模糊的查询。这些功能在本系统中具体是:书店的资料管理、进货管理、销售管理、库存信息管理。通过测试,基本实现了网上书店正常

3、运作的信息化管理。在Internet上通过它用户可以突破时间和空间的限制来实现网上购书,为消费者带来了很大的方便,使他们足不出户就可以买到自己想要的书;还有一个最大的优势是便于管理员的管理与维护,既省时又省力。它还有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。关键词 Delphi 书店管理 查询目录第一章1.11.21.31.4第二章1.51.61.7第三章1.81.9第四章1.101.111.121.13第五章1.141.151.16第六章1.17第七章1.18背景计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业,各个领域,随着interne

4、t的不断扩大和发展,电脑网络“把每一个国家、每一个城市甚至每一个家庭连接到一起”,形成了一条“信息高速路”,就像高速公路大大提高了车辆行驶的速度一样。提高信息网上书店的信息化管理是必然的趋势。意义通过开发网上书店管理系统,可以大大的方便管理员的管理与维护,既省时又省力。并且具有经营成本低、库存是虚拟的、用户检索方便、地域限制少等。1.19开发一个集成书店的资料管理、进货管理、销售管理、库存信息管理、权限管理系统一体的书店点管理系统。本系统的要:简单易用,具有很好的稳定性、安全性、交互性。其中稳定性要求主要能够处理各种特殊情况,保证系统能正常运行;安全性要求主要涉与到不同的用户和和管理员拥有不同

5、权限;交互性要求主要是能够方便用户的操作。1.20操作系统Windows XP 软件 Delphi第二章 需求分析根据上述体系结构设计可以将网上书店管理系统划分为多个相关联的子系统(功能模块),然后逐个分析各个子功能模块需求。1.信息与处理要求(1)资料管理主要是图书资料的管理、供货商资料管理、客户资料管理。图书资料主要包括ISBN、书名、作者、出版商、定价、字数、类别、规格等信息;供货商资料主要包括供货商号、名称、地址、 、银行开户等信息;客户资料主要包括客户编号、联系人、用户类型、地址、联系、 、银行开户等信息。图书资料管理,主要是对图书的查询、添加、更新、删除等操作,特别是图书的查询包括

6、精确查询和模糊查询。(2)进货管理主要是对图书的进货情况查询、进货处理。根据需要可以将采购订单、入库单、销售单根据第二式都分为主从两表来存放数据,主表“进货单”的容包括编号、供货商、进货日期、业务员、制单人、订单号等,从表“进货单明细”容包括编号、进货单号、货号、进货数量、进价等信息。图书进货单业务员和制单人完成进货登记,然后相应的管理系统自动更新数据库。另外一个是历史查询,主要是用于查询商品的进货历史,具有该权限的用户可以按照任何条件进行查询,如按照供货商、日期、商品等。执行完查询后可以打印相应的报表。(3)销售管理主要是将客户的销售单录入数据库,更新相应的数据并且可以执行销售情况查询。主表

7、“销售单”包含编号、客户编号、销售日期、也无人、制单人、订单号等信息;从表“销售单明细”包含编号、销售单号、货号、销售数量、销售价出货仓库等信息。图书销售管理人员要完成图书销售登记,并由系统自动更新数据库。管理人员可以更具需要按某个条件查询销售历史,如按照客户编号、日期、商品、业务员等信息查询。(4)库存管理子系统主要是管理图书库存信息,如查询某图书的库存量,仓库库存等。(另外可以查询历史库存相关信息。(5)系统管理,即用户权限管理。这主要对不同的业务员和管理员授于不同的管理权限,以实现系统的安全性。例如系统员具有最高权限,可以对其他用户根据需要授与相应的权限管理。而销售员只能执行销售有关的操

8、作,如制作图书销售单、录入图书销售信息、查询销售历史等操作;进货员只执行进货有关的操作,如制作图书进货单、录入图书进货情况、查询进货历史等操作。该子系统涉与到权限清单和用户清单。数据流图:2安全性与完整性要求安全性要求:(1)登录系统,验证用户是否具有使用图书管理系统的权限,只有合法的用户才能登录本系统,然后执行相关的操作。另外对用户密码应该进行加密。(2)通过用户权限管理来完成,对于不同的用户只能执行该用户被授予的相关的操作。系统管理员具有系统的最高权限,可以进行对其他用户进行授权。 完整性要求:(1) 当有进货或销售的时候要将其录入详细历史,同时更新仓库的数据。当系统管理员授予其他用户相应

9、的权限时,应该跟新其他用户的操作权限。(2) 对相应的录入数据做数据的合法性,对不合法的数据要拒绝本次操作,防止“垃圾进垃圾出”信息。当删除某个信息的时候,要相应的删除其相关联的信息。(三)概念结构设计 1.各个部分的ER图(1)业务员与权限业务员基本属性(业务员号,名称,权限级别,密码)权限清单基本属性(权限序号,业务员号,权限名称)(2)供货商、进货单与进货明细供货商基本属性(供货商号、名称、地址、 、地区、地址、开户行、银行账号、业务员、业务部门)进货单基本属性(编号、进货商号、进货日期、业务员、制单人、总金额)进货单明细(编号、进货单号、进货数量、进价、仓库、合计)(3) 客户、销售单

10、与销售单明细客户基本属性(客户编号,名称,联系人,地址, ,区号,地址,开户行,银行账号)销售单基本属性(编号,客户编号,销售日期,业务员,制单人)销售单明细基本属性(编号,销售单号,ISBN,销售数量,销售价,仓库,总额)(4) 进货单明细与图书图书基本属性(ISBN,书名,作者,出版日期,类别,开本规格,进货价,销售价,)(5)销售单明细与图书(6)进货单、销售单与仓库2.合并后的总ER图供货商进货单进货单明细客户销售单销售单明细图书 地址名称 供货商号销售日期编号业务员制单人邮箱地址银行账号客户编号名称编号进货单号进货数量联系人 1MN编号销售日期业务员制单人书号书名作者定价出版日期11

11、M1M1N编号销售单号总额业务员区号银行账号1N仓库仓库MNMN仓库号书号仓库(四)逻辑结构设计1. ER图转换为关系模型转换的为l 业务员表(业务员号,名称,密码)l 权限清单(权限序号,业务员号,权限名称)l 供货商表(供货商号、名称、地址、 、地区、地址、开户行、银行账号、业务员、业务部门)l 进货单表(编号,进货商号,进货日期,业务员,制单人,仓库,总金额)l 进货单明细表(编号,进货单号,书号,进货数量,进价,仓库,总额)l 客户表(客户编号,名称,联系人,地址, ,区号,地址,开户行,银行账号)l 销售单表(编号,客户编号,销售日期,业务员,制单人)l 销售单明细表(编号,销售单号

12、,书号,销售数量,销售价,仓库,总额)l 书目清单(书号,书名,作者,出版日期,类别,开本规格,进货价,销售价,)l 仓库表(仓库号,书号);l 进货(进货编号, 仓库号)l 销售(销售编号,仓库号)转换过程中应用的规则是:1. 若是实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个的属性中加入另一个关系模式的键和联系类型的属性。2. 若是实体间联系是 1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。3若实体间联系为M:N,则将联系类型也转换成关系模型,其属性为两端实体类型的属性的键加上类型的属性,而键为两端实体键的组合。4.2 数据模型的优化

13、经分析,上述所有关系模型均已达到第三式,故无效在进行优化。3.数据字典业务员表:描述列名数据类型业务员编号业务员号char(6)登录账号用户名Varchar(10)登录密码密码Varchar(20)权限清单表:描述列名数据类型权限编号权限编号char(4)业务员号用户编号char(6)权限类型权限名称Varchar(10)供货商表:描述列名数据类型供货商编号供货商号char(6)供货商名称名称Varchar(30)地址地址Varchar(40)char(6)区号区号char(4)联系char(12)Email地址Varchar(20)开户行开户行Varchar(20)银行账号银行账号Varch

14、ar(20)业务员便号业务员号char(6)进货单表:描述列名数据类型进货单编号编号Varchar(6)供货商编号供货商号char(6)进货日期进货日期char(10)业务员编号业务员号char(6)制单人制单人char(10)总共金额总额Varchar(20)仓库号仓库号char(4)进货单明细表:描述列名数据类型进货单明细编号编号char(6)进货单编号进货单号char(10)书号书号char(20)数量进货数量Varchar(4)图书进价进价Varchar(4)仓库编号仓库号char(4)总额总额Varchar(8)销售单表:描述列名数据类型销售单编号编号char(6)客户编号客户编号c

15、har(6)销售日期销售日期char(10)业务员编号业务员号char(6)制单人制单人char(10)销售单明细表:描述列名数据类型编号编号char(6)销售单号销售单号char(6)书号书号char(20)销售数量销售数量varchar(4)销售价格,即定价销售价char(4)仓库号仓库号char(4)总金额总额Varchar(8)l 客户表(客户编号,名称,联系人,地址, ,区号,地址,开户行,银行账号)客户表:描述列名数据类型客户编号编号char(6)名称名称char(10)联系人联系人char(10)地址varchar(20)char(4)区号区号char(4)char(12)Ema

16、il地址Varchar(20)开户行开户行Varchar(20)银行账号银行账号Varchar(20)l 书目清单(书号,书名,作者,出版日期,类别,开本规格,进货价,销售价,)l 仓库表(仓库号,书号);l 进货(进货编号, 仓库号)l 销售(销售编号,仓库号)书目清单表:描述列名数据类型书号书号char(6)名称作者char(10)联系人char(10)出版日期varchar(20)类别char(4)区号开本规格char(4)进货价char(12)Email销售价Varchar(20)(五) 数据库的实施和维护1 存储过程设计(1)/* 此存储过程是为了实现当货物进货时,库存量要在相应的书

17、目中实现增加相应的数量*/create proc P_进货制单人 varchar(50)=null,调整日期 datetime=nullasbegin transactioninsert into 库存库(书号,仓库,库存数,库存单价,库存金额,制单人,调整日期)select distinct j.货号,j.仓库,0,0,0,制单人,调整日期from 进货单明细 as j left join 库存库 as k on (j.仓库=k.仓库 and j.货号=k.书号)where k.书号 is nullupdate 库存库 set 库存单价=进价,库存数=库存数+数量all,库存金额=case

18、when 库存数<=0 or (库存数+数量all)<=0 then 进价*(库存数+数量all) else (库存金额+金额all)endfrom(select 仓库,货号, '数量all'=sum(进货数量),'金额all'=sum(合计),'进价'=sum(合计)/sum(进货数量)from 进货单明细 group by 仓库,货号) as lsjwhere 库存库.仓库=lsj.仓库 and 库存库.书号=lsj.货号 insert into 进货单明细历史 select * from 进货单明细delete from 进货单

19、明细commit(2)/* 此存储过程是为了实现当货物被销售时,库存量要在相应的书目中实现减少相应的数量*/create proc P_销售制单人 varchar(50)=null,调整日期 datetime=nullasbegin transactionupdate 库存库 set 库存数=库存数-数量all,库存金额=库存单价*(库存数-数量all)from(select 仓库,书号, '数量all'=sum(销售数量) from 销售单明细 group by 仓库 ,书号) as lsjwhere 库存库.仓库=lsj.仓库 and 库存库.书号=lsj.书号insert

20、 into 销售单明细历史 select * from 销售单明细delete from 销售单明细commit2 视图设计/*此视图是为实现查看库存中各个书目具体的数量*/create view cangkuasselect 库存库.书号,书目清单.书名,书目清单.单位,库存库.仓库,库存库.库存数,库存库.库存单价,库存库.库存金额 from 库存库,书目清单 where 库存库.书号=书目清单.书号4.触发器设计(1)/*此触发器是为了实现在插入仓库记录时,仓库号只能插入1、2、3、4、5(因为仓库只用1,2,3,4,5)*/create trigger tri_inserton 进货单

21、明细 for insertasif exists(select inserted.仓库 from inserted where 仓库 not in ('1','2','3','4','5')beginprint'不能插入除 1,2,3,4,5之外的仓库'rollback transactionend(2)/*此触发器是为了实现在插入进货表或销售表时,业务员只能插入锦何、松坛、微微(因为业务员只有锦何,松坛,微微)*/create trigger tri_insert2on 进货单 for inser

22、tasif exists(select inserted.业务员 from inserted where 业务员 not in ('锦何','松坛','微微')beginprint'不能插入除 锦何,松,微微 之外的仓库'rollback transactionend(3)/*此触发器是为了实现在插入仓库记录时,仓库号只能插入1、2、3、4、5(因为仓库只用1,2,3,4,5)*/create trigger tri_insert3on 销售单明细 for insertasif exists(select inserted.仓库 from inserted where 仓库 not in ('1','2','3','4','5')beginprint'不能插入除 1,2,3,4,5之外的仓库'rollback tran

温馨提示

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

评论

0/150

提交评论