




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
石家庄经济学院课程设计报告课程名称: 数据库原理课程设计 专 业: 计算机科学与技术 姓 名: 班 级: 学 号: 指导教师: 2015年 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 Server2008进行实施的,数据库创建语句如下:CREATE DATABASE Home ON PRIMARY ( NAME = NHome, FILENAME = ND:sqlMSSQL10.MSSQLSERVERMSSQLDATAHome.mdf , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = NHome_log, FILENAME = ND:sqlMSSQL10.MSSQLSERVERMSSQLDATAHome_log.ldf , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)其次是对表的创建,票据管理系统共需创建7个表,分别是:用户表、权限表、司机表、货物表、收货地表、取货地表、票据表。权限表的创建语句如下:CREATE TABLE dbo.T_Authority(authorityId char(10) NOT NULL,authorityName char(10) NOT NULL, CONSTRAINT PK_T_Authority PRIMARY KEY CLUSTERED )authorityId ASC用户表的创建语句如下:CREATE TABLE dbo.T_User(userId char(30) NOT NULL,userName char(10) NOT NULL,userPassword char(30) NOT NULL,authorityId char(10) NOT NULL, CONSTRAINT PK_T_User PRIMARY KEY CLUSTERED (userId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY司机表的创建语句如下:CREATE TABLE dbo.T_Driver(driverId char(10) NOT NULL,driverName char(10) NOT NULL,carId char(20) NOT NULL,address char(30) NOT NULL,Tel char(15) NOT NULL, CONSTRAINT PK_T_Driver PRIMARY KEY CLUSTERED (driverId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY货物表的创建语句如下:CREATE TABLE dbo.T_Cargo(cargoId char(10) NOT NULL,cargoName char(10) NOT NULL,price decimal(18, 2) NOT NULL,addressId char(10) NOT NULL, CONSTRAINT PK_T_Cargo PRIMARY KEY CLUSTERED (cargoId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY收货地表的创建语句如下:CREATE TABLE dbo.T_startAddress(startAddressId char(10) NOT NULL,startAddressName char(10) NOT NULL,address char(30) NOT NULL,Tel char(15) NOT NULL, CONSTRAINT PK_T_startAddress PRIMARY KEY CLUSTERED (startAddressId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY取货地表的创建语句如下:CREATE TABLE dbo.T_endAddress(endAddressId char(10) NOT NULL,endAddressName char(10) NOT NULL,address char(20) NOT NULL,Tel char(15) NOT NULL, CONSTRAINT PK_T_endAddress PRIMARY KEY CLUSTERED (endAddressId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY票据表的创建语句如下:CREATE TABLE dbo.T_Bill(billId uniqueidentifier NOT NULL,driverId char(10) NOT NULL,cargoId char(10) NOT NULL,loadWeight decimal(18, 2) NOT NULL,unloadWeight decimal(18, 2) NOT NULL,startAddressId char(10) NOT NULL,endAddressId char(10) NOT NULL,beginTime datetime NOT NULL,backTime datetime NOT NULL,registerTime datetime NOT NULL,isdelete char(2) NOT NULL, CONSTRAINT PK_T_Bill PRIMARY KEY CLUSTERED (billId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY5 数据库的实施用数据库语句对数据库进行测试用户表数据录入如下:insert into T_User values(111,韩子飞,123,2)insert into T_User values(666,韩增利,123,1)成功插入数据后,可看到用户表中的数据,如图5-1所示。图5-1 用户表成功录入数据2权限表数据录入如下:insert into T_Authority values(1,管理员)insert into T_Authority values(2,用户)成功插入数据后,可看到用户表中的数据,如图5-2所示。图5-2 权限表成功录入数据3 货物表数据录入如下:insert into T_Cargo values(200101 , 粉煤灰 , 25.60,3001) insert into T_Cargo values(200102 , 水泥 , 25.60,3002) 成功插入数据后,可看到货物表中的数据,如图5-3所示。图5-3 货物表成功录入数据4 取货地表数据录入如下:insert into T_startAddress values(3002, 鼎鑫,鹿泉市鼎鑫水泥厂 insert into T_startAddress values(3001,徐水,保定市徐水市 成功插入数据后,可看到取货地表中的数据,如图5-4所示。图5-4 取货地表成功录入数据5 收货地表数据录入如下:insert into T_endAddress values(2001,徐水,河北省保定市徐水县,133198245888)insert into T_endAddress values(2002,望都,河北省保定市望都县,134821348315)insert into T_endAddress values(2003,鹿泉,石家庄市鹿泉市,133821348316)成功插入数据后,可看到收货地表中的数据,如图5-5所示。图5-5 收货地表成功录入数据6司机表数据录入如下:insert into T_Driver values(1002,韩小鹏,130185198804327641,鹿泉市黄壁庄镇上吕村insert into T_Driver values(1001,大明,130185198805679324,鹿泉市黄壁庄镇上吕村 成功插入数据后,可看到司机表中的数据,如图5-6所示。图5-6 司机表成功录入数据6 系统运行结果票据管理系统运行过程及截图如下:1程序开始,先进入用户登录界面,输入正确的用户名和密码,才能进入系统。否则会弹出输入错误的提示框。登录界面如图6-1(a)所示。图6-1 (a)用户登录界面如果输入了错误的用户名,会弹出提示框,如图6-1 (b)所示,只有用户名正确,密码正确才能成功登录票据管理系统。图6-1 (b) 用户名输入错误2若管理员成功登录后,即可进入窗体主界面,且可以使用该系统所有功能,管理员主界面窗体如图6-2(a)所示。若用户成功登陆后,只能使用该系统的部分功能,用户主界面窗体如图6-2(b)所示。图6-2(a) 管理员主窗体界面图6-2(b) 用户主窗体界面3进入主窗体界面可以其进行操作,通过主窗体的功能按钮可以打开对应的子窗体,如用户管理窗体、司机管理窗体、货物管理窗体、收货地管理窗体、取货地管理窗体。分别如图6-3(a)所示,如图6-3(b)所示,如图6-3(c)所示,如图6-3(d)所示,如图6-3(e)所示。图6-3(a) 用户管理子窗体图6-3(b)司机管理子窗体图6-3(c)货物管理子窗体图6-3(d)收货地管理子窗体图6-3(e)取货地管理子窗体4. 在每一个子窗体中都可以对其中的数据进行增、删、改的数据操作,因本系统需求问题,除了票据管理系统外,其他数据都不会太多,所以不设置查询功能,可直接在子窗体的表格中看到。对数据进行增加的数据操作是,需要进行查重处理,因为各个子窗体表现特征一致,故选择货物管理子窗体进行添加功能演示,查重表现如图6-4(a)所示。图6-4(a) 查重表现对于添加的功能的演示,因为涉及级联删除的功能显示,故我们通过取货地子窗体新增一条数据、对于货物子窗体也新增一条相应的数据,取货地子窗体如图6-4(b)所示,货物子窗体添加数据如图6-4(c)所示。图6-4(b) 取货地子窗体添加图6-4(c) 货物子窗体添加通过刚才添加的级联关系验证数据的级联删除,删除取货地中关于“望都”的数据,则刚添加的货物会级联删除。取货地管理中删除功能如图6-4(d)所示。查看货物管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难点解析人教版八年级上册物理光现象《光的反射》重点解析试卷(含答案详解版)
- 会计资格证考试题目及答案
- 2025济南小教面试考试真题及答案
- 贵池十中分班考试题及答案
- 个人债权转让协议示范文本8篇
- 汶上三中分班考试试卷及答案
- 金水区公益性岗位考试题及答案
- 2025年《劳动关系协调员》考试练习题及答案
- 2025年陕西省西安市碑林区事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷
- 2025年陕西省事业单位招聘考试卫生类医学影像专业知识真题模拟及答案
- 【道法】学会自我保护课件 2024-2025学年统编版道德与法治七年级下册
- 6S管理知识培训课件
- 培养孩子阅读习惯模板
- 2024水电暖通风消防安装工程劳务分包合同
- 海关法律法规培训
- 江苏省徐州市2024-2025学年八年级上学期11月期中道德与法治试题
- 北京市清华大学附中2024届高三第一次质量考评数学试题试卷
- 信息检索课件 第2章 文献检索方法(1)-2
- 金工深度研究-SAM:提升AI量化模型的泛化性能-华泰证券
- 遵义市2025届高三年级第一次适应性考试(一模)生物试卷(含答案)
- 《高等数学(第2版)》 高职 全套教学课件
评论
0/150
提交评论