数据库课程设计说明书范文.doc_第1页
数据库课程设计说明书范文.doc_第2页
数据库课程设计说明书范文.doc_第3页
数据库课程设计说明书范文.doc_第4页
数据库课程设计说明书范文.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

目 录前言1正文12.1设计环境12.2设计目的及意义12.3 数据库系统总体方案22.4物流管理系统数据库设计需求分析22.5物流管理系统数据库设计22.6 物理设计与实施62.7设计难点与关键技术102.8结论10参考文献11附录12前言随着计算机的普及,信息技术突飞猛进的发展,计算机越来越多地活跃在社会各个领域:计算、控制、管理等。随着生产技术的不断提高,产品功能的差异越来越小,企业之间的竞争已不单单是原来的产品和宣传的竞争,更是细心周到的全方位业务服务的竞争。开发与实现一个物流管理系统能大大提高企业管理人员的工作效率,为企业管理层的决策提供有效信息。本文在介绍开发系统的技术背景的基础上,主要对系统的托运管理、信息管理和查询管理三大功能模块的设计与实现进行了论述。这几个模块都实现了数据的增、删、改、查询和单据审核等功能,为了符合软件的国际化标准和企业的需要,实现了用户安全与权限认证,不同权限的用户进入系统后的用户界面不同,操作员管理只有系统管理员才有权限设置或修改。论文论述的系统整体设计思想先进,提供各方面完善的企业管理信息,用以计划、决策、控制、分析和考核企业生产经营全过程,从而从本质上提高了企业管理水平;操作简便灵活,系统不仅设置了菜单快捷键,而且提供了与windows风格相同的工具栏,使用户在操作时方便快捷。此外,系统包含多级别的数据保护和权限控制机制,使得用户的业务资料在任何时候都能保持正确和完整。从总的来说,该系统基本满足了用户在物流管理方面的需求。随着经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战.传统物流行业的操作模式已经不适应现代的物流行业,如何缩短物流过程,降低产品库存,加速对市场的反应,这是所有企业所面临的问题.吉林省明日科技有限公司开发的物流管理系统就是针对这些问题并根据中小型企业的实际需求而开发的,本系统能够帮助企业实现对物流全过程的优化调度和动态控制,高效整合企业的物流业务,以全面提高经济效益和效率为目的,提供高效、实用、技术的物流管理系统和运营手段。物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程,集现代运输、仓储配送、搬运、调度、跟踪为一体的网络系统.系统从完善的基础信息设置到货物的托运管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证物流运作有序并高效地进行。正文2.1设计环境在众多的数据库管理系统中,Microsoft SQL Server 2000作为微软的一个成熟的数据库管理系统,并和Windows操作系统平台兼容很强,并操作简便,得到了很多程序员以及企业的认可和推崇。本次设计,开发环境:操作系统: Windows XP应用软件: Power Designer 12.5 Microsoft SQL Server 20002.2设计目的及意义此数据库的设计目的是物流管理系统数据库开发,并加以完善,可以投用于企事业物流管理,其中包括车辆管理、各种信息记录的一些功能。完成系统开发的同时,以论文形式完稿,完成课程设计。 随着经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战.传统物流行业的操作模式已经不适应现代的物流行业,如何缩短物流过程,降低产品库存,加速对市场的反应,这是所有企业所面临的问题.吉林省明日科技有限公司开发的物流管理系统就是针对这些问题并根据中小型企业的实际需求而开发的,本系统能够帮助企业实现对物流全过程的优化调度和动态控制,高效整合企业的物流业务,以全面提高经济效益和效率为目的,提供高效、实用、技术的物流管理系统和运营手段。物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程,集现代运输、仓储配送、搬运、调度、跟踪为一体的网络系统.系统从完善的基础信息设置到货物的托运管理、在线跟踪,信息查询、到最后各种报表的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证物流运作有序并高效地进行。对于典型的数据库管理系统,尤其是对像物流这样的数据流量特别大的管理系统,必须要满足使用方便、操作灵活等设计需求,实现一些初步的计算机化的管理。2.3 数据库系统总体方案(1)选定物流管理系统数据库设计题目,对本次设计的数据库系统进行功能模块分析大致确定程序设计所需要实现的基本功能,整理大致构思。(2)在进行数据库系统设计时要求能完成物流管理系统需的功能,分析、确定各个实体,以及实体中包含的属性。(3)进一步深化数据库系统设计的各种功能,添加、删除、修改相关的实体和属性,使功能进一步完善。(4)特别要求自己独立完成,培养自己的实践操作能力;课程设计完后,认真写出课程设计总结,加深对数据库设计的认识和理解。(5)进一步巩固、加深学生所学专业课程数据库系统概论,理论联系实际,进一步培养综合分析问题 ,解决问题的能力。2.4物流管理系统数据库设计需求分析需求分析的定义是:在管理信息系统开发生命周期中系统详细调查阶段的各项活动和方法。需求分析的目标是:按照系统规划原则在业务系统项目的范围内,具体明确系统开发的目标和用户的信息要求。通过对现行系统的管理水平、原始数据的精确程度、规章制度是否齐全和切实可行、管理人员对开发新系统的需求等内容的详细调查,从而获得软件开发的基础,确定总体设计的限制条件,确认软件测试的具体要求,定义详细的功能模块,以求达到协助系统开发的根本目的。在需求分析中,主要采用业务流程图、数据流程图、数据字典等工具进行描述和分析。需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段原设计,并影响到设计结果是否合理和实用。物流管理系统是现代电子商务环境下物流各环节综合管理信息系统。而我的这次课程设计主要通过powerdesigner这个软件设计数据库,然后生成SQL代码,在SQLServer2000数据库进行开发的物流管理系统,力求与实际相结合具有物流管理日常管理和检索等功能,旨在达到使物流的管理数字化,使之更加方便快捷,以提高工作效率。2.5物流管理系统数据库设计2.5.1数据库设计在功能上设计如下:物流公司希望借助管理系统对基础资料、货物信息和车辆调度信息进行管理。系统主要功能如下:基础资料管理:包括部门资料、职务信息、公司资料、员工资料、客户资料、司机资料和车辆资料的维护和查询。货物托运管理:对车辆调度信息,托运申请信息、托运信息和验收信息进行管理。信息查询:货物申请单查询,车辆调度信息查询、货物托运信息查询、货物托运验收查询。托运管理主要包括:货物托运的申请。托运运输模块包括:货物托运申请成功以后,对货物运输。托运验收模块包括:货物运输到达之后,对货物进行验收。物流管理过程中的各项业务处理流程如图1所示。物流管理系统基础资料管理货物托运管理信息查询部门资料员工资料客户资料司机资料车辆资料车辆调度信息查询公司资料职务信息车辆调度信息托运申请信息托运信息货物申请单查询验收信息货物托运信息查询图1 物流管理系统功能图2.5.2业务流程图业务流程图是一种表明系统内各个单位、人员之间业务关系、作业顺序和管理信息流动的流程图,通过它能够使分析人员找出业务流程中的不合理迂回等。业务流程图的层次简单,可读性强;我的物流管理系统业务流程图如下图2所示: 客户货物申请单公司调配车辆发出装车指令托运在途跟踪托运信息交货、验货收货方验货单图2 业务流程图2.5.3利用PowerDesigner设计数据库PowerDesigner是Sybase公司推出的企业级建模及设计工具,是一种图形化的易于使用的CASE工具集,使用它可以方便地进行数据库的分析与设计。从业务需求与信息流程的分析到物理模型的设计。首先新建一个CDM,根据前期的分析,该物理数据模型图的设计中总共包括了6个表,所以我添加六个实体和四个联系,员工和部门之间的关系一对多关系,一个部门对应多名员工。员工和货物单之间有一个联系,员工填写货物单时间将两者联系起来。客户与货物单通过客户填写货物单时间将两者联系起来。司机与货物单通过司机领取货物单时间将两者联系起来。车辆与货物单之间通过车的发车时间将两者联系起来。通过这些就画出了物流管理的E-R图,如图3所示:图3 物流管理系统概念数据模型E-R图在做好物流管理系统的概念数据模型E-R图后,然后做出物流管理系统的数据字典,如下表所示:客户表字典编号数据流名内部名数据类型类型大小备注C0-01客户IDkhnumbercharacters10主键C0-02姓名khnamecharacters10C0-03性别khsexcharacters2C0-04年龄khagecharacters10C0-05电话号码khtelcharacters10C0-06住址khaddcharacters20员工表字典编号数据流名内部名数据类型类型大小备注C1-01员工IDygnumbercharacters10主键C1-02姓名ygnamecharacters10C1-03电话号码ygtelcharacters10C1-04职务ygworkcharacters20部门表字典编号数据流名内部名数据类型类型大小备注C2-01部门IDbmnumbercharacters10主键C2-02部门名称bmnamecharacters10货物表字典编号数据流名内部名数据类型类型大小备注C3-01货物IDhwnumbercharacters10主键C3-02货物名称hwnamecharacters10C3-03货物重量hwweightcharacters20C3-04发往地址goaddcharacters20C3-05出发地址outaddcharacters20C3-06到达时间gotimecharacters20司机表字典编号数据流名内部名数据类型类型大小备注C4-01司机IDsjnumbercharacters10主键C4-02姓名sjnamecharacters10C4-03年龄sjagecharacters10C4-04性别sjsexcharacters2C4-05电话号码sjtelcharacters10车辆信息表字典编号数据流名内部名数据类型类型大小备注C1-01车辆IDcarnumbercharacters10主键C1-02车辆载重carweightcharacters10C1-03车辆载体carzaiticharacters10在做好数据字典后,然后对数据表进行优化,修改,然后通过powerdesigner将CDM转换成PDM,生成的PDM图如图4所示图4物流管理物理数据模型图2.6 物理设计与实施在生成SQL语言后就可以打开SQL server 2000 然后新建数据库wuliu。如图6所示:图6 SQL中新建数据库打开SQL查询分析器后,然后利用powerdesigner工具设计好的PDM生成SQL代码在粘进命令输入框中,然后点测试、运行结果如图8所示:图8 利用SQL语句生成数据库2.6.1 数据库添加数据数据库生成好后,就可以添加数据了,打开企业管理器,找到我新建的数据库wuliu,然后展开wuliu数据库,可以看到表的选项,然后打开表,可以看到由代码生成的几个表。(1) 打开部门表,向部门表中添加数据,这个时候要注意自己的部门ID,因为他和其他表中有联系,在其他表中输入的时候不可以随意输入,要有目的性的输入,否则会出现错误,输入结果如下图所示:(2)打开车辆信息表,向车辆信息表中添加数据,结果如下图所示:(3)打开货物单表,向货物单添加数据,结果如下图所示:(4) 打开客户表,向客户表添加数据,结果如下图所示:(5) 打开员工表,向员工表添加数据,结果如下图所示:(6) 打开司机表,向司机表中添加数据,结果如下图所示:2.6.2数据库测试经过再次的审查系统的物理数据模型图,从而得到了合理的设计图和正确的脚本。将脚本在SQL Server 2000中运行,生成了表,我们还需要对数据库进行多次测试,看是否能够完成当时的需求,并且能输入符合要求的数据。(1)、基本表的修改添加在车辆信息表中,需要增加一个当时车辆的状态,是否在工作,是否已经发车送货,通过车辆的是否正在工作这个属性来了解到现在哪些车可以装货发车。向车辆信息增加“是否工作”列,其数据类型为char。alter table 车辆信息add 是否工作 char(2)select *from 车辆信息运行结果如下图所示:(2)基本表的查询查询货物单中所有年龄在20岁以上的客户姓名及其年龄select *from客户where 年龄 20运行结果如下图所示:查询部门ID为4 车辆运输部门的员工SELECT *, 部门ID FROM 员工where 部门ID = 4运行结果如下图所示:查询发往乌鲁木齐的货物有哪些SELECT *, 发往地址FROM 货物单WHERE 发往地址 = 乌鲁木齐运行结果如下图所示:查询所有的司机Select * From 司机运行结果如下图所示:通过一遍遍的测试,然后在进行细致的调整,然后完整的设计出了我的课程设计物流管理系统。2.7设计难点与关键技术在本次课程设计中,由于对两种联系的认识不清楚,也没有学过PowerDesigner这个软件,导致走了许多弯路,刚开始设计的很简单,只是一种简单的一对多,多对一得联系,后面通过吴刚老师的讲解,然后使我渐渐的对数据库设计有了一个较为清晰的认识,在设计过程中,对表的设计,主要难点就是对关系的理解,如果将关系理解了,表设计起来就简单了。但是由于设计中有很多不合理的地方,在自动生成脚本时出现了一些错误,例如在主键与外键的设置方面出现了问题等。2.8结论物流管理系统数据库设计的完成共历时两个星期。在设计过程中,第一次接触PowerDesigner这个软件,由于前期落下许多课程,所以对于这个软件一点也不熟悉,然后通过吴刚老师的细心指导,通过看其他同学的设计的E-R图,一遍遍的去看,一遍遍的去理解,网上查资料,终于将实体间的关系搞清楚。在搞清楚实体后,我就主要去完善数据库的各个实体的属性,刚开始在PowerDesigner中设计表的时候感觉不到数据类型与大小的作用,而当输入数据的时候,才发现数据大小设置的不合理,然后从新修改,这是在以后其他设计过程中要注意的问题,一定要设计的合理,要考虑全面周到,这样才能很好的完成设计的需求目标。在修改的过程中采用可以通过程序查询的就不存储,删减一些繁琐、无用的表,使最终达到较少的表能够实现最全面的功能为主。在生成代码的过程中,也出现过错误,但有错误出现就会有解决的方法。所以在不断的摸索中,我也学到了一些新的知识和方法。代码生成成功并不代表各表之间的关系就是正确的,因此我们还要添加数据进行各功能的实现。在对各表添加数据的时候,如果出现有冲突提示时,表示表和表之间的数据输入的先后顺序发生了错误。在输入数据的时候我们应该注意,先输入关系箭头所指的表,这样上述情况就不会出现了。所以说在发现问题时候,不要慌张,一定沉重冷静,考虑为什么会发生错误,然后找到原因,然后思考如何解决问题。我刚出现这样的错误的时候,一着急,以为是表设计的有问题,或者哪里出错了,打算重新设计,但是通过慢慢摸索,发现这个冲突的解决很简单,也让我明白了,以后遇事冷静,方能成功。为期两周的数据库课程设计结束了,感谢吴刚老师对我们的悉心指导,在这学期的学习中,老师不仅教会了我们知识,同时还不忘时时的关心我们,让我们毕业班一次次的感受到了学校、老师对我们的关怀,感谢吴刚老师对我们的辛勤奉献。同时也感谢我的同学,在我有困难的时候帮助我,在我不懂的地方教会我,谢谢你们。参考文献1肖金秀,何鹏,王当文.ASP.NET案例教程.北京:冶金工业出版社.2005.22赛奎春,李严,宋坤,王国辉.SQL Server数据库开发实例解析.北京:机械工业出版社.2006.13郭磐君,孟清华,郭骏.ASP.NET 2.0动态网站设计实例.北京:机械工业出版社.2007.14杨海霞,南志红,相洁.数据库实验指导.北京:人民邮电出版社.2007.95王珊,萨师煊.数据库系统概论.北京:高等教育出版社.2006.56杨志姝,李光海.SQL应用与开发标准教程.北京:清华大学出版社.20067刘晓华,SQL Server2000数据库应用开发.北京:电子工业出版社.20018何玉洁,数据库原理与应用.北京:机械工业出版社,20079壮志剑,张先军.数据库应用实训教程.西安:西安交通大学出版社,200410赵杰,李涛,朱慧.SQL Server数据库管理、设计与实现教程.北京:清华大学出版社.200411初小璐完全掌握SQL Server 2000 M 机械工业出版社,200412Jeraod V.Post.数据库管理系统(英文版.第三版)美.清华大学出版社,2006.113张海藩.软件工程导论M.北京:清华大学出版社,1998.114谢希仁.计算机网络(第二版)M.北京:电子工业出版社,2003.6 15戴志诚,赵国峰.JSP信息化系统建设案例M.北京:人民邮电出版社,2006.1216成晓静,毕靖.网页设计三剑客完全学习手册M.北京:中国电力出版社,2004.1117赵强.精通JSP编程M.北京:电子工业出版社,2006.318萨师煊,王珊.数据库系统概论M.北京:高等教育出版社,2002.219张海藩,李劲,谢兆阳.SQL Server2000数据库设计与系统管理M.北京:清华大学出版社,2000.920刘禾,蔡锋.Web数据库假设技巧M.北京:科技技术出版社,1999.4附录程序代码:/*=*/* DBMS name: Microsoft SQL Server 2000 */* Created on: 2010-12-13 22:10:12 */*=*/alter table fach drop constraint FK_FACH_FACH_货物单goalter table fach drop constraint FK_FACH_FACH2_车辆信息goalter table kftbtim drop constraint FK_KFTBTIM_KFTBTIM_货物单goalter table kftbtim drop constraint FK_KFTBTIM_KFTBTIM2_客户goalter table quhuoda drop constraint FK_QUHUODA_QUHUODA_货物单goalter table quhuoda drop constraint FK_QUHUODA_QUHUODA2_司机goalter table ygtim drop constraint FK_YGTIM_YGTIM_员工goalter table ygtim drop constraint FK_YGTIM_YGTIM2_货物单goalter table 员工 drop constraint FK_员工_RELATIONS_部门goif exists (select 1 from sysindexes where id = object_id(fach) and name = fach2_FK and indid 0 and indid 0 and indid 0 and indid 0 and indid 0 and indid 0 and indid 0 and indid 0 and indid 0 and indid 255) drop index 员工.Relationship_4_FKgoif exists (select 1 from sysobjects where id = object_id(fach) and type = U) drop table fachgoif exists (select 1 from sysobjects where id = object_id(kftbtim) and type = U) drop table kftbtimgoif exists (select 1 from sysobjects where id = object_id(quhuoda) and type = U) drop table quhuodagoif exists (select 1 from sysobjects where id = object_id(ygtim) and type = U) drop table ygtimgoif exists (select 1 from sysobjects where id = object_id(司机) and type = U) drop table 司机goif exists (select 1 from sysobjects where id = object_id(员工) and type = U) drop table 员工goif exists (select 1 from sysobjects where id = object_id(客户) and type = U) drop table 客户goif exists (select 1 from sysobjects where id = object_id(货物单) and type = U) drop table 货物单goif exists (select 1 from sysobjects where id = object_id(车辆信息) and type = U) drop table 车辆信息goif exists (select 1 from sysobjects where id = object_id(部门) and type = U) drop table 部门go/*=*/* Table: fach */*=*/create table fach ( 货物单ID char(10) not null, 车辆ID char(20) not null, fachetime char(20) not null, constraint PK_FACH primary key (货物单ID, 车辆ID)go/*=*/* Index: fach_FK */*=*/create index fach_FK on fach (货物单ID ASC)go/*=*/* Index: fach2_FK */*=*/create index fach2_FK on fach (车辆ID ASC)go/*=*/* Table: kftbtim */*=*/create table kftbtim ( 货物单ID char(10) not null, 客户ID char(10) not null, kftiambiaotime char(20) not null, constraint PK_KFTBTIM primary key (货物单ID, 客户ID)go/*=*/* Index: kftbtim_FK */*=*/create index kftbtim_FK on kftbtim (货物单ID ASC)go/*=*/* Index: kftbtim2_FK */*=*/create index kftbtim2_FK on kftbtim (客户ID ASC)go/*=*/* Table: quhuoda */*=*/create table quhuoda ( 货物单ID char(10) not null, 司机ID char(10) not null, quhuodantime char(20) not null, constraint PK_QUHUODA primary key (货物单ID, 司机ID)go/*=*/* Index: quhuoda_FK */*=*/create index quhuoda_FK on quhuoda (货物单ID ASC)go/*=*/* Index: quhuoda2_FK */*=*/create index quhuoda2_FK on quhuoda (司机ID ASC)go/*=*/* Table: ygtim */*=*/create table ygtim ( 员工ID char(10) not null, 货物单ID char(10) not null, ygtime char(20) not null, constraint PK_YGTIM primary key (员工ID, 货物单ID)go/*=*/* Index: ygtim_FK */*=*/create

温馨提示

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

评论

0/150

提交评论