快递管理系统

数据库课程设计

课程名:数据库系统概念 题目名称:快递管理系统 学院:基础科学学院 专业:信息与计算科学 班级:080802班 学号:20082241 姓名:佃锐钿 指导教师:郭晗 组长:胡越

快递管理系统

1.项目概述

随着计算机的发展,传统的人工处理手段与企业高速发展之间的矛盾越来越明显,这就要求采用先进的管理方法。以计算机为核心的电子通信技术为企业提供了很好的管理平台,同时,电子资料的快捷、高效等特性,也给了企业管理各种资料带来方便。

快递公司通过高效,准确的传输方式为客户提供各种方便、快捷的服务,因此“快”、“准”就是快递公司最大的特色,更是快递企业赖以生存的保障。

快递管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,为企业提供准确、精细、迅速的各种信息。通过快递管理系统,可以有效地管理人员,有效的配置人员及运送的快件,达到资源合理利用。

1.1 快递管理系统的提出

1.1.1 快递公司管理现状

当前大部分的快递公司管理企业还是通过手工处理的方式,为了实现资料的电子化,不得不再请打字员将各种资料进行录入,不仅效率低下而且增加了不必要的人员费用。为了统计需要的数据,还要进行繁重的统计工作,而且很容易出错。对于顾客要查询投递快件状况的需求也无法很好的满足。

随着计算机的发展,电子信息技术也越来越受到关注,经济全球化使得企业活动的范围越来越广,企业必须加大控制范围和提高信息采集、管理的速度,传统的人工处理手段与企业高速发展的需求之间的矛盾越来越明显,这就要求采用先进的管理方法。以计算机为核心的电子通信技术为企业提供了很好的管理平台。同时,电子资料的快捷、高效等的特性,也给了企业管理各种资料带来方便。这种管理系统的应用为企业的生产经营,销售,财务等提供了有效的处理手段,它正以强大的活力渗透到企业的管理的各个方面,成为现代企业科学管理必不可少的工具。

将管理信息与计算机,网络紧密结合,建立起一套合理、高效、科学的工作流程及工作制度,以逐步实现全面的现代化、信息化管理,并与现有信息系统实现无缝连接和平稳过渡,组成高效稳定的信息系统,并为管理层提供决策基础。

1.1.2 信息系统简介

信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护、以企业战略竞优、提高效益和效率为目的,支持企业高层决策、中层控制、基层运作的集成化的人机系统。它主要包括了两个大方面:人和计算机。

信息系统的目标是:利用计算机硬件和软件,手工作业,分析,计划,控制和决策。同时提供信息,支持企业或组织的运行、管理和决策的功能。主要的组

成有: 计算机硬件(包括运算器,控制器,存储器,输入/输出设备等),计算机软件(包括系统软件、应用软件、支撑软件),通信网络(包括终端,通信通道,介质等)和最关键的:人。

1.2 快递管理系统的开发意义

快递公司通过高效,准确的传输方式为客户提供各种方便、快捷的服务,因此“快”、“准”就是快递公司最大的特色,更是快递企业赖以生存的保障,在信息发达的今天,这个特点就更加突出了。以往的手工处理快件业务的方法显然不能适应企业的发展,效率低下而且容易出错。快递公司每天都要处理相当的数量的面单信息,包括对企业人员的管理,客户资料的管理等,同时,管理面单的各类报表等,给企业提供了很好的参考依据,也方便统计各种数据。

快递管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的快件管理系统,实现快递公司的面单信息、人员资料、客户资料、公司资料的管理,并提供统计报表的计算机系统,为企业提供准确、精细、迅速的各种信息。通过数据库技术可以轻松实现对面单信息、人员资料的有效管理,并实现档案管理电子化,将资料储存在计算机磁盘上,不仅方便快捷,占用空间少,而且减少了企业重复性的工作。计算机的运算快,效率高,所以提高业务的处理速度,增加了快递公司的业务量。通过快件管理系统,可以有效地管理人员,有效的配置人员及运送的快件,达到资源合理利用。

快递管理系统同时顾及到一个关键的部分:顾客的需求。受当前因特网发达条件的影响,也为了给顾客提供更加方便快捷的服务,快件管理系统在一定意义上为顾客提供了很好的服务,这样才能够在激烈的竞争中生存,因此,快递管理系统对于快递公司来说是很有必要的。

2.系统分析

从快递系统的功能需求,性能需求,运行要求,系统约束等方面进行考虑,对快递管理系统进行分析。

根据快递公司的操作流程:接线、调度、入库、出库、递送及客户信息反馈都是一个离散的过程,操作极为困难,决策极为迟缓。

在财务结算时也由于没有一套行之有效的方案总管全局也给快递快运公司带来极大的混乱以及造成不必要的呆帐坏帐。

针对快递公司面临的诸多困难,需要从硬件上与软件方面都提供了一套行之有效的帮助快递快运公司走出困境、增强竞争力的解决完整方案。

信息化方案将快递公司的所有业务有机的结合起来,形成一个闭路循环,为公司管理者、决策者提供强大的统计、查询、决策功能。以致达到双赢的目的。

