武汉理工大学《数据库系统原理》课程设计说明书学号:课程设计题目订货数据库设计学院计算机科学与技术专业班级姓名指导教师唐祖锴2013年1月9日武汉理工大学《数据库系统原理》课程设计说明书1课程设计任务书学生姓名:专业班级:指导教师:唐祖锴工作单位:计算机学院题目:订货数据库设计初始条件:在一个订货系统的数据库中,存有顾客、货物和订货单的信息。顾客(顾客号、收货地址、赊购限额、余额、折扣)订货单(顾客号、收货地址、订货日期、订货细则)订货细则(货物号、订货数量)货物(货物号、制造厂商、厂商的实际存量、最低存货量、货物描述)要求完成的主要任务:1.根据上述的初始条件,进行调查分析并设计适当的属性。设计一个订货数据库,DBMS可选MsSQLServer、Access、VFP等。2.完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。时间安排:本学期第18周:1.消化资料、系统调查1天2.系统分析1天3.总体设计,实施计划2天4.撰写报告1天指导教师签名:年月日系主任(或责任教师)签名:年月日武汉理工大学《数据库系统原理》课程设计说明书2订货数据库设计1.需求分析:1.1功能需求:需求分析的任务是调查应用领域,对应用领域中各种应用的信息要求和操作要求进行详细分析,形成需求分析说明书。有人说订货的好坏,决定了当季销售业绩的一半。订货一方面可以保证我们发货的总量维持不变,公司所发货品总数即为销售总数,这样可以为公司控制货品销售争取主动,能够较准确地掌控生产与库存总量;另一方面可以控制一定量的滞销款返回以促进其销售,为公司疏缓库存压力。订货过程随之产生大量的数据和订单,如何管理纷繁复杂的客户和订单关系的问题随之而来,现代化企业的订单管理,需要借助数据库软件高效率地进行,以替代传统的手工方式管理订单文件档案的效率不高的方式。运用数据库软件进行订单管理,有许多优点:效率高,保密性好,减少了订单管理者的工作量和劳动强度。将产生的大量数据保存至数据库,这给订单信息的查找,更新和维护都带来了不少便利,节省了人力和物力。根据对订货数据库功能的需求我制定了订货数据库所要完成的目标:(1)创建订货数据库以方便添加、更新、管理数据,实现数据规范化,包括客户数据管理、订单数据管理、货物信息管理等模块。(2)运用数据库高效率处理日常业务,包括数据库系统维护和设置、客户资料建立和更新,订单管理和审核,货物管理等功能。1.2可行性分析:随着信息技术和计算机技术的飞速发展,订货数据库系统已经在企业和供应商等方面扮演者相当重要的作用,对提高业务效率发挥着重要的作用。在现在的市场经济中,顾客越来越多的要求快速、高效的服务,使得企业和供应商应用计算机技术来提高自己的业务水平,其中订货数据库是其中一个重点,很好地管理订单,开发新的订单系统就显得尤其重要。开发订单数据库系统就是根据业务流程将业务的各类数据联系起来,组成一个有机的系统,使得业务、财务、市场等方面的信息得以方便、快捷地传递并经过综合处理生产各种报表送交给各个职能部门及决策者。在面对如此庞大的数据处理量时,数据库技术的使用必要性毋庸置疑。本次设计数据库的开发使用了SQLSever2008这一强大的工具,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。SQL语句进行数据查询更新等操作十分简单方便,对操作人员的计算机知识要求不高,可见该数据库系统有很高的实用性,对订单数据的管理有切实的作用。SQLSever和前台开发工具有很好的接口,为本数据库系统的后续前台开发提供了很多便利。武汉理工大学《数据库系统原理》课程设计说明书31.3问题域描述:同一个顾客订货时可能有多种不同的订货细则,不同的货物分别有不同的属性值,如货物号,制造厂商等,且不同的顾客会有不同的顾客号与收货地址等。供货商为了准确的记住不同顾客的订货需求,就有必要建立一个庞大的数据库来保存这些信息,以供发货或结算时作为佐证。顾客第一次找供货商订货,供货商需要把顾客的姓名,收货地址,联系电话等信息给供货商。同一个顾客可以签订多份订货单。在每个订货单中可以有多种货物,订购的货物有其属性,如:货物号,货物名,订货价等。每个订货单可以对应多份订货细则。供货商根据订货单给顾客发货。供货商进入订货数据库系统对顾客信息进行添加,修改等。由于顾客或订货商们订货时会有各种不同的需求,随着顾客量的增加,顾客的信息量也在增加,必须确保顾客信息的准确和完整性。1.4数据流图:1.5数据库字典:1.5.1数据项:数据项是数据的最小单位,对数据项的描述包括:数据项名、含义、类型、长度、取值范围以及与其他数据项的逻辑关系。(1)顾客信息:顾客号,姓名,电话,邮编,收货地址,赊购限额,余额,折扣,开户银行,银行账户(2)订货单信息:订单号,顾客号,收货地址,订货日期,发货日期,付款方式,订货细则号(3)订货细则信息:货物号,订货细则号,订单号,订货数量,订货金额(4)货物信息:货物号,货物名,订货价,生产日期,制造厂商,厂商的实际存量,最低存货量,货物描述(5)账号信息:用户名,密码,权限顾客管理员订货管理系统订货数据库登录信息返回结果查询信息查询结果登录信息返回结果查询和更新信息查询结果处理数据库信息返回结果武汉理工大学《数据库系统原理》课程设计说明书41.5.2数据表:顾客表:列名数据类型长度允许空顾客号文本50否收货地址文本50否收货限额数字长整型否余额文本100是折扣数字长整型是开户银行文本20否银行账户文本20否姓名文本20否电话文本20否邮编数字10否订货单:列名数据类型长度允许空订单号文本100否顾客号文本50否收货地址文本50否订货日期日期/时间8否发货日期日期/时间8否付款方式文本100否武汉理工大学《数据库系统原理》课程设计说明书5订货细则表:列名数据类型长度允许空货物号文本100否订货细则号文本100否订单号文本100否订货数量数字长整型否订货金额文本100否货物表:列名数据类型长度允许空货物号文本100否货物名文本50否订货价文本100否生产日期日期/时间8否制造厂商文本50否厂商的实际存量数字长整型否最低存货量数字长整型否货物描述文本200是账号表:列名数据类型长度允许空用户名文本100否密码文本100否权限文本100否武汉理工大学《数据库系统原理》课程设计说明书62.概念设计:概念设计结构通常有自顶向下、自底向上、逐步扩张、混合策略4类方法。其中最经常采用的策略是自底向上的方法。即自顶向下的进行需求分析,然后在自底向上地设计概念结构。自底向上设计概念结构的方法通常有可分为两步:(1)抽象数据并设计局部视图。(2)集成局部视图,得到全局的概念结构。2.1数据库的实体属性:顾客:(顾客号,姓名,电话,邮编,收货地址,赊购限额,余额,折扣,开户银行,银行账户)订货单:(订单号,顾客号,收货地址,订货日期,产品发货日期,付款方式)订货细则:(货物号,订货细则号,订单号,订货数量,订货金额)货物:(货物号,货物名,订货价,生产日期,制造厂商,厂商的实际存量,最低存货量,货物描述)账号:(用户名,密码,权限)2.2系统E-R图设计:为了把系统的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(E-R图)。它描述了从用户角度看到的数据,它反映了用户的显示环境,而且与在软件中的实现方法无关。以下便是本系统的E-R图表示:2.2.1顾客实体图和描述:描述:属性顾客号唯一标示一位顾客。一个顾客号可以对应多个订单号。顾客顾客号姓名电话邮编收货地址赊购限额余额折扣银行账户开户银行武汉理工大学《数据库系统原理》课程设计说明书72.2.2订货单实体图和描述:描述:订单号唯一的确定一个订单,在订货细则里可以看到一个订单里可以对应多个订单细则号。订单号作为订货细则里的外码。2.2.3订货细则实体图和描述:描述:订货细则号可以唯一的确定一份订货细则。顾客订购一种货物的话只能对应一个订单细则号.但是一个订单细则号只能对应一种货物号。订单里不同的细则号就可以对应多种货物了。订货细则货物号订货细则号订货金额订货数量订单号订货单顾客号产品发货日期付款方式收货地址订货日期订单号武汉理工大学《数据库系统原理》课程设计说明书82.2.4货物实体图和描述:描述:货物号可以唯一的确定以中货物。通过货物号与订单细则号联系起来就可以实现一份订单里可以购买多种货物。2.2.5账号实体图和描述:描述:用户名来确定用户的身份和所能进行的操作。在对订货管理数据库进行操作的时候必须要每个用户名不一样,他们的密码是可以相同的,拥有不同权限的用户对数据库有不用的操作。2.2.6总体E-R图及描述:账号用户名密码权限货物货物号订货价厂商的实际存量最低存货量生产日期货物名货物描述制造厂商武汉理工大学《数据库系统原理》课程设计说明书9描述:一个顾客可以下单签订多个订货单,顾客实体有唯一标示顾客的属性:顾客号。在每个订货单里面有唯一标示该订单的订单号,并且一个订单号只能对应一个顾客号,但一个顾客号可以对应多个订单号。一个订单可以有多个订货细则所构成。在每一个订货细则里都有唯一标示的订货细则号,为了简化数据库,一个订货细则号对应一种货物,可以是多个订货细则对应一种货物,一个订单可以购买多种货物。3.数据库逻辑设计:这个过程首先将概念结构转换为关系模型。其次是对数据模型进行优化。E-R图向关系模型的转换:顾客:(顾客号,姓名,电话,邮编,收货地址,赊购限额,余额折扣,开户银行,银行账户)此为顾客实体型对应的关系模型。顾客的顾客号是该关系模型的候选码。订货单:(订单号,顾客号,收货地址,订货日期,产品发货日期,付款方式)此为订货单实体型对应的关系模型。订单号是该关系模型的候选码。一个订单号里面对应一位顾客号。订货细则:(订货细则号,货物号,订单号,订货数量,订货金额)此为订货细则实体型对应的关系模型。订货的订货细则号是该关系模型的候选码。一个订单里可以有多个订货细则号。货物:(货物号,货物名,订货价,生产日期,制造厂商,厂商的实际存量,最低存货量,货物描述)此为货物实体型对应的关系模型。货物的货物号是该关系模型的候选码。账号:(用户名,密码,权限)订货单订货细则顾客货物包含下单构成1nn11n武汉理工大学《数据库系统原理》课程设计说明书10此为账号实体型对应的关系模型。账号的用户名是该关系模型的候选码。对不同的用户设置不同的权限。4.数据库物理设计:数据库的物理设计通常分为两步:(1)确定数据的物理结构。(2)对物理结构进行评价,评价的重点是时间和空间效率。4.1开发环境:本课程设计开发环境:MicrosoftVisualStudio2010,SQLSERVER2008,Windows7系统。4.2数据库表的设计:顾客表:订货单表:订货细则表:武汉理工大学《数据库系统原理》课程设计说明书11货物表:账号表:4.3用户界面设计:4.4功能说明:本系统主要分成六个功能模块,每个模块都独立的完成了自己的功能,以下是对各功能模块的说明:(1)登录模块:该功能模块是为了让不同的用户登录到不同的界面上去,管理员用户可以登录到对整个数据库进行添加、删除、修改、查询等操作。而普通的顾客只能进行简单的查询操作。(2)顾客信息管理模块:该功能模块是对顾客的顾客号、姓名、收货地址、电话、邮箱、邮编等信息进行添加,删除,修改,查看。普通的顾客是无法进入武汉理工大学《数据库系统原理》课程设计说明书12该模块的。(3)订货单信息管理模块:该功能模块是对订货单信息的订单号、顾客号,订货日期,产品发货日期,预计寄达时间,运输方式,付款方式等信息进行添加,删除,修改和查看。普通的顾客是无法进入该模块的。(4)订货细则信息管理模块:该功能模块是对订货细则信息的订货细则号,货物号,订单号,订货数量,订货价,订货金额等信息的添加,删除,修改,查看。普通的顾客