订货数据库设计分解Word文档下载推荐.docx
《订货数据库设计分解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《订货数据库设计分解Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
题目:
初始条件:
在一个订货系统的数据库中,存有顾客、货物和订货单的信息。
●顾客(顾客号、收货地址、赊购限额、余额、折扣)
●订货单(顾客号、收货地址、订货日期、订货细则)
●订货细则(货物号、订货数量)
●货物(货物号、制造厂商、厂商的实际存量、最低存货量、货物描述)
要求完成的主要任务:
1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个订货数据库,DBMS可选MsSQLServer、Access、VFP等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要内容包括:
需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:
本学期第18周:
1.消化资料、系统调查1天
2.系统分析1天
3.总体设计,实施计划2天
4.撰写报告1天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
1.需求分析:
1.1功能需求:
需求分析的任务是调查应用领域,对应用领域中各种应用的信息要求和操作要求进行详细分析,形成需求分析说明书。
有人说订货的好坏,决定了当季销售业绩的一半。
订货一方面可以保证我们发货的总量维持不变,公司所发货品总数即为销售总数,这样可以为公司控制货品销售争取主动,能够较准确地掌控生产与库存总量;
另一方面可以控制一定量的滞销款返回以促进其销售,为公司疏缓库存压力。
订货过程随之产生大量的数据和订单,如何管理纷繁复杂的客户和订单关系的问题随之而来,现代化企业的订单管理,需要借助数据库软件高效率地进行,以替代传统的手工方式管理订单文件档案的效率不高的方式。
运用数据库软件进行订单管理,有许多优点:
效率高,保密性好,减少了订单管理者的工作量和劳动强度。
将产生的大量数据保存至数据库,这给订单信息的查找,更新和维护都带来了不少便利,节省了人力和物力。
根据对订货数据库功能的需求我制定了订货数据库所要完成的目标:
(1)创建订货数据库以方便添加、更新、管理数据,实现数据规范化,包括客户数据管理、订单数据管理、货物信息管理等模块。
(2)运用数据库高效率处理日常业务,包括数据库系统维护和设置、客户资料建立和更新,订单管理和审核,货物管理等功能。
1.2可行性分析:
随着信息技术和计算机技术的飞速发展,订货数据库系统已经在企业和供应商等方面扮演者相当重要的作用,对提高业务效率发挥着重要的作用。
在现在的市场经济中,顾客越来越多的要求快速、高效的服务,使得企业和供应商应用计算机技术来提高自己的业务水平,其中订货数据库是其中一个重点,很好地管理订单,开发新的订单系统就显得尤其重要。
开发订单数据库系统就是根据业务流程将业务的各类数据联系起来,组成一个有机的系统,使得业务、财务、市场等方面的信息得以方便、快捷地传递并经过综合处理生产各种报表送交给各个职能部门及决策者。
在面对如此庞大的数据处理量时,数据库技术的使用必要性毋庸置疑。
本次设计数据库的开发使用了SQLSever2008这一强大的工具,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。
SQL语句进行数据查询更新等操作十分简单方便,对操作人员的计算机知识要求不高,可见该数据库系统有很高的实用性,对订单数据的管理有切实的作用。
SQLSever和前台开发工具有很好的接口,为本数据库系统的后续前台开发提供了很多便利。
1.3问题域描述:
同一个顾客订货时可能有多种不同的订货细则,不同的货物分别有不同的属性值,如货物号,制造厂商等,且不同的顾客会有不同的顾客号与收货地址等。
供货商为了准确的记住不同顾客的订货需求,就有必要建立一个庞大的数据库来保存这些信息,以供发货或结算时作为佐证。
顾客第一次找供货商订货,供货商需要把顾客的姓名,收货地址,联系电话等信息给供货商。
同一个顾客可以签订多份订货单。
在每个订货单中可以有多种货物,订购的货物有其属性,如:
货物号,货物名,订货价等。
每个订货单可以对应多份订货细则。
供货商根据订货单给顾客发货。
供货商进入订货数据库系统对顾客信息进行添加,修改等。
由于顾客或订货商们订货时会有各种不同的需求,随着顾客量的增加,顾客的信息量也在增加,必须确保顾客信息的准确和完整性。
1.4数据流图:
1.5数据库字典:
1.5.1数据项:
数据项是数据的最小单位,对数据项的描述包括:
数据项名、含义、类型、长度、取值范围以及与其他数据项的逻辑关系。
(1)顾客信息:
顾客号,姓名,电话,邮编,收货地址,赊购限额,余额,折扣,开户银行,银行账户
(2)订货单信息:
订单号,顾客号,收货地址,订货日期,发货日期,付款方式,订货细则号
(3)订货细则信息:
货物号,订货细则号,订单号,订货数量,订货金额
(4)货物信息:
货物号,货物名,订货价,生产日期,制造厂商,厂商的实际存量,最低存货量,货物描述
(5)账号信息:
用户名,密码,权限
1.5.2数据表:
顾客表:
列名
数据类型
长度
允许空
顾客号
文本
50
否
收货地址
收货限额
数字
长整型
余额
100
是
折扣
开户银行
20
银行账户
姓名
电话
邮编
10
订货单:
订单号
订货日期
日期/时间
8
发货日期
付款方式
订货细则表:
货物号
订货细则号
订货数量
订货金额
货物表:
货物名
订货价
生产日期
制造厂商
厂商的实际存量
最低存货量
货物描述
200
账号表:
用户名
密码
权限
2.概念设计:
概念设计结构通常有自顶向下、自底向上、逐步扩张、混合策略4类方法。
其中最经常采用的策略是自底向上的方法。
即自顶向下的进行需求分析,然后在自底向上地设计概念结构。
自底向上设计概念结构的方法通常有可分为两步:
(1)抽象数据并设计局部视图。
(2)集成局部视图,得到全局的概念结构。
2.1数据库的实体属性:
顾客:
(顾客号,姓名,电话,邮编,收货地址,赊购限额,余额,
折扣,开户银行,银行账户)
(订单号,顾客号,收货地址,订货日期,产品发货日期,
付款方式)
订货细则:
(货物号,订货细则号,订单号,订货数量,订货金额)
货物:
(货物号,货物名,订货价,生产日期,制造厂商,厂商的实际存量,
最低存货量,货物描述)
账号:
(用户名,密码,权限)
2.2系统E-R图设计:
为了把系统的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(E-R图)。
它描述了从用户角度看到的数据,它反映了用户的显示环境,而且与在软件中的实现方法无关。
以下便是本系统的E-R图表示:
2.2.1顾客实体图和描述:
描述:
属性顾客号唯一标示一位顾客。
一个顾客号可以对应多个订单号。
2.2.2订货单实体图和描述:
订单号唯一的确定一个订单,在订货细则里可以看到一个订单里可以对应多个订单细则号。
订单号作为订货细则里的外码。
2.2.3订货细则实体图和描述:
订货细则号可以唯一的确定一份订货细则。
顾客订购一种货物的话只能对应一个订单细则号.但是一个订单细则号只能对应一种货物号。
订单里不同的细则号就可以对应多种货物了。
2.2.4货物实体图和描述:
货物号可以唯一的确定以中货物。
通过货物号与订单细则号联系起来就可以实现一份订单里可以购买多种货物。
2.2.5账号实体图和描述:
用户名来确定用户的身份和所能进行的操作。
在对订货管理数据库进行操作的时候必须要每个用户名不一样,他们的密码是可以相同的,拥有不同权限的用户对数据库有不用的操作。
2.2.6总体E-R图及描述:
一个顾客可以下单签订多个订货单,顾客实体有唯一标示顾客的属性:
顾客号。
在每个订货单里面有唯一标示该订单的订单号,并且一个订单号只能对应一个顾客号,但一个顾客号可以对应多个订单号。
一个订单可以有多个订货细则所构成。
在每一个订货细则里都有唯一标示的订货细则号,为了简化数据库,一个订货细则号对应一种货物,可以是多个订货细则对应一种货物,一个订单可以购买多种货物。
3.数据库逻辑设计:
这个过程首先将概念结构转换为关系模型。
其次是对数据模型进行优化。
E-R图向关系模型的转换:
(顾客号,姓名,电话,邮编,收货地址,赊购限额,余额
此为顾客实体型对应的关系模型。
顾客的顾客号是该关系模型的候选码。
(订单号,顾客号,收货地址,订货日期,产品发货日期,付款方式)
此为订货单实体型对应的关系模型。
订单号是该关系模型的候选码。
一个订单号里面对应一位顾客号。
(订货细则号,货物号,订单号,订货数量,订货金额)
此为订货细则实体型对应的关系模型。
订货的订货细则号是该关系模型的候选码。
一个订单里可以有多个订货细则号。
此为货物实体型对应的关系模型。
货物的货物号是该关系模型的候选码。
此为账号实体型对应的关系模型。
账号的用户名是该关系模型的候选码。
对不同的用户设置不同的权限。
4.数据库物理设计:
数据库的物理设计通常分为两步:
(1)确定数据的物理结构。
(2)对物理结构进行评价,评价的重点是时间和空间效率。
4.1开发环境:
本课程设计开发环境:
MicrosoftVisualStudio2010,SQLSERVER2008,Windows7系统。
4.2数据库表的设计:
订货单表:
4.3用户界面设计:
4.4功能说明:
本系统主要分成六个功能模块,每个模块都独立的完成了自己的功能,以下是对各功能模块的说明:
(1)登录模块:
该功能模块是为了让不同的用户登录到不同的界面上去,管理员用户可以登录到对整个数据库进行添加、删除、修改、查询等操作。
而普通的顾客只能进行简单的查询操作。
(2)顾客信息管理模块:
该功能模块是对顾客的顾客号、姓名、收货地址、电话、邮箱、邮编等信息进行添加,删除,修改,查看。
普通的顾客是无法进入该模块的。
(3)订货单信息管理模块:
该功能模块是对订货单信息的订单号、顾客号,订货日期,产品发货日期,预计寄达时间,运输方式,付款方式等信息进行添加,删除,修改和查看。
(4)订货细则信息管理模块:
该功能模块是对订货细则信息的订货细则号,货物号,订单号,订货数量,订货价,订货金额等信息的添加,删除,修改,查看。
(5)货物信息管理模块:
该功能模块是对货物信息货物号,货物名,订货价,生产日期,制造厂商,厂商的实际存量,最低存货量,货物描述等信息的添加,删除,修改和查看。
(6)顾客查询模块:
该功能模块是是专门为顾客准备的,顾客可以根据自己的顾客号来查询自己的信息。
5.数据库的运行和维护:
数据库建立完成后,需要添加管理员信息,货物信息,按情况添加需要管理的顾客和订单信息,试运行合格后,数据库开发工作就基本完成,即可投入正式运行了。
但是,由于应用环境在不断地变化,数据库运行过程中物理存储业会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。
对数据库经常性的维护工作主要是由DBA完成的,它包括:
数据库的转储和恢复
数据库的安全性、完整性控制
数据库性能的监督、分析和改造
数据库的重组织和重构造
对于本数据库来说,主要完成数据库的完整性控制。
例如五个表中主码不能为空,对于特别说明的不能为空的属性也不能为空,还有前四个表中的对应关系要注意,它们就是用户自定义的完整性。
在账号管理中设计权限保证数据的安全操作。
6.心得和体会:
通过本次课程设计的练习,使用了数据库课程相关知识进行了一系列应用。
使用了数据库系统设计与分析的相关知识,sql数据库语言的实际操作,并且对于总体的数据库开发计划也有了基本的概念,在做该数据库系统的的过程中从对数据库实际应用知识的懵懂,模糊,到有了大体的思路,到最后整体设计的形成,都经过一番反复的思索和研究。
ER图画好之后,可以说这个数据库的架构已经整体地呈现在脑海里了,但是为了更好的优化和设计出所需要的系统,就应该对ER图进行进一步的冗余检查,对ER图进行全面的优化,尽量使它符合3NF模式,最后用sql语句实现数据库。
通过这次课程设计,我觉得我收获的远不止于这个系统的设计,而是对于数据库系统的开发设计步骤与方法的实践掌握。
我觉得这是对我数据库系统开发能力最好的训练和考核,是一次真正的开发实践,为进一步深入的项目开发积累了经验。
虽然对数据库更深层次的知识还不够熟悉,但至少有了建立数据库和使用数据库的实际经历,以后工作中知道该怎么做和从哪做起。
这次的课程设计中有很多知识是我课堂上没有认真学习过的,这就要求我自己去查阅相关的书籍和资料。
而且也给了我更多了解编程语言的机会,锻炼了我的自学能力。
通过一周的努力,这次课程设计圆满结束了,在这个过程中,我学会了很多知识,积累了很多经验,在以后的学习中,我会更加努力地学会专业知识,并将所学知识投入到实践中去,以便更好地掌握。
7.参考文献
《数据库系统简明教程》,王珊,高等教育出版社