2.1 总体功能要求

快递管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易

维护的快递管理系统,实现快递公司订单信息,人员资料管理,统计报表自动化的计算机系统,为企业提供准确、精细、迅速的各种信息。

2.1.1 快递业务描述

首先,发货客户与快递公司签订货运合同(货运单),把货物交给快递公司来托运,并按照货运合同的付款方式付款。快递公司根据货物运输线路,为货物配车,找到合适的车辆后,与司机签订运输合同(回执单),并按照运输合同的运费结算方式结算。司机对货物检查无误后,装车,然后发车,发车后,货物的任何损失由司机承担。

司机到达目的地后,需要经过货物验收,验收通过,填写一份司机回执单,快递公司这时同时通知发货客户和收货客户,货物已到达。如果货物没有通过验收,则填写差错记录。如果该货物不需要中转,通知收货客户来提货,客户验收通过后,填写客户回执单,快递公司这时通知发货客户,所发货物已被提走。然后进行转货结算。

2.1.2业务流程

图 2-1 业务流程图

2.1.3数据流图

物流信息管理系统顶层DFD

图 2-2

物流信息管理系统1层DFD

图 2-3

2.1.4系统的功能模块划分

模块划分时描述一个系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发中一个关键过程。分析的根本目的时在开发者和提出需求的人员之间建立一种理解和沟通的机制。因此,物流快递系统的需求分析也是根据开发者和实际用户需求一起来完成的。根据日常快递管理的业务逻辑把系统划分如下:

1. 接线管理

根据系统原有的参数设置,接线员一旦接到业务信息,对于月结客户只需输入发件方客户编号资料,系统能够智能市内市外(信函、票务、货运等)业务准确、及时的给出客户想探知的其他信息,并根据单双程或多次重复投递,自动归类给出报价;对于现金客户,系统只需知道收发件的地址等相关参数,系统自动的给出报价,节约了接线员查看原有单据及相关繁琐纸质资料的时间,争取时间等于争取了客户,并利用信息化解决了因单据撤消而意向客户丢失的难题。

2. 调度管理

调度员很容易通过系统查看每个快递员的具体信息,节约了调度员常需联络快递员的繁琐工作,为快件及时接取送达提供了快递员参考依据,并产生以公里数进行具体的报价,进而更有效的利用GIS 调配就近的快递员进行接取送达,节约了调度成本,增强了快递反应时间,增加了客户的可信任度,同时利用本系统监控了快件多次重复调度;系统提供了二次调度及多次调度,取消接线订单的功能,便于将来财务结算。

3. 车辆管理

车库管理将车的情况的管理起来,系统将每个分公司或分发中心,仓库的车辆进行管理,统一调度。

避免了车辆管理失控的情况。系统并辅以条码管理,简便了快递公司车辆出入库的管理,同时在整个车辆系统中,快递企业很容易查找车辆的整个行程,避免了快递企业查车难的困惑。

4. 财务管理

在本系统中,财务作为企业的第三支眼来监控接线、调度、重复投递的整个帐务活动。系统提供了强大的对单功能,月结客户、现金客户的应付、应收帐款的销帐功能、统计查询功能及快递员与接线员业绩考核功能,工资计算功能,将公司的整个财务帐款、收支平衡尽在掌握当中。减少了手工帐管理的繁琐及单据丢失所带来的错帐坏帐的几率,使公司财务处于良性循环之中。

5. 客户服务

系统提供了客户快件查询、投诉等功能,客户只要通过本系统,通过远程提交相关资料及录入相关的查询条件,就能一目了然的知晓自身的快件投递情况,改变了以往依靠电话进行查询的方式。依靠此方案,企业全面提升了服务意识,在竞争中处于不败之地。

6. 管理决策

系统提供了诸多的查询、统计功能,便于了解企业的经营情况及客户结算情况,可以查询员工考勤情况、财务分析报表、调度情况、递送情况;分析员工服务忠实程度、企业营业情况;自主提升企业形象;注重服务范围及服务质量。

2.1.5系统功能结构图

1. 前台功能结构图

图 2-4

2. 后台功能结构图

图 2-5

2.2需求分析 2.2.1接线管理

实现客户托单的信息化处理,同时需要支持信息的自动接收和转换,能够接收和处理多种方式(如传真、电话、Email 、EDI 等)的订单信息

1. 功能描述:

接货管理的主要功能是填写一份货运单,该货运单的内容包括货运单编号、发货客户信息、收货客户信息、运费、保险费等,提交货运单后,同时修改该货运单状态为待运,票据状态为已填。填完货运单后,需要为本次货运添加货物。在货物列表中,添加货物,主要填写货物的名称、重量、体积、货物价值等信息。

可以查看不同状态的货运单,比如待发运单、未到运单、未结运单。填写完运单但还没有发货的运单为待发运单;运单已发但还未到,为未到运单;没有结算的运单统称为未结运单。注:货运单只有在待运状态时,才可以修改和删除,其他状态不能对其数据操作。

2. 功能流程图:

图 2-6 接货管理流程图

2.2.2价格管理

