
票据管理系统设计与实现.doc
13页石家庄经济学院课程设计报告课程名称: 数据库原理课程设计专业: 计算机科学与技术 姓名: 班级: 学号: 指导教师: 2023年 06 月30日票据管理系统引言随着计算机时代的飞速发展,我们的日常生活开始跟计算机变得密不可分,如今硬件的成熟使得家家都有一台PC机,而相对于传统的报表统计,会计的工作量也在随着时代的变化,脱离了传统的算盘,开始跟计算机接轨相应的以前一些管理软件也不再是一些大型的企业的专属,小户小家也开始学着使用完善的管理系统来减少自己的工作量通过管理系统的分析统计,可以获取自己需求的有效信息,从而化繁为简使枯燥的对接工作变得简单因此小型家用软件的诞生也应运而生,进入到千家万户的数据管理工作当中来1 需求分析本系统的使用用户为重型罐车、货车等行业的从业者根据寒假对于货运票据的整理核对以及跟父母的沟通,得出以下的实际需求1.1票据的基本情况票据的由司机填写,最后交给货车的所有人进行收纳保管1.1.1司机的基本信息入职的时候填写入职表,填写基本信息保存,如姓名,籍贯,身份证号,联系 并为每一名司机分配一个员工号1.1.2发货地的基本信息对于发货地需要清楚其地址,联系方式即可。
1.1.3收货地的基本信息对于收货地需要清楚其地址,联系方式即可1.1.4货物的基本信息货物都有相应的货物编号,名称,所属地,价格1.1.5运输的基本信息司机去接收货物的时候要称量装载重量,接货日期,送到收货地还要在一次称重(运输途中有不部分损耗),收货日期运输途中会产生消费 1.2用户对系统的要求1.2.1处理要求用户应该具有对上述票据的基本情况可以相应增加、删除、修改1.2.2 信息要求用户应具备对上述票据的基本情况可以查询具体的数据,比如年底需要核对票据,应该有相应的票据信息查询,同时应具备票据部分(运输产生的票据)可以统计查询,如一段时间的总车数,实送吨数等等1.2.3安全性和完整性应设置相应的用户登录保证非合法用户不能登录,并且对密码进行MD5加密,也可通过权限来给他人添加用户,比如普通用户有添加数据的权限,但无法修改以及删除,以防止他人通过数据库获取篡改票据信息,带来不必要的麻烦,数据项不能为空值1.3功能模块划分 按照基本模块来划分功能则可分为用户管理、司机管理、收货地管理、发货地管理、货物管理、票据管理六大模块功能设计如图1-1所示图1-1 票据管理功能图1.3.1用户管理以管理员身份登录的用户可以添加新的用户、删除用户、修改用户信息、查询用户信息功能,以普通用户身份登录的用户只可以修改自己的账号信息。
1.3.2司机管理具有司机信息的录入、修改、删除、查询功能1.3.3收货地管理对收货地的信息进行录入、修改、删除、查询功能1.3.4发货地管理对发货地的信息进行录入、修改、删除、查询功能1.3.5货物管理对货物的信息进行录入、修改、删除、查询功能1.3.6票据管理最基本的对票据进行录入、修改、删除(软删除)、查询功能,同时具备票据核查、票据统计、消费统计等基本功能2 概念结构设计由上述需求分析可知系统中包含如下实体:用户实体,其属性为用户编号、用户名称、用户密码权限实体,其属性为权限编号、权限名称司机实体,其属性为司机编号、司机姓名、 、身份证号、籍贯取货地实体,其属性为取货地编号、取货地名称、 、取货地地址送货地实体,其属性为送货地编号、送货地名称、 、送货地地址货物实体,其属性为货物编号,货物名称,价格一个用户只有一个权限所以是一对一关系,通过对应可以获取对于本系统不同的操作权限多名司机可以去多个取货地取货,取货时需要登记日期、称量货重,他们之间的关系是多对多关系多个司机可以送货到多个收货地也要登记日期,称量货重,他们之间的关系也是多对多关系一个取货地可以有多个货物,所以他们之间的关系为一对多关系。
一个收货地接收多个货物,他们之间的关系为一对多关系其整体的E-R图如2-1所示图 2-1票据管理系统E_R图3 逻辑结构设计概念设计是独立于任何一种数据模型的信息结构逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构从理论上讲,设计逻辑结构应该选择最适用于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最适合的DBMS但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地目前DBMS产品一般支持关系,网状,层次三种模型中的某一种对某一种数据模型,各个机器系统又有许多不同的限制,提供不同环境与工具,所以设计逻辑结构时,一般要分3步进行:(1) 将概念模型转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化根据上述步骤,将图2-1所示的E-R图转换为关系数据库模式用户(用户编号,用户名,密码,权限编号);其中用户编号为主码,权限编号为外码权限(权限编号,权限名);其中权限编号为主码司机(司机编号,司机名,身份证号,籍贯,联系方式);其中司机编号为主码。
取货地(取货地编号,取货地名,地址,联系方式);其中取货地编号为主码收货地(收货地编号,收货地名,地址,联系方式);其中收货地编号为主码货物(货物编号,货物名,价格,取货地编号);其中货物编号为主码,取货地编号为外码票据(票据号,司机编号,货物编号,取货地编号,收货地编号,装载重量,卸载重量,出发时间,返回时间,登记时间);其中主码为票据号给出每一个关系的数据结构定义如下:1. 用户用户实体跟权限实体是一对一关系,由此可以得出用户的关系模式:(用户编号,用户名,密码,权限编号)其中用户编号为主码,权限编号为外码如表3-1所示表3-1 用户表属性编号属性名属性类型取值范围备注1用户编号char20主键2用户名char10不能为空3密码char20不能为空4权限编号char10外键2. 权限 权限实体的关系模式:权限编号,权限名)其中权限编号为主码如表3-2所示表3-2 权限表属性编号属性名属性类型取值范围备注1权限编号char10主键2权限名char10不能为空3,司机司机实体的关系模式:(司机编号,司机名,身份证号,籍贯,联系方式)其中司机编号为主码如表3-3所示表3-3 司机表属性编号属性名属性类型取值范围备注1司机编号char10主键2司机名char10不能为空3身份证号char20不能为空4籍贯char20不能为空5联系方式char15不能为空4. 取货地取货地实体的关系模式:(取货地编号,取货地名,地址,联系方式)。
其中取货地编号为主码如表3-4所示表3-4 取货地表属性编号属性名属性类型取值范围备注1取货地编号char10主键2取货地名char10不能为空3地址char20不能为空4联系方式char15不能为空5. 收货地收货地实体的关系模式:(收货地编号,收货地名,地址,联系方式)其中收货地编号为主码如表3-5所示表3-5 收货地表属性编号属性名属性类型取值范围备注1收货地编号char10主键2收货地名char10不能为空3地址char20不能为空4联系方式char15不能为空6. 货物货物实体的关系模式:(货物编号,货物名,价格,取货地编号)其中货物编号为主码,取货地编号为外码如表3-6所示表3-6 货物表属性编号属性名属性类型取值范围备注1货物编号char10主键2货物名char10不能为空3价格char20不能为空4取货地编号char15外键7. 票据票据实体的关系模式:(票据号,司机编号,货物编号,取货地编号,收货地编号,装载重量,卸载重量,出发时间,返回时间,登记时间)其中主码为票据号如表3-7所示表3-7 票据表属性编号属性名属性类型取值范围备注1票据号char10主键2司机编号char10不能为空3货物编号char20不能为空4取货地编号char10不能为空5收货地编号char10不能为空6装载重量Decimal(18,2)不能为空7卸载重量Decimal(18,2)不能为空8出发时间datetime不能为空9返回时间datetime不能为空10登记时间datetime不能为空每个实体属性都满足:(1)所有非主属性对每一个码都是完全函数依赖。
2)所有的主属性对每一个不包含它的码,也是完全依赖函3)没有任何属性完全函数依赖于非码的任何一组属性由此可知,每个实体都满足BCNF,但为了提高数据的存取速度等,在此可以降低实体的范式4 数据库物理设计数据库物理设计是将给定的逻辑结构实施到具体的环境中,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法首先,确定数据库的存储结构,因为人事管理的关系相对比较简单,而且不变,综合考虑了存取时间,存储空间利用率和维护代价,所以,我选择了HASH存取方法其次,确定数据的存取路径是双向的,是指请求和数据存储系统中传递的通道,存取路径就是从数据到物理存储设备之间的交互通道,在人事管理中数据库就担任这个交互的通道再次,确定数据的存放位置,我将表存放在磁盘上,以加快数据的存取速度,将日志文件和数据库对象,包括表等,存放在磁盘上最后,确定系统配置,DBMS产品一般都提供了一些系统配置变量,存储分配参数初始化情况下,系统都为这些变量赋予了合理的默认值,在这里我也采用系统赋予了默认值票据管理系统是采用SQL Server2023进行实施的,数据库创建语句如下:CREATE DATABASE [Home] ON PRIMARY ( NAME = N'Home', FILENAME = N'D:\sql\MSSQL10.MSSQLSERVER\MSSQL\DATA\Home.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'Home_log', FILENAME = N'D:\sql\MSSQL10.MSSQLSERVER\MSSQL\DATA\Home_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)其次是对表的创建,票据管理系统共需创建7个表,分别是:用户表、权限表、司机表、货物表、收货地表、取货地表、票据表。
