《基于SQL server的木材销售管理系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于SQL server的木材销售管理系统毕业论文.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、吉林大学珠海学院毕业论文(设计)基于SQL server的木材销售管理系统数据库设计Design of Database of The Wood Sales Management System Based on SQL Server完成日期 2013年 1 月 10 日吉林大学珠海学院本科毕业论文(设计)开题报告基于SQL server的木材销售管理系统数据库设计摘要此次设计的主要内容是木材管理销售系统的数据库设计,数据库设计是木材销售管理系统生存周期中很重要的一个阶段,也是工作量比较大的一项活动,设计质量的好坏、数据结构的优劣将直接影响到整个木材销售管理系统的成败。据于此,本次设计根据一个木
2、业公司的信息需求、处理需求和数据库支撑环境,设计出数据的存储、处理和应用模式。这个系统包括木材进货、木材销售、木材库存管理等三大基本功能,其中木材销售是最主要,也是最重要的功能;它包括了销售管理、采购管理、财务管理、以及员工管理等功能,并且在视图以及存储过程中还提供了查询和更新的功能。该系统的数据库设计是由系统需求分析阶段、概念设计阶段、逻辑设计阶段、数据库实施、调试、测试等阶段组成。关键字:数据库;数据库设计;木材销售管理系统Design of Database of The Wood Sales Management System Based on SQL ServerAbstractTh
3、e main content of this design is the wood sales management system database design, database design is an important stages of the life cycle in the wood sales management system, also is a big workload. The merits of the design quality, data structure will directly affect the success of the whole wood
4、 sales management system or not.According to this,the design is according to information requirements, processing requirements and database supporting environment of the wood industry company,to design the data storage, processing and patterns of application.This system includes wood purchase, wood
5、sales and wood inventory management. The most important one is wood sales, and it is the most important function at the same time. It includes salesmanagement, purchasing management, financial management, the staff management andso on. In views and stored procedures, it also provides query and updat
6、e functions. This database design iscomposed of system requirements analysis, concept design, logic design, databaseimplementation, debugging and testing.Key words: Database;Database Design;Wood Sales Management System目录1 绪论11.1 开发背景11.2 数据库设计的目标11.3 数据库简介22 需求分析32.1 需求分析阶段处理对象及组织32.2 信息处理及系统功能32.2.
7、1 数据流程图32.2.2数据字典62.2.3系统功能112.3 数据库系统开发环境需求122.3.1 检查硬件要求122.3.2.操作系统123 数据库结构设计133.1 概念设计133.1.1 分E-R图建立133.1.2 全局/整体E-R图143.2 逻辑设计153.2.1 建立关系模式153.2.2 用户子模式建立163.2.3 关系模式逻辑结构定义174 数据库物理设计244.1 物理设计阶段目标和步骤244.2数据存储方面244.2.1 建立索引的原则244.2.2 建立索引245 数据库实施与测试255.1 数据库实施255.1.1 数据库及数据库对象建立255.2 数据库测试2
8、96 结束语36参考文献37致谢381 绪论1.1 开发背景目前,木材作为原材料应用于各行各业,是用途极为广泛的一种物资。不但在建筑上有着举足轻重的地位,而且在人们的日常生活中,木材也饰演着不可或缺的角色。据相关数据显示,开采一百吨煤需用木材2.5立方米;修建一公里铁路约用300立方米木材;制造一辆载重四吨的木材,约需用木材1.6立方米;制造一千吨的铁驳轮船,需用木材160立方米;建筑一千平方米钢筋水泥的房屋,约用木材100立方米;制造一千公斤酒精,约需木材17立方米;制造一吨纸浆,需用木材2.3立方米等等。因此,木材的重要性显而易见。然而,对于木材销售企业,尤其是较小的企业根本没有完善的木材
9、销售管理系统的数据库设计,甚至有些传统的木材销售公司仍沿用传统落后的管理模式,数据处理以纸单据及手工管理等方式为主流。这些销售管理方面的问题毫无疑问制约了木材业的发展,同时,传统的主流方式也使统计分析难度加大、运行效率慢、数据可靠性变差、难以快速抽取对企业有用的信息等一系列的问题。在社会飞速发展的近几年,对于木材的需求也越来越多,这种传统的管理模式已不能适应当今木材行业的发展趋势,特别是信息化时代的到来,采用先进管理模式来增强竞争力,迎接信息化革命是摆在木材业面前很现实而且很重要的问题。因此,关键是要解决效益、效率上进一步提升的问题,亟需设计出能够高效高质量满足以上各种需求的数据库。1.2 数
10、据库设计的目标为了使木材销售有更系统、全面的管理,本次设计是针对现在存在的情况,将数据库管理技术应用到木材销售管理系统上面,根据企业的特点,在现有数据库设计,改善一些技术和增加创新,创建适合企业的独特的数据库管理。基于整体考虑,本次设计,从需求分析、概念结构设计、逻辑结构设计、物理设计,到数据库的建立、运行,再到数据库的安全维护等各个方面进行了详细的分析设计。并认真分析了企业的业务需求,公司的主要职责、主要结构、主要业务等信息,从而设计出比较符合公司需要的数据库,使木材销售管理更加规范化。1.3 数据库简介数据库是数据管理的重要技术1。如今信息资源的管理是越来越复杂、越来越重要,如果没有数据库
11、妥善处理,在这信息大量堆积的时代,数据管理会变成一个巨大的难题。数据库是按照数据结构组织,安排数据的仓库,使得数据尽可能多地得到应用。2 需求分析2.1 需求分析阶段处理对象及组织系统的处理对象主要包括供应商基本信息、木材基本信息、顾客基本信息、仓库基本信息、公司员工的基本信息等对象;并且还要处理报损单、订货单、销售单等外部对象;最后还要处理供应商与供应之间的供应关系,销售人员、顾客、以及木材之间的销售关系等组织。2.2 信息处理及系统功能2.2.1 数据流程图木材销售管理系统的数据流程图如下图2-1图2-5:(1)顶层数据流程图:图2-1 顶层数据流程图(2)第一层数据流图图2-2 第一层数
12、据流程图(3)第二层数据流程图进货图2-3 进货数据流程图(4)第二层数据流程图销售图2-4 销售数据流程图(5)第二层数据流程图盘存图2-5 盘存数据流程图2.2.2数据字典包含数据项、数据结构、数据流、处理逻辑、数据存储定义。(1)数据项如表2-6所示:表2-6 数据项表续表2-6 数据项表(2) 数据结构如表2-7所示:表2-7 数据结构表(3)数据流如表2-8所示:表2-8 数据流表续表2-8 数据流表(4)处理逻辑如表2-9所示:表2-9 处理逻辑表(5)数据存储如表2-10所示:表2-10 数据存储表2.2.3系统功能随着科技的腾飞和信息化技术的日益完善,高效率高质量高响应速度的木
13、材销售管理系统是当前信息化技术所要求的。建立木材销售管理系统可以提高木材经销商管理公司的职员和木材的效率,可以做到木材信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量,实现公司的信息化管理。经过分析与总结得出,木材销售管理系统有如下功能:(1)能够对销售信息进行有效的管理。销售人员负责木材的日常销售工作,需要掌握各种木材的各次的销售情况。通过本系统能进行销售分析、进货分析、销售管理以及业绩查询等;(2)能够对客户信息进行有效的管理。能进行客户信息编辑、客户信息查询、打印客户信息报表等。上述的需求分析可以总结为如图2-11所示的功能结构图:图2-11 系统功能模块图2.3 数据库系统
14、开发环境需求2.3.1 检查硬件要求系统必须符合以下最低硬件要求:(1)处理器类型:Pentium III 兼容处理器或更高速度的处理器;(2)处理器速度:最低要求:600 MHz,推荐使用:1 GHz 或更高;(3)内存:最低要求:512 MB,推荐使用:1 GB 或更大,最大:操作系统最大内存;2.3.2.操作系统windows 2003xpvistawin73 数据库结构设计主要包括概念设计和逻辑设计两个部分。3.1概念设计概念设计阶段主要是将需求分析得到的用户需求抽象为信息结构即概念模型的过程,它是整个数据库设计的关键1。设计概念结构通常有自顶向下、自底向上、逐步扩张、混合策略四类方法
15、。概念结构是对现实世界的一种抽象,所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型1。一般有分类、聚集、概括三种抽象。3.1.1 分E-R图建立分E-R图建立的思想是:对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体属性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分E-R图1。参照数据流图,分别画出分E-R图,如图3-1至3-3所示:(1)进货时的分E-R图:图3-1 进货时的分E-R图(2) 销售时的分E-R图:图3-2 销售时的分E-R图(3)盘存时
16、的分E-R图:图3-3 盘存时的分E-R图3.1.2 全局/整体E-R图全局E-R图建立的步骤:(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步的E-R图1。(2)修改和重构。消除不必要的冗余,生成基本的E-R图。全局的E-R如下图3-4所示:图3-4 木材销售管理系统总的E-R图3.2 逻辑设计概念设计是独立于任何一种数据模型的信息结构,逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为与项目所支持的数据模型相符合的逻辑结构1。逻辑设计一般分以下三步进行:(1) 将概念结构转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向数据库支持下的数
17、据模型转换;(3) 对数据模型进行优化。3.2.1 建立关系模式E-R图向关系模型的转换遵循如下规则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码1。对于实体间的联系则有以下不同的情况:(1) 一个1:1联系可以转换为一个独立关系模式,也可以与任意一端关系模式合并;(2) 一个1:n联系可以转换为一个独立关系模式,也可以与n端实对应的关系模式合并;(3) 一个m:n联系转换为一个独立关系模式;(4) 3个或3个以上实体间的一个多元联系可以转换为一个关系模式;(5) 具有相同码的的关系模式可合并1。根据以上原则,对于该系统的E-R图进行转换,从而得到本E-R图向关
18、系模型的转换如下:1、外部实体:供应商(供应商编号,供应商名,供应商地址,供应商状态,供应商电话)木材(木材编号,木材种类,木材名称,木材产地,木材价格,木材状态)顾客(顾客编号,顾客姓名,性别,年龄,顾客地址,顾客联系电话)仓库(仓库号,仓库容量,仓库电话)公司员工(员工编号,员工姓名,性别,年龄,联系电话,员工属性)2、内部实体:报损单(报表号,管理员编号,报表日期)订货单(订单号,顾客编号,销售员编号,订单日期)销售单(销售单号,销售员编号,顾客编号,开单日期,支付金额)退货单(退货单编号,顾客编号, 开单日期)3、相关关系模式:供应商木材之间关系:供应(供应商编号,木材编号,供应量)销
19、售人员顾客之间的关系:销售(顾客号,木材编号,销售员编号,时间,销售金额)3.2.2 用户子模式建立根据需求分析,研究建立满足不同需求的用户子模式,子模式表示形式为:子模式名(属性列表)1、为进货部建立视图,目的是为了方便进货时做出迅速正确的决策:空闲供应商(供应商编号,供应商姓名,供应商地址,供应商联系电话)从供应商表导出销售表(木材编号,木材种类,销售员编号,时间,销售价格)从销售表和木材基本信息表导出供应表(供应商编号,供应商姓名,木材编号,供应量)从供应商表和供应表导出2、为顾客建立视图,方便顾客查询数据:待售木材(木材编号,木材种类,木材名称,木材产地,木材价格,木材状态)从木材表和
20、销售表导出订单(订单号,客户号,客户姓名,订货日期)从订单表、客户表导出3、为销售部门建立视图,方便销售部门及时了解相关资料。待售木材(木材编号,木材种类,木材名称,供应量)从木材表、供应表两张表导出所有木材销售信息(木材编号,厂商号,木材状态)从供应表和木材表导出用户子模式表如表3-5所示:表3-5 用户子模式表3.2.3 关系模式逻辑结构定义1.关系模式表格:供应商基本信息表:(Supplier)表3-6 供应商基本信息表木材基本信息表:(Wood)表3-7 木材基本信息表顾客基本信息表:(Customer)表3-8 顾客基本信息表仓库表:(Garbage)表3-8 仓库表员工表:(Per
21、son)表3-9 员工表报损单:(DemageList)表3-10 报损单订货单:(BookList)表3-11 订货单销售单:(SellList)表3-12 销售单退货单:(ReturnList)表3-13 退货单供应基本信息表:(SupplyForm)表3-14 供应基本信息表销售基本信息表:(SellForm)表3-15 销售基本信息表2.SQL语言实现2.1 创建供应商基本信息表:Create table Supplier(SNum varchar(10) primary key,SName varchar(8) unique,SAdd varchar(10),SState varch
22、ar(8),SPhone varchar(20);2.2 创建木材基本信息表:Create table Wood(WNum varchar(20) primary key,WSign varchar(10),WName varchar(16),WAdd varchar(20),WState varchar(10);2.3创建顾客基本信息表:Create table Customer(User_Num varchar(20) primary key,User_Name varchar(15),User_Gender varchar(3),User_Age int,User_Add varchar
23、(20),User_Phone varchar(15);2.4创建仓库基本信息表:Create table Garbage(GNum varchar(10) primary key,GVolume int ,GPhone varchar(15);2.5创建员工基本信息表:Create table Person(GPNum varchar(10) primary key,GPName varchar(6),GSex varchar(3),GAge int not null,GPhone varchar(15),GProperty varchar(10);2.6创建报损单基本信息表:Create
24、table Demagelist(DNum varchar(10) primary key,GPNum varchar(10),DDate Datetime,foreign key (GPNum) references Person(GPNum);2.7创建订货单基本信息表:Create table BookList(BFNum varchar(10) primary key,User_Num varchar(20),SeNum varchar(10),BFDate datetime,foreign key (SeNum) references Person(GPNum),foreign ke
25、y (User_Num) references Customer(User_Num);2.8创建销售单基本信息表:Create table SellList(SFNum varchar(10) primary key,SeNum varchar(10),User_Num varchar(20),SeDate datetime,SFmoney float,foreign key (SeNum) references Person(GPNum),foreign key (User_Num) references Customer(User_Num);2.9创建退货单基本信息表:Create tab
26、le ReturnList(RLNum varchar(10) primary key,User_Num varchar(20),SeDate datetime,foreign key (User_Num) references Customer(User_Num),);2.9.1创建供应基本信息表:Create table SupplyForm(SNum varchar(10),WNum varchar(20) ,SAmount int,foreign key (SNum) references Supplier(SNum),foreign key (WNum) references Woo
27、d(WNum);2.9.2创建销售基本信息表:Create table SellForm(User_Num varchar(20),SeNum varchar(10),WNum varchar(20),STime datetime,Money float,foreign key (User_Num) references Customer(User_Num),foreign key (SeNum) references Person(GPNum),foreign key (WNum) references Wood(WNum),);4 数据库物理设计4.1物理设计阶段目标和步骤数据库的物理设计
28、是为一个给定的逻辑数据模型选取一个最合适应用需求的物理结构的过程,在这个阶段通常分为两步:(1) 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2) 对物理结构进行评价,评价的重点是时间和空间效率1。4.2数据存储方面4.2.1 建立索引的原则建立索引一般有以下三个原则:(1) 如果一个或一组属性经常在查询条件中出现,则考虑在这个属性上建立索引;(2)如果一个经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;(3) 如果一个或一组属性经常在连接操作的连接条件中出现,则考虑在这个属性上建立索引1。4.2.2 建立索引表4-1索引表5 数据库实施与测试主要包括数
29、据库实施和测试两个部分。5.1 数据库实施5.1.1 数据库及数据库对象建立(1)建立索引:Create unique index Supplie_index on Supplier(SNum);Create unique index Wood_index on Wood(WNum);Create unique index User_index on Customer(User_Num);Create unique index Book_index on BookList(BFNum);Create unique index Sell_index on SellForm(User_Num As
30、c, SeNum Desc, WNum Desc);(2)创建的视图如表5-1 所示:表5-1 视图表1、创建空闲供应商视图:Create view Supplier_view asSelect SNum, SName, SAdd, SPhonefrom Supplier;2、创建销售情况视图:Create view Selled_view asSelect Wood.WNum, WSign, SeNum, STime, moneyfrom Wood, SellFormwhere Wood.WNum = SellForm.WNum;3、创建供应商基本信息视图:Create view Provi
31、de_view(SNum, SName, WNum, SAmount) asSelect Supplier.SNum, Supplier.SName, SupplyForm.WNum, SupplyForm.SAmountfrom Supplier, SupplyFormwhere Supplier.SNum = SupplyForm.SNum;4.创建待售木材视图1:Create view UnsWood1_view asSelect Wood.WNum, WSign, WName, WAdd, Money, WStatefrom Wood, SellFormwhere Wood.WNum
32、= SellForm.WNum;5.创建订货单视图:Create view Book_view asSelect BFNum, Customer.User_Num, User_Name, BFdatetimefrom Booklist, Customerwhere Booklist.User_Num = Customer.User_Num;6.创建待售木材视图2:Create view UnsWood_view asSelect Wood.WNum, WSign, WName, SAmountfrom Wood, SupplyFormwhere Wood.WNum = SupplyForm.W
33、Num;7、创建所有木材销售视图:Create view Record_view asSelect SupplyForm.WNum, SNum, WStatefrom SupplyForm, Woodwhere SupplyForm.WNum = Wood.WNum;(3)创建的存储过程如表 5-2所示:表5-2 存储过程表1、建立供应商表插入的过程:insert into Supplier(SNum, SName, SAdd, SState,SPhone)values(v_SNum, v_SName, v_SAdd, v_SState, v_SPhone);2、建立木材信息表插入的过程:in
34、sert into Wood(WNum, WSign, WName, WAdd, WState)values(v_WNum, v_WSign, v_WName, v_WAdd, v_WState);3、建立顾客信息表插入的存储过程:insert into Customer(user_num,user_name,user_gender,user_age, user_add, user_phone)values(v_num, v_name, v_gender, v_age, v_add, v_phone);4、建立员工信息表插入的过程:insert into Person(gpnum, gpnam
35、e, gsex, gage, gphone, gproperty)values(gpnum, gpname, gsex, gage, gphone, gproperty);5、建立订货单表插入的过程:insert into Booklist(bfnum, user_num, senum, bfdatetime)values(bfnum, usernum, senum, bfdatetime);6、建立销售单表插入的过程:insert into Selllist(sfnum, senum, user_num, sedatetime, sfmoney)values(sfnum, senum, us
36、ernum, sedatetime, sfmoney);7、建立退款单表的插入过程:insert into Returnlist(rlnum, user_num, sedatetime)values(v_num, v_usernum, v_datetime);8、建立员工信息表删除元组的过程:delete from Personwhere gpnum = v_gpnum;9、建立订单表删除元组的过程:delete from Booklistwhere v_bfnum = bfnum;10、建立退货单删除元组的过程:delete from Returnlistwhere rlnum = v_nu
37、m;(4)创建的触发器如表 5-3 所示:表5-3触发器表1、删除顾客信息级联删除订货单中的相关信息:create or replace trigger DeCustomerbefore insert or update or delete on Customerfor each rowdeclarebegindelete from Booklist where User_num = :old.user_num;end DeCustomer;2、删除供应商级联删除供应表中的相关信息:create or replace trigger DeSupplierbefore insert or upd
38、ate or delete on Supplierfor each rowdeclarebegindelete from Supplyform where snum = :old.snum;end DeSupplier;3、增加一条销售记录级联增加销售表中的相关信息:create or replace trigger AddSeFormbefore insert or update or delete on Selllistfor each rowdeclarebegininsert into SellFormvalues(:new.user_num, :new.senum, null, :n
39、ew.sedatetime, :new.sfmoney);end AddSeForm;5.2 数据库测试主要内容是对建立的数据库及数据库对象进行测试,详细的测试情况如下:并对数据库建立的视图、存储过程和触发器进行演示。1、视图 Supplier_view的演示结果见下图5-4:图5-4 视图 Supplier_view的演示结果2、视图Selled_view的演示结果如下图5-5:图5-5 视图Selled_view的演示结果3、视图Provide_view的演示结果如下图5-6:图5-6 视图Provide_view的演示结果4、视图Book_view的演示结果如下图5-7:图5-7 视图B
40、ook_view的演示结果5、视图Record_view的演示结果如下图5-8:图5-8 视图Record_view的演示结果6、存储过程Supply_Insert演示结果如下图5-9:图5-9 存储过程Supply_Insert演示结果7、存储过程Wood_Insert的演示结果如下图5-10:图5-10 存储过程Wood_Insert的演示结果8、存储过程Customer_Insert的演示结果如下图5-11:图5-11 存储过程Customer_Insert的演示结果9、存储过程Person_Insert的演示结果如下图5-12:图5-12 存储过程Person_Insert的演示结果1
41、0、存储过程Book_Insert的演示结果如下图5-13所示:图5-13 存储过程Book_Insert的演示结果11、存储过程Return_Insert的演示结果如下图5-14:图5-14 存储过程Return_Insert的演示结果12、 存储过程Book_delete的演示结果如下图5-15所示:图5-15 存储过程Book_delete的演示结果13、 存储过程Return_delete的演示结果如下图5-16所示:图5-16 存储过程Return_delete的演示结果6 结束语在这次设计过程中,让我对数据库设计相关的一系列知识有了进一步的认识。由于在此之前,在学校主要学习数据库很
42、基础的知识,有很多东西没有涉及到,所以在设计过程中也会遇到问题。有时会为了解决一个问题而长时间停滞不前,后来在设计中不断看书,上网查资料,经过自己不断的思考、尝试问题都逐一的被解决了。总的来说,通过这次课程设计的感触很多。第一,理论和实践是有差距的;课堂上觉得很简单的东西,真到了要做的时候,会发现并不是一件容易的事。第二,再此之前我认为数据库就像一种语言一样,学会它的语法就应该可以了,不过现在才明白数据库重点在于设计,设计的过程才是最有价值,最有意义也是最富有挑战性的。第三,学习的方式和解决问题的方法,只有掌握好好的学习方式和解决问题的方法,才能提高自己的自学能力,才能更好地体现自我的价值。参考文献1萨师煊、王珊.数据库系统概论(第4版).高等教育出版社, 20062郑阿奇、刘启芬、顾韵华.SQL Server应用教程.人民邮电出版社,20083罗蓉、赵方舟、李俊山.数据库原理及应用(SQL Server).清华大学出版社,20094SQL Server入门篇.网上下载致谢在整个设计过程中,有很多同学和老师对设计给予了重要的支持和帮助。感谢崔老师在我毕业设计过程中,从选题、研究到设计给了我很好意见和指导,对于我的设计工作有很大的帮助;感谢梁老师在实习中给予指导和帮助;感谢公司的吴组长在实习中给予的提点,在此表示衷心的感谢!