解决了客户存在的由于客户群、货物种类庞杂,报价难,价格不规范的难题,并快速的给出配送价格

1. 功能描述:

价格管理的主要功能是对票据本的分发,查询,修改和删除。以及票据的已填、作废、结帐查询。当货运单或回执单填写完后,则该票据的状态便是已填;当已填的票据被删除时,则该票据的状态便是作废;当票据已完成结算,则该票据的状态便是结帐。注:货运单和运输合同只是票据本中的一张票据。

2.流程图:

图 2-7 票据流程图

2.2.3车辆管理

发货信息包括货物名称、货物价值、货物件数、箱号、发货人、发货单位、发货地点、到货地点、发货日期、出境日期、到货日期等

1.功能描述:

车辆管理的主要功能是对车辆的分发,查询,修改和删除。

2.流程图:

图2-8车辆管理流程图

2.2.4收货管理

收货信息:收货人、包数、收货地点、发货单位、欠包数、欠款处理等 收货完成后,需要对每票货物的准确位置,以及详细情况进行跟踪,可以随时查到

1. 功能描述:

收货管理的主要功能是对到达的货物进行回执管理和货物验收管理。 (1)到货回执管理(包括司机回执和客户回执):

1) 司机回执是在到达的货物通过验收以后,填写一份司机回执单,回执单内容包括,运输合同编号、司机姓名、验收纪录等。已填的回执单可以查看、修改和删除。回执单填写完后,通知发货客户和收货客户,货物已到达,修改回执单的状态为“回执”。如果货物没有通过验收,则填写差错记录。

2) 客户回执是收货客户收到货物,并验收后,填写一份客户回执单,回执单内容包括,货运单编号、客户姓名、验收纪录等。已填的回执单可以查看、修改和删除。同时通知发货客户,该货物已被提,修改货运单的状态为“回执”。 (2)到货验收(包括差错信息、新到货物、到货历史): 1) 差错记录是客户对已到达的货物进行验收时,对有差错问题的货物填写差错记录。该差错记录包括,货运单编号、回执单编号、客户姓名、差错类型、货物信息等。已填的差错记录可以查看、修改和删除。

2) 新到货物是对新到的货物进行即时保存,并可查看到货内容。发出到货通知后,修改货运单的状态为“到货“,这是此货物就不属于新到货物了。该纪录

就被转到到货历史中存放。

3) 到货历史是对发过的到货通知进行记录保存,可查看详细信息。

2.流程图:

图2-9到货管理流程图

2.2.5运费管理

运费信息:体积、重量、价格、超重、加收、保险费、包装费、服务费等 费用情况:预付金额、结算金额、信息费、装车杂费、货损赔付等管理

1.功能描述:

运费管理的主要功能是对货运单、运输费用、代收款等结算,并对结算单进行管理。

货运单结算主要是针对运货客户或者收货客户的结算。它分为未结运单和已结运单。当本单金额+保险费-减款不等于收到金额时,为未结运单。反之为已结运单,并放到结算历史中。

运输结算主要是针对司机运费的结算。它分为未结运费和已结运费。当运费+订装费+加运费不等于已付金额时,为未结运单,当运费+订装费+加运费等于已付金额时,结算成功,并放到结算历史中。

其它费用结算主要包括实际产生的搬运费及运输中所产生的其它费用的结算。

2.流程图:

1)货运单结算:

图2-10货运单结算流程图

2)运输合同结算:

图2-11运输合同结算流程图

3)其他结算:

图2-12其他结算流程图

3.算法描述:

货运单结算计算:应收金额=本单金额+保险费-减款-已付金额。 货运单结算:收到金额=本单金额+保险费-减款。

运输合同计算:余额=承运费+订装费+加运费-已付金额。 运输合同结算:已付金额=运费+订装费+加运费。 预付结算:已付金额=预付金额+付款金额。 2.2.6客户关系管理

实现客户的资料建档,客户业务历史信息备案、客户信用管理、客户投诉管理、客户查询及统计报表等

1.功能描述:

客户服务的主要功能是对客户的投诉情况进行管理以及提货回告、到货回告、已提回告、代收回告。

投诉管理主要是对客户的投诉进行管理。用户首先投诉登记,然后快递公司进行投诉处理处理完后放到投诉历史里。

提货回告是当司机填写完回执单后,通知收货客户前来提货。

到货回告是当司机填写完回执单后,通知发货客户,所运货物已经到达。 已提回告是收货客户提走货物以后,通知发货客户,货物已被提走。

2. 流程图:

1)客户投诉:

图2-13客户投诉流程图

2)客户回告:

图2-14客户回告流程图

2.2.7监控分析

1.功能描述:

监控分析的主要功能是对货运单监控和整体运营状况进行分析及报表处理 运单时间监控,分为预期未到运单和滞留未取运单。预期未到运单是当前时间>托运时间+线路时间。滞留未取是货物到达后,3天未取得货物。

运单质量监控是对错差货损货物的监控。

统计报表包括:客户运量排行,司机运量排行,业务统计日报表,内部职员业务分析报表,客户运费排行表,车辆成本统计表,货运结算月报表,往来业务分析报表,专线整体成本分析报表。

