手机销售系统数据库课程设计.doc_第1页
手机销售系统数据库课程设计.doc_第2页
手机销售系统数据库课程设计.doc_第3页
手机销售系统数据库课程设计.doc_第4页
手机销售系统数据库课程设计.doc_第5页
免费预览已结束,剩余27页可下载查看

下载本文档

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

文档简介

信息工程学院数据库课程设计论文题 目:手机销售数据库设计学 号:专业班级:姓 名:指导老师:完成日期:手机销售数据库设计(信息工程学院软件工程 级 班)摘 要现在手机店的数目有很多,但规模都不大,所以大多数的店主都还是采用人工管理的方法对手机店的各个模块进行管理,虽然手机店的规模不是很大,但如果人工管理还是一件比较繁琐的事情,稍有不慎就可能出错。现在信息技术不断普及,所以完全可以利用信息技术来管理,既快捷又可靠。此手机销售管理系统,主要是基于各中小型的手机店的管理业务而设计的,是基于微软的SQL SERVER 2000建立的,可用于各种中小型的手机店。关键字:手机;进销存;管理系统;仓库目录1.引言12需求分析12.1 处理对象及组织12.2信息处理及系统功能和性能需要12.3 数据库系统开发环境需求12.4 业务流程图12.5 数据流程图32.5.1 顶层数据流程图32.5.2 第二层数据流程图32.5.3 第三层数据流程图42.6 数据字典63数据库结构设计63.1 概念设计63.1.1 分E-R图建立73.1.2 全局/整体E-R图93.2 逻辑设计93.2.1 建立关系模式103.2.2 关系模式规范化处理103.2.3 用户子模式建立103.2.4 关系模式逻辑结构定义114 数据库物理设计115数据库实施与测试125.1 数据库实施125.1.1 数据库及数据库对象建立125.1.2 数据入库175.2 数据库测试176总结177附录18附录1 数据字典18附录2 关系模式具体内容21附录3 数据库测试结果22附录4 Oracle移植29附录5 实习日志30292008级软件工程专业1班数据库应用系统课程设计课程论文1.引言目前大部分中小型的手机店进行信息管理的主要方式是基于手工处理,最多是用计算机的文本系统打印一些清单,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。在电脑技术高速发展的今天,迫切需要充分利用计算机实现自动化管理。该系统以手机店为背景,根据它的运行模式,分析了解其订机、售机和库存的管理系统,在此基础上建立一个手机销售的管理系统。该系统可以帮助手机店管理人员对各种手机进行详尽、全面地控制和管理,提供的各种详细的报表和分析可以为管理者的决策提供依据,从而可以降低各环节的资金浪费,避免手机积压或短缺,保证手机经营的正常进行。2需求分析2.1 处理对象及组织处理对象和组织如下所示手机:手机编号,价格,供应商,品牌型号,颜色,存放位置仓库:货架编号,剩余面积供应商:供应商编号,名称,地址,电话管理员:管理员编号,姓名,联系电话2.2信息处理及系统功能和性能需要该系统有售机管理模块、仓库管理模块、订机模块、数据统计分析模块、售后服务模块,可以完成手机的进出货和查询等基本操作,完成阶段的销售情况等信息的统计。通过统计各阶段各种手机的销售情况掌握手机的受欢迎情况,及时调整策略,适应市场的需求。充分了解手机店旧的管理系统,及时了解手机店店有哪些新的需求,根据客户的要求,及时完善新的管理系统。2.3 数据库系统开发环境需求系统开发所需环境为XP和SQL Server20002.4 业务流程图通过对手机店的处理内容、处理顺序、处理细节和处理要求等各环节的调查和分析,弄清各个环节所需要的信息内容、信息来源、流经取向、处理方法、计算方法、提供信息的时间和信息表示形态(报表、表单、表格、输入输出内容、屏幕显示)等,并且把相关的调查结果用“业务流程图”表示出来。具体分为进货业务(如图2.4.1所示),销售业务(如图2.4.2所示),售后服务(如图2.4.3所示)。图2.4.1 进货业务流程图图2.4.2 销售业务流程图图2.4.3 售后业务流程图2.5 数据流程图数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了手机销售管理系统的顶层数据流程图、第二层数据流程图和第三层数据流程图。2.5.1 顶层数据流程图图2.5.1 顶层数据流程图图2.5.1 是手机销售管理系统的顶层数据流程图。由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流,在顶层数据流程图中,把手机销售管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。2.5.2 第二层数据流程图确定系统的主要处理功能,可以将系统分为售机管理、库存管理、进货管理等几部分。再确定各个输入和输出的数据流的以及与之相关的数据结构,为各个数据流、加工环节命名图2.5.2 第二层数据流程图并编码,从而得到手机销售进销存系统的第二层数据流程图,如图2.5.2所示。2.5.3 第三层数据流程图再将第二层数据流程图分解就可得到第三层流程图。其中某些数据项处理可分解为多个处理过程。在本系统中有销售模块、进货管理、库存管理模块。每一部分都可以分解为第三层流程图。具体的分解情况如下:(1) 销售管理模块(图2.5.3.1)图2.5.3.1 销售模块第三层数据流程图(2) 进货管理模块(图2.5.3.2)图2.5.3.2 进货模块第三层数据流程图(3) 库存管理模块(图2.5.3.3)图2.5.3.3 库存模块第三层数据流程图2.6 数据字典数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容具体的数据字典内容见附录1。3数据库结构设计主要包括概念设计和逻辑设计两个部分。3.1 概念设计在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。概念结构的主要特点:(1) 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;(2) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;(4) 易于向关系、网状、层次等各种数据模型转换。概念结构设计师各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定概念设计的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。概念设计的任务和方法是能用ER图表示出整个系统的实体,实体的属性及实体间的联系。概念结构设计通常采用的策略是自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构。它通常分为两步:第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。3.1.1 分E-R图建立根据第三层数据流程图得到三个分E-R图:(1)销售E-R图(图3.1.1.1):图3.1.1.1 销售E-R图(2)进货E-R图(图3.1.1.2)图3.1.1.2进货E-R图(3)库房E-R图(图3.1.1.3)图3.1.1.3 库房E-R图3.1.2 全局/整体E-R图图3.1.2.1 全局E-R图通过各个分E-R图之间的联系,合成全局E-R图,如图3.1.2.1所示取消冲突:由于在做局部ER图时,只是针对局部的ER图考虑,导致各个ER图之间有很多不一致的地方,造成在合并局部ER图生成全局ER图时有很多的冲突发生。在定义购机单表时,考虑到购机单肯定比较少,一次编号也比较小,所以就取了整型,而在编写手机信息时,考虑手机的数目很多,如果只用数字标号不好区分也不容易查询,就用的字母加数字来编号,所以在合并的时候造成的冲突,最后我把购机单中的手机编号也改成了字符型的,消除了冲突。3.2 逻辑设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本ER图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。从理论上讲,设计逻辑结构应该选择最适合于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。设计逻辑结构时一般要分3步进行:(1) 将概念结构转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化。3.2.1 建立关系模式ER图转换为关系模型实际上就是要将实体性、实体的属性和实体性之间的联系转换为关系模式,这种转换一般遵循如下规则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型见的联系则有以下不同的情况:(1) 一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2) 一个1:n联系可以转换为一个独立的关系模式看,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码味n端实体的码。(3) 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系吗的一部分。根据以上规则将本系统的ER图转换为关系模式(关系的码用下划线标出)购机单(购机单编号,手机编号,购机数量,购机日期)手机(手机编号,价格,供应商,品牌型号,颜色,存放位置)仓库(货架编号,剩余面积)供应商(供应商编号,名称,地址,电话)管理员(管理员编号,姓名,联系电话)供应(供应商编号、供应量)购买(手机编号、购买数量、购买日期)3.2.2 关系模式规范化处理根据F,分析每一个关系模式是否满足3NF,对不满足3NF的关系模式要进行规范化处理。3.2.3 用户子模式建立对不同级别的用户定义不同的view,如表3.2.3.所示表3.2.3 视图表用户对象视图描述作用管理员客户购机单(购机单编号,手机编号,购机数量,购机日期)用于客户和管理者对购机情况的查询顾客手机1(手机品牌价格,颜色,价格)用于一般用户对手机的查询管理员手机2(手机编号,颜色,价格,供应商,品牌价格,存放位置)用于管理员查询某机的详细信息管理员供应商(供应商编号,名称,地址,电话)用于管理者对所有供应商信息的查询管理员仓库(货架编号,剩余面积)主要用于管理员查看仓库的剩余面积管理员存放(货架编号,存入日期,数量)用于管理员查询手机的简要的信息管理员供应(供应商,供应量)用于管理员查询供应商与其相供应的数量3.2.4 关系模式逻辑结构定义关系模式具体内容见附录24 数据库物理设计通常关系数据库物理设计的内容主要包括:(1) 为关系模式选择存取方法;(2) 设计关系、索引等数据库文件的物理存储结构。物理设计的方法:(1)首先对要运行的事物进行详细分析,获得选择物理结构设计所需要的参数。(2)其次,要充分了解所用RDBMS的内容特征,特别是系统提供的存取方法和存取结构。 建立索引的原则:(1)如果一个(或)一组属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或则会索引);(2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;(3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引;建立索引如表4.1表3.1 索引表所在表名索引名称索引类型所在表的属性供应商SupInfo唯一Pid手机信息表teleTwo聚簇Tprice仓库手机表Storetele聚簇InTime+OutTime进货单ADBuyInfo聚簇BuyDate+BuyNum客户购机单teleInfo聚簇ButTime+BNum建立存储过程如表4.2表4.2 储存过程表存储过程名作用Telefind查询手机基本信息Sum_money统计手机销售情况CteleInfo顾客查询手机信息Spp查询供应商信息Up_TeleInfo更新手机信息表5数据库实施与测试主要包括数据库实施和测试两个部分。5.1 数据库实施5.1.1 数据库及数据库对象建立(1)创建数据库create database MTSMSYSTEM(2)创建基本表create table 供应商信息表(PID char(15) primary key ,PName char(20),PAddr char(30),PTele char(11),)create table 管理员信息表(ADID char(15) primary key,ADName char(10), ADTele char(11),)create table 仓库信息表(SID char(15) primary key,ADID char(15),Area float, )create table 手机信息表(TID char(15) primary key,TName char(30) not null, Tcolor char(15) not null, Tprice int, SID char(15), PID char(15),)create table 客户购机表(TID char(15),BuyTime datetime , BNum int,BuyID char(15) ,)create table 进货单(TID char(15),BuyNum int ,BuyDate datetime, )create table 库存手机表(TID char(15) primary key,SID char(15),SNum int ,InTime datetime,OutTime datetime,)create table 供应表(PID char(15),PNum int,)(3)创建视图买机信息视图create view VIEW_BuyT(BuyID,TID,BNum,BuyTime)asselect BuyID,TID,BNum,BuyTimefrom 客户购机表顾客手机查询视图create view VIew_C(TName,Tcolor,Tprice)asselect TName,Tcolor,Tpricefrom 手机信息表管理员手机查询视图create view VIEW_ADMT_oneasselect TID,Tname,Tcolor,Tprice,SID,PIDfrom 手机信息表供应商视图:create view VIEW_P(PID,Pname,PAddr,Ptele)asselect PID,Pname,PAddr,Ptelefrom 供应商信息表仓库视图:create view VIEW_Sasselect *from 仓库信息表库存手机视图:create view VIEW_StoreP(SID,Tname,Tcolor,Intime,Snum)asselect 库存手机表.SID,Tname,Tcolor,Intime,Snumfrom 库存手机表,手机信息表where 库存手机表.TID=手机信息表.TID数据统计视图:create view VIEW_SUM(Tname,Tcolor,Buydate,Buynum,Snum,Tprice)asselect 手机信息表.Tname,Tcolor,Buydate,Buynum,Snum,Tpricefrom 手机信息表,库存手机表,进货单where 手机信息表.tid = 库存手机表.tid and 手机信息表.tid = 进货单.tid(4)创建触发器在手机信息表上创建触发器提醒管理员相应的操作create trigger tri_delete_teleon 手机信息表for delete asprint 请在仓库中删除此手机在仓库信息表上建立触发器create trigger tri_S_updateon 仓库信息表for update asif (select area from 仓库信息表where sid = S001) = 0print 此货架已满create trigger tri_S_update2on 仓库信息表for update asif (select area from 仓库信息表where sid = S002) =0print 此货架已满create trigger tri_S_update3on 仓库信息表for update asif (select area from 仓库信息表where sid = S003) =0print 此货架已满在库存手机表上建立触发器create trigger tri_update_Steleon 库存手机表for updateasif (select snumfrom 库存手机表where tid = A001)10print 存货不足 请及时进货create trigger tri_update_Stele2on 库存手机表for updateasif (select snumfrom 库存手机表where tid = A002)10print 存货不足 请及时进货create trigger tri_update_Stele3on 库存手机表for updateasif (select snumfrom 库存手机表where tid = A003)10print 存货不足 请及时进货(5) 建立储存过程按手机名查询的存储过程:create procedure telefindtelename char(30)asselect *from 手机信息表where Tname = telename统计手机存储过程:create procedure Sum_moneyasselect 手机信息表.Tname,Tcolor,Buynum,Snum,Tpricefrom 手机信息表,库存手机表,进货单where 手机信息表.tid = 库存手机表.tid and 手机信息表.tid = 进货单.tid顾客查询手机存储过程:create procedure CteleInfoasselect Tname,Tcolor,Tpricefrom 手机信息表供应商信息存储过程:create procedure SppPno char(15)asselect *from 供应商信息表where PID=Pno手机信息表插入:create procedure Up_TeleInfoTI char(15),TN char(15),TC char(15),TPri int,Sno char(15),PI char(15)asinsert into 手机信息表values (TI,TN,TC,TPri,Sno,PI)5.1.2 数据入库系统包括进货管理,库存管理,售机管理和数据统计模块,首先向Excel中录入数据,然后使用SQL Server 2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。5.2 数据库测试对该手机销售管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:(1) 通过视图查看各个基本表和视图中的数据(2) 触发器的测试(3) 储存过程的测试 (详情结果见附录3)6总结通过几个星期的数据库设计实习,对数据库的应用有了更深的理解,在数据库的基本设计方法方面也有了一定的收获。在这次实习中,看到了自己平时学习的不足,发现了基础知识的重要性。不仅在需求分析阶段花了很长的时间,在后面的设计阶段也花费了大量的时间去设计。再设计ER图时,由于对各业务考虑的不全面,导致不断的修改局部ER图,全局ER图迟迟不能生成。经过不断的修改和请教老师同学,最终完成了设计。经过简单的测试,数据库达到了预期的目标。 Oracle移植见附录4实习日志见附录57附录附录1 数据字典(1) 数据项如表1.1表1.1 数据项数据项编号名称简述类型宽度说明I1Tname手机品牌型号Char(30)I2Tcolor手机颜色Char(15)I3TPrice手机价格IntI4TID手机编号Char(15)I5SID仓库货架编号Char(15)I6Area仓库剩余面积Float(10)I7SNum现存的数量IntI8InTime入库的时间DatetimeI9OutTime出库的时间DatetimeI10BuyTime购买时间DtateTimeI11BNum购买数量IntI12BuyID购机单的编号Char(15)I13BuyNum进货数量IntI14BuyDate进机日期DataTimeI15PID供应商编号Char(15)I16PName供应商姓名Char(20)I17PAddr供应商地址Char(30)I18PTele联系电话Char(11)I19PNum供应数量IntI20ADID管理员编号Char(10)I21ADname管理员姓名Char(20)I22ADTele管理员联系电话Char(11)(2)数据结构如表1.2表1.2 数据结构数据结构名含义说明组成手机描述一部手机的详细信息手机编号、手机品牌型号、颜色、价格管理员管理员的基本信息管理员编号、姓名、联系电话购机买机的信息购机人编号、购机人姓名、购机数量、购机日期、单价库存手机描述仓库里手机的详细信息手机编号、入库日期、现存数量、出库日期进货描述进货中涉及的信息手机编号、进货数量、进货日期退货描述退货中涉及的信息手机编号,退货数量,退货原因供应商供应商的详细信息供应商编号、名称、地址、联系电话仓库仓库的基本信息编号、管理员编号、面积(2) 数据流如表1.3表1.3 数据流数据流编号数据流名称简 述数据流来源数据流去向数据流组成数据流量高峰流量F1订货单公司向供应商定购手机的订货单验收货品模块供应商商品编码+商品名称单位+数量+单价+交货日期+订单号1000份/月2000份/月F2发货单供应商发出的收货单供应商验收货品模块商品编码+商品名称+单位+数量+单价+订单号+供应商1000份/月2000份/月F3不合格单采购部验货不合格单验收货品模块退货模块商品编码+商品名称+单位+数量+单价+原因说明100份/月200份/月F4退货单管理员开出的退货单退货模块供应商商品编码+商品名称+单位+数量+单价+退货说明100份/月300份/月F5合格单采购部验货合格单验收货品模块库存账本商品编码+商品名称+单位+数量+单价+合格说明1000份/月2000份/月F6顾客订单顾客购买订单顾客销售货物模块商品编码+商品名称+数量+单价1000份/月2000份/月数据流编号数据流名称简 述数据流来源数据流去向数据流组成数据流量高峰流量F7销售单销售员开出的销售单销售货物模块顾客商品编码+商品名称+数量+单价+交货日期1000份/月2000份/月F8出库信息销售员开出的出库信息销售货物模块库存账本商品编码+商品名称+数量+交货日期1000份/月2000份/月F9保修卡顾客拿得保修卡顾客检测故障模块商品编码+商品名称+数量+交货日期10份/月30份/月F10合格检测单检测部门开出的检测单检测故障模块维修模块商品编码+商品名称+数量+保修卡+故障原因8份/月24份/月F11不合格检测单检测部门开出的检测单检测故障模块顾客商品编码+商品名称+数量+保修卡+不符合保修原因2份/月6份/月F12维修单维修部门开出的维修单维修模块顾客商品编码+商品名称+数量+保修卡+故障原因+维修结果8份/月24份/月F13入库单管理员开出的入库单库存帐本入库模块商品编码+商品名称+单位+数量+单价+供应商+入库日期1000份/月2000份/月F14提货单管理员开出的提货单库存账本出库模块商品编码+商品名称+单位+数量+提货日期1000份/月2000份/月F15库存信息管理员开出的库存信息仓库模块库存账本商品编码+商品名称+单位+数量1000份/月2000份/月 (3) 外部实体如表1.4表1.4 外部实体外部实体编号外部实体名称简述外部实体组成输入的数据流输出的数据流E1供应商提供商品的直接厂家供应商编码+ 名称+地址+联系人+电话订货单发货单E2顾客购买商品的顾客编号+姓名+地址+电话销售单顾客订单E3管理员管理的人员管理员编号+姓名+联系电话入库单出库单(4) 处理逻辑的描述如表1.5表1.5 处理逻辑处理逻辑编号处理逻辑名称简述输入的数据流处理输出的数据流处理频率P1.1验收货品采购部对来货进行检验F2收货单,来源于供应商发出的采购收货单据根据收货单验货,确定供应商提供货品的数量、质量等是否合格F1订货单,向供应商订货;F3不合格单,向供应商退货;F5合格单,入库1000次/月P1.2退货办理退货手续F3不合格单,来源于货物验收人员根据不合格单办理退货,并登记流水帐S1流水帐,F4退货单,将货物退还给供应商150次/月P2.1销售货物对顾客购物情况进行开单F6顾客订单,来源于顾客的购货请求;库存台帐以供查询根据数据流顾客订单,导购代表为顾客进行选台开台,消费记帐等F7销售单,给顾客一份;F8出库单;同时根据出库单登记库存台帐及流水帐2000次/天P2.2检测故障对顾客请求的保修进行检测F9保修卡,来源于顾客的要求根据数据流顾客保修卡,检测部门就顾客提出原因进行检测F10,F11检测后的检测单,根据情况做保修或返货给顾客100次/天P2.3维修对故障就进行维修F10检测单对故障机就行维修,维修后返回给顾客F12维修单100次/月P3.1进库采购的合格货品入库F5货物合格单,来源于管理员根据入库单将采购

温馨提示

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

评论

0/150

提交评论