客户运量排行:在指定的发货日期范围内,对发货客户的运费、保险费、货物件数进行总和统计。

司机运量排行:在指定结算日期范围内,对司机的承运费、加运费进行总合统计。

业务统计日报表: 对提货点的每一天业务进行查询统计。 内部职员业务分析报表:对每个职员所做的业务进行统计。

客户运费排行表:对发货客户的运费、保险费、付回扣、运费减款进行统计。 车辆成本统计表:在指定结算时间内,对所有车辆的每一次业务的运费、加运费进行统计。

货运结算月报表:所有车辆在指定月内,所有业务的结算统计报表。 往来业务分析报表:是发货客户每次业务的统计。

专线整体成本分析报表:是对每趟专线的运费、保险费、次数进行统计。

2.流程图:

图2-15监控分析流程图

2.2.8成本核算

1.功能描述:

成本核算的主要功能是对公司收入、支出的管理。计算出公司的损益情况,并以报表的显示出来。

收入录入主要是对营业外的收入进行管理。

支出录入包括对职员的工资进行管理;对财务费用进行管理;对办公费、房租费、水电费等进行管理;对客户赔款进行管理。

2.流程图:

图2-16成本核算流程图

3.算法描述:

损益=收入-支出;

收入=营业收入+非营业收入; 营业收入=运费+保险费;

支出=经营费用+管理费用+财务费用;

经营费用=车运费+赔款+货差货损+搬运工资; 管理费用=办公费+房租+水电+电话费+其他;

2.2.9应用管理

1.功能描述:

应用管理的主要功能是对系统中的基本信息管理,包括客户管理、司机管理、线路管理、职员管理。

客户管理主要是对客户基本信息的添加、修改和删除。 司机管理主要是对司机基本信息的添加、修改和删除。 线路管理包括城市的管理和线路的管理。城市管理主要是对主要城市和范围城市的基本信息的添加、修改和删除。主要城市对应的范围城市,就是该交货点

的中转地。线路管理就是对起运站-到达站的信息管理,包括线路的历程和抵运时间。

职员管理主要是对快递公司内部职员的基本信息的添加、删除和修改。

2.流程图:

1)客户管理:

图2-17客户管理流程图

2)司机管理:

图2-18死机管理流程图

3) 线路管理:

图2-19线路管理流程图

4)职员管理:

图2-20职员管理流程图

2.3数据字典

1. 数据项名:员工编号

数据项含义说明:公司员工编号 别名:Emp_id 数据类型:int 长度:4

取值范围:0-4

2. 数据项名:员工姓名

数据项含义说明:公司员工姓名 别名:Emp_Name 数据类型:char 长度:10

取值范围:0-10

3. 数据项名:员工性别

数据项含义说明:公司员工性别 别名:Emp_Sex 数据类型:char 长度:10

取值范围:0-10

4. 数据项名:员工年龄

数据项含义说明:公司员工年龄 别名:Emp_age 数据类型:int 长度:4

取值范围:0-4

5. 数据项名:员工岗位

数据项含义说明:公司员工在公司所担任的职务 别名:Emp_Positon 数据类型:char 长度:10

取值范围:0-10

6. 数据项名:电话号码

数据项含义说明:公司员工的联系方式 别名:Emp_TEL 数据类型:int 长度:4

取值范围:1-4

7. 数据项名:家庭地址

数据项含义说明:公司员工的家庭住址 别名:Emp_ADD 数据类型:varchar 长度:50

取值范围:1-50

8. 数据项名:员工身份证号码

数据项含义说明:公司员工的身份信息 别名:Iden_Num 数据类型:varchar 长度:200

取值范围:0-200

9. 数据项名:员工密码

数据项含义说明:公司员工的登录密码 别名:Emp_pwd

数据类型:Varchar(12) 长度:12

取值范围:0-12

10. 数据项名:员工权限

数据项含义说明:公司员工的权限 别名:Emp_auth

数据类型:Varchar(10) 长度:10

取值范围:0-10

11. 数据项名:隶属公司编号

数据项含义说明:公司员工的所属公司编号 别名:Bra_id

数据类型:smallint

12. 数据项名:快递公司编号

数据项含义说明:快递公司的编号 别名:Bra_id

数据类型:samllint 13. 数据项名:公司名称

数据项含义说明:公司的名称 别名:Bra_Name

数据类型:varchar(20) 长度:20

取值范围:1-20

14. 数据项名:公司联系电话

数据项含义说明:公司的具体联系电话 别名:Bra_tel

数据类型:varchar(12) 长度:12

取值范围:1-12

15. 数据项名:公司地址

数据项含义说明:公司的地址 别名:Bra_addr

数据类型:varchar(60) 长度:60

取值范围:1-60

数据项含义说明:公司的经理编号 别名:Emp_id

数据类型:smallint 17. 数据项名:派送范围

数据项含义说明:公司送货的范围 别名:Bra_area

数据类型:varchar(100) 长度:100

取值范围:1-100

18. 数据项名:不送范围

数据项含义说明:公司不送货的范围 别名:Bra_no_area

数据类型:varchar(100) 长度:100

取值范围:1-100

19. 数据项名:客户编号

数据项含义说明:寄货的客户编号 别名:code

数据类型:smallint 20. 数据项名:客户姓名

数据项含义说明:寄货的客户姓名 别名:User_Name

数据类型:varchar(20) 长度:20

取值范围:1-20

21. 数据项名:客户性别

数据项含义说明:寄货的客户性别 别名:user_Sex 数据类型:char(10) 长度:10

取值范围:0-10

22. 数据项名:客户电话号码

数据项含义说明:寄货客户的电话号码 别名:User_Tel

数据类型:varchar(20) 长度:20

取值范围:1-20

23. 数据项名:客户地址

数据项含义说明:寄货客户的地址 别名:User_Addr

数据类型:varchar(200) 长度:200

取值范围:1-200

数据项含义说明:寄货客户的邮编 别名:User_zip

数据类型:varchar(8) 长度:8

取值范围:1-8

25. 数据项名:用户类型

数据项含义说明:寄货客户是属于个人还是公司等类型 别名:User_type

数据类型:varchar(20) 长度:20

取值范围:1-20 26. 数据项名:车牌

数据项含义说明:送货车辆的车牌 别名:trademark

数据类型:varchar(20) 长度:20

取值范围:1-20 27. 数据项名:车型

数据项含义说明:送货车辆的型号 别名:Brand

数据类型:char(10) 长度:10

取值范围:1-10

28. 数据项名:车辆样式

数据项含义说明:送货车辆的形状,外观等 别名:Style

数据类型:varchar(20) 长度:20

取值范围:1-20

29. 数据项名:车辆载重

数据项含义说明:送货车辆所能载的重量 别名:Car_load

数据类型:varchar(200) 长度:200

取值范围:1-200 30. 数据项名:司机

数据项含义说明:送货车辆的驾驶员 别名:Drivername 数据类型:varchar(8) 长度:8

取值范围:1-8

31. 数据项名:车辆联系人

数据项含义说明:送货车辆司机的电话号码

别名:Linkman

数据类型:varchar(20) 长度:20

取值范围:1-20

32. 数据项名:快递单条形码

数据项含义说明:快递单的条形码 别名:Exp_num

33. 数据项名:货物名称

数据项含义说明:客户所寄物品的名称 别名:goods_name

数据类型:varchar(12) 长度:12

取值范围:1-12

34. 数据项名:货物重量

数据项含义说明:客户所寄物品的重量 别名:goods_weight 数据类型:tinyint 35. 数据项名:货物数量

数据项含义说明:客户所寄物品的件数 别名:goods_pnum 数据类型:tinyint 36. 数据项名:货物体积

数据项含义说明:客户所寄物品的体积 别名:goods_bulk 数据类型:int 长度:4

取值范围:1-4

37. 数据项名:货物费用

数据项含义说明:客户所寄物品的费用 别名:goods_fare 数据类型:smillint 38. 数据项名:货物说明

数据项含义说明:客户所寄物品的其他信息 别名:goods_explation 数据类型:varchar(80) 长度:80

取值范围:1-80

39. 数据项名:货物类型

数据项含义说明:客户所寄物品的类型 别名:goods_type

数据类型:varchar(10) 长度:10

取值范围:1-10

40. 数据项名:收货客户ID

数据项含义说明:领取货物的客户ID 别名:Take_Num 数据类型:int 长度:10

取值范围:1-10

41. 数据项名:收货客户姓名

数据项含义说明:领取货物的客户姓名 别名:Take_name

数据类型:varchar(20) 长度:20

取值范围:1-20

42. 数据项名:收货客户性别

数据项含义说明:领取货物的客户性别 别名:Take_sex

数据类型:varchar(8) 长度:8

取值范围:1-8

43. 数据项名:收货客户电话号码

数据项含义说明:领取货物客户的电话号码 别名:Take_tel 数据类型:int 长度:20

取值范围:1-20

44. 数据项名:收货客户地址

数据项含义说明:领取货物客户的地址 别名:Take_addr

数据类型:varchar(100) 长度:100

取值范围:1-100

3. 数据库设计

3.1数据库设计的基本原则

数据库的规划和设计在整个软件工程中占有非常重要的地位,它在整个系统中不但起着存储各种信息,供统计、查询、分析等使用的作用,而且协调各个子系统之间的数据接口。数据库设计应具有合理性、规范性以及适应性,数据库之间的关系及设置直接关系到系统的优劣。设计数据库系统时应首先需要充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。为了提高系统开发的质量和效率,基础数据管理和查询维护子系统的数据库设计遵循以下原则:

(1)层次分明,布局合理。

数据库系统必须层次分明,合理布局,数据信息进行浓缩、归纳、合并,减少冗余,提高数据共享程度。

(2)保证数据结构化、规范化、编码标准化。

这是建立数据库系统和进行业务部门内、外信息交换的基础。在每一个数据库设计之前都有一个充分的、详细的数据分析、数据格式及较为统一的编码,为减少数据的冗余量,应尽量避免数据库结构的重复,并保证整个数据库设计的完整性。

(3)数据的独立性和可扩展性。

做到数据库的数据具有独立性,独立于应用程序,使数据库的设计及其结构的变化不影响程序,反之亦然。此外,由于业务也是在不断变化的,所以数据库设计需考虑其扩展接口,使系统增加新的应用或新的需求时,不会引起整个数据库系统的重新改写。

(4)共享数据的完整性、正确性和一致性。

应充分考虑数据资源的共享,合理建立公共数据库。采用数据库分层管理,使不同层次的信息数据共享。另外,由于共享数据是面向多个程序或多个使用者的,多个用户存取共享数据时,必须保证数据的正确性和一致性。

(5)减少不必要的冗余

建立数据系统后,应避免不必要的数据重复和冗余。 (6)保证数据的安全可靠。

数据库是整个信息系统的核心,它的设计要保证其可靠性和安全性,不能因某一数据库的故障导致整个系统的瘫痪。做好对数据库访问的授权设计,对数据的非法访问,病毒侵扰和软、硬盘故障破坏,采取相应的保密措施。

3.2概念结构设计

概念结构是将需求分析抽象为信息结构即概念模型的过程,这样才能更好地、更准确的用某一DBMS 实现这些需求,是整个数据库设计的关键,它主要特点是能真实、充分地反映现实社会,包括事物和事物之间的联系,能满足用户对数据的处理需求,是对现实世界的一个真实模型,而且还易于理解,也方便用户的操作,对数据的修改和各种模型的转换。

3.2.1概念结构设计的方法与步骤

1. 概念结构设计的方法

概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。

2. 概念结构设计的步骤

第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此我们先逐一的设计分E-R 图。

第二步是进行视图的集成:各子系统的E-R 图设计好之后,下一步就是要将所有的分E-R 图合成一个系统的总E-R 图,一般有两个方式,多个分E-R 图一次集成,另一种是一次集成两个分E-R 图。这里采用多个分E-R 图一次集成的方式。

3.2.2局部概念设计

各个实体的局部E-R 图如下:

图3-1收货客户E-R 图

图3-2车辆E-R 图

图3-3客户E-R 图

图3-4员工E-R 图

图3-5货物E-R 图

图3-6快递公司E-R 图

图3-7快递记录E-R 图

图3-8成本核算E-R 图

3.2.3全局概念结构设计

综合各实体的局部E-R 模型图形成全局E-R 图:

图3-9系统总体结构E-R 图

3.3逻辑结构设计

3.3.1 E-R图向关系模型的转换

将图3-9总体概念结构E-R 图转化成关系模型。

快递公司(公司编号,名称,地址,联系电话,经理编号,派送范围,派送范围) 员工 (员工编号,姓名,年龄,性别,岗位,电话号码,家庭住址,身份证

号码,隶属公司编号,密码,权限)

客户 (客户编号,姓名,性别,电话号码,地址,邮编,客户类型) 货物 (条形码编号,物品名称,物品重量,物品数量,物品体积,物品费用,

物品说明,物品类型)

快递记录(快递单条形码,收件员工ID ,收件时间,派送时间,出发时间,到达

时间,派送员工,收件客户签名)

车辆 (车牌,车型,样式,载重,司机,联系人) 收货客户(ID ,姓名,性别,电话号码,地址)

成本核算(成本账单,车运费,赔款,货差货损,员工工资,办公费,其他费用,收入)

雇佣 (公司编号,员工编号) 服务 (员工编号,客户编号) 统计 (员工编号,成本账单) 盈亏 (公司编号,成本账单) 管理 (员工编号,条形码编号) 装载 (条形码编号,车牌)

记录 (条形码编号,快递单条形码) 配送 (车牌,ID )

3.3.2数据模型的优化

优化原则如下:

1. 实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性及为关系模式的属性,实体标识符及为关系模式的键。

2. 联系类型的转换,根据不同的情况做不同的处理。 (1)一个1:1联系可以转换为一个独立的关系模型,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系合并,则需要在该关系模式的属性中加如另一个关系模式的码和联系本身的属性。

(2)一个1:n 联系可以转换为一个独立的关系模式,也可以与 n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n 端实体的码;n 端对

应关系模式合并后关系的属性:在n 端关系中加入1端的码和联系本身的属性,合并后关系的码不变。

(3)一个m :n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

(4)三个或三个以上的实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

优化后的关系模型如下:

快递公司(公司编号,名称,地址,联系电话,经理编号,派送范围,派送范围,

员工 (员工编号,姓名,年龄,性别,岗位,电话号码,家庭住址,身份证

号码,隶属公司编号,密码,权限, 成本账单, 客户编号)

客户 (客户编号,姓名,性别,电话号码,地址,邮编,客户类型) 货物 (条形码编号,物品名称,物品重量,物品数量,物品体积,物品费用,

物品说明,物品类型, 员工编号, 快递单条形码, 车牌)

快递记录(快递单条形码,收件员工ID ,收件时间,派送时间,出发时间,到达

时间,派送员工,收件客户签名)

车辆 (车牌,车型,样式,载重,司机,联系人) 收货客户(ID ,姓名,性别,电话号码,地址

成本核算(成本账单,车运费,赔款,货差货损,员工工资,办公费,其他费用,

收入)

3.4设计用户子模式

3.4.1客户信息模块

客户基本信息模块主要实现如下功能: 1 添加客户信息 2 修改客户信息 3 删除客户信息 4 查询客户信息

该模块主要完成客户基本信息的输入、查询与修改, 客户基本信息中是以客户编号为主键, 来识别表的唯一性。

在客户信息模块中添加了一项查询功能, 这样可以使用者更加方便的操作所需要信息, 大大节约了搜索的时间。

3.4.2员工信息管理模块

员工信息管理是企业管理中不可缺少的一项工作。员工信息管理模块用于每个员工信息的管理。

主要包括以下几项功能: 1. 员工信息的录入

2. 员工信息的修改与删除 3. 员工信息的查询

员工信息管理的输出结果是员工工作的一个基础。

3.4.3车辆信息模块

车辆信息管理模块主要实现如下功能: 1 添加车辆信息 2 修改车辆信息 3 删除车辆信息 4 查询车辆信息

该模块主要完成车辆信息的输入、查询与修改, 部门中是以车辆编号为主键, 来识别表的唯一性。

在车辆信息模块中添加了一项查询功能, 这样可以使用户更加方便的操作所需要信息, 大大节约了搜索的时间。

3.4.4货物信息模块

货物信息的主要功能包括: 货物信息的添加

货物信息的修改与删除 货物信息的查询

该模块主要完成货物信息的输入、查询与修改, 货物信息中是以条形码编号为主键, 来识别表的唯一性。

在货物信息模块中添加了一项查询功能, 这样可以使用户更加方便的操作所需要信息, 大大节约了搜索的时间。

3.5数据库表结构

表1:快递公司(branch )

表2:客户信息表(db_customer)

表3: 车辆信息表

表4:员工信息表(employee )

表5:快递单-物品情况表(goods)

表6:客户-员工表(exp-user-emp )

表8:历史记录(trace )

表9:开通地区表(inter_city)

4. 数据库设计SQL 语句

4.1数据定义及其结果

包含数据库的创建、表的创建、数据的插入相关的SQL 语句

4.1.1 创建数据库

create database 佃锐钿_080802

4.1.2 创建数据表

1. 创建快递公司表

create table Employee (

Bra_id smallint Primary key,not null,

Bra_name Varchar(20) Not null,

Bra_tel Varchar(12),

Bar_addr Varchar(60) foreign key,

emp_id smallint,

Bra_area Varchar(100),

);

2. 员工的基本信息表

create table employee

(

emp_id int Primary key,not null,

emp_Name char(20)Not null,

Emp_pwd char(12),

Emp_auth char(10),

emp_Sex char(20),

Emp_age int,

emp_Tel char(20),

emp_Addr char(18),

Iden_ Num char(200)foreign key references department

);

3. 车辆管理信息表

CREATE TABLE carmsg

(

code int Primary key,not null,

Trademark char(20) Not null,

Brand Char(10),

Styl char(20),

Carload char(200),

Drivername char(8),

Linkman char(20),

);

4. 货物信息表

CREATE TABLE goodmsg

(

Id int Primary key,not null,

GoodsName char(12),

GoodsUnit char(20),

GoodsNumber char(20),

GoodsFare char(20),

Style char(80),

GoodsStype char(20),

StartCity char(20)

);

5. 客户信息表

CREATE TABLE enterprise

(

code smallint Primary key,not null,

uer_Sex char(20),

User_Name char(20),

User_Tel char(20),

User_Addr char(20),

User_zip char(20),

User_type char(20),

);

6. 快递单信息表

CREATE TABLE goods

(

Exp_num int Primary key,not null,

goods_name Varchar(12),

goods_weight tinyint,

goods_bulk tinyint,

goods_pnum int,

Goods_fare Varchar(80),

goods_explation smallint,

Goods_type Varchar(10),

);

4.1.3插入数据

员工表

use 佃锐钿_080802

insert into Employee values ('1','张一','0000',' 用户',' ','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001')

insert into Employee values ('1','张二','0000',' 用户',' ','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001') 男男

insert into Employee values ('1','张三','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001')

insert into Employee values ('1','张四','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001')

insert into Employee values ('1','张五','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'送货员','001')

insert into Employee values ('1','张六','0000',' 用户工',' 男','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001')

insert into Employee values ('1','张七','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'搬运员','001')

insert into Employee values ('1','张八','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001')

insert into Employee values ('1','张九','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'经理','001')

insert into Employee values ('1','张十','0000',' 用户',' 男','22','[1**********]',' 长春,'[1**********]0' ,'接线员','001')

快递公司表

use 佃锐钿_080802

insert into branch values ('1','邮政快递','0431-456734',' 长春','007',' 吉林',' 白城')

客户信息表

use 佃锐钿_080802

insert into db_customer values ('1','李一',' 男','[1**********]0',' 长春','130012',' 个体')

insert into db_customer values ('1','李二',' 男','[1**********]1',' 长春','130012',' 个体')

insert into db_customer values ('1','李三',' 男','[1**********]2',' 长春','130012',' 个体')

insert into db_customer values ('1','李四',' 男','[1**********]3',' 长春','130012',' 个体')

insert into db_customer values ('1','李五',' 男','[1**********]4',' 长春','130012',' 个体')

insert into db_customer values ('1','李六',' 男','[1**********]5',' 长春','130012',' 个体')

insert into db_customer values ('1','李七',' 男','[1**********]6',' 长春','130012',' 个体')

insert into db_customer values ('1','李八',' 男','[1**********]7',' 长春','130012',' 个体')

insert into db_customer values ('1','李九',' 男','[1**********]8',' 长春','130012',' 个体')

insert into db_customer values ('1','李十',' 男','[1**********]9',' 长春','130012',' 个体')

车辆信息表

use 佃锐钿_080802

insert into Car values ('吉A001',' 奥迪',' 轿车','100',' 赵一','22',' 李一')

insert into Car values ('吉A002',' 奥迪',' 轿车','100',' 赵二','22',' 李二')

insert into Car values ('吉A003',' 奥迪',' 轿车','100',' 赵三','22',' 李三')

insert into Car values ('吉A004',' 奥迪',' 轿车','100',' 赵四','22',' 李四')

insert into Car values ('吉A005',' 奥迪',' 轿车','100',' 赵五','22',' 李五')

insert into Car values ('吉A006',' 奥迪',' 轿车','100',' 赵六','22',' 李六')

insert into Car values ('吉A007',' 奥迪',' 轿车','100',' 赵七','22',' 李七')

insert into Car values ('吉A008',' 奥迪',' 轿车','100',' 赵八','22',' 李八')

insert into Car values ('吉A009',' 奥迪',' 轿车','100',' 赵九','22',' 李九')

insert into Car values ('吉A000',' 奥迪',' 轿车','100',' 赵十','22',' 李十')

快递单-物品情况表

use 佃锐钿_080802

insert into goods values ('0001','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0002','陶瓷','1000','1','10','12000',' 易碎',' 贵重',' 陶瓷' )

insert into goods values ('0003','函调','10','1','5','120',' 怕湿',' 贵重',' 证件' )

insert into goods values ('0004','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0005','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0006','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0007','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0008','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0009','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

insert into goods values ('0010','衣服','100','1','10','120',' 易脏',' 贵重',' 衣物' )

4.2数据查询

1查询客户所有信息

Select *

From db_customer;

2查询员工表所有信息

Select *

From empolyee;

3查询快递公司所有信息

Select *

From branch;

4查询车辆所有信息

Select *

From Car;

5查询快递单-物品所有信息

Select *

From goods;

4.3数据更新

包含数据库更新的SQL 语句及其前后对照结果

4.3.1 更改1号员工性别

update employee

set emp_Sex='女'

where emp_ID='1';

4.3.2 所有员工的年龄加1岁

update employee

set emp_age= emp_age +1;

5. 开发总结

在这次系统开发过程中对我来说,确实是很辛苦的,因为你得学解决问题,去查找知识和技术,但是通过自己实实在在的去做完系统后,我的收获却是很大的。我从中学到了以下几点:学会自己去解决问题,寻求问题的答案, 即自我学习能力和解决问题的能力;做事一定要仔细,不可粗枝大叶;做事之前一定要周密的思考,全面分析你要去面对的事情,不可走一步做一步;在做项目之前不可盲目的马上动手就做,而是要把业务分析清楚了在做,不然当你做到后面时,会越做越觉得自己前面做的有问题,然后又会花大量的时间去改前面的,这样就浪费了许多的时间与精力,遇到问题时不可浮躁,要有耐心,从而最终解决问题;学习之后要善于对其进行总结分析,这样才能真正的不断进步。

系统的详细设计根据系统分析阶段的结论将系统具体化, 并完成了各个模块的添加、修改、删除与查询的功能, 直到最后形成一个完整的可行性的管理系统。

在整个课程设计阶段的工作和本论文的写作过程的经历使我更深一层的掌握了怎样将理论知识与实践知识结合,把书本上的知识用到实践中去。并且熟悉了SQL SEVER 2000及VISIO 的使用,必将对我今后的工作和发展产生深远的影响。由于毕业设计时间比较仓促,所以该系统还有许多不尽如意的地方,比如数据优化不够充分、触发器没有建立,出错处理不够等多方面问题。这些都有待于进一步的改善。

整个系统基本上完成了,但是在某些具体功能上还不是很好,需要改进。如:在数据查询的功能比较薄弱,缺少多种方式查询的方式;在数据库权限控制方面不够完善。在设计的时候由于自己的经验不足,对情况考虑不够周全,导致程序存在冗余。

由于时间比较紧,因此我所做的课程设计肯定还存在许多的不足之处,程序中也存在许多小错误。这将激励我在以后的学习当中职累更多的经验,努力减少错误的发生。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn