客户运送数据库设计.docx
《客户运送数据库设计.docx》由会员分享,可在线阅读,更多相关《客户运送数据库设计.docx(19页珍藏版)》请在冰豆网上搜索。
客户运送数据库设计
学号:
课程设计
题目
客户运送数据库设计
学院
计算机学院
专业
班级
姓名
指导教师
唐祖锴
2013
年
1
月
9
日
课程设计任务书
学生姓名:
专业班级:
指导教师:
唐祖锴工作单位:
计算机学院
题目:
客户运送数据库设计
初始条件:
一个专门进行运输业务的运送公司希望建立一个数据库以控制用户的运输订单。
客户向一个办事处进行注册可以有一个或多个订单。
每个订单都描述了运输的路线,包括各个地点和目的地。
计算每个订单的需要的班数和拖车数等。
每个办事处分配给几个班和拖车。
一个班可以有一辆或两辆拖车。
要求完成的主要任务:
1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个客户运送数据库,DBMS可选MsSQLServer、Access、VFP等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要内容包括:
需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:
本学期第18周:
1.消化资料、系统调查1天
2.系统分析1天
3.总体设计,实施计划2天
4.撰写报告1天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
客户运送数据库设计
1.需求分析及说明:
1.1需求分析和可行性分析:
需求分析的任务是调查应用领域,对应用领域中各种应用的信息要求和操作要求进行详细分析,形成需求分析说明书。
需求分析过程一般分一下几个阶段:
(1)调查组织机构的总体情况
(2)熟悉各部门的业务活动情况
(3)分析用户的需求
(4)确定新系统的边界
1.2具体说明:
由于客户提交订单时会有各种不同的需求,而且随着客户注册量的增加,
客户的信息量也在增加,而且必须确保客户信息的准确和完整性。
运输货物有其属性,如:
货物名,运输价等。
不同的客户会与公司建立不同的订单,这些订单对应着不同的运输细则。
这些都是很庞大的数据量,需要建立一个数据库来保存和方便的查询。
1.3问题域描述:
客户找运输公司运送,这时候客户要把客户的姓名,收获地址,联系电话,邮箱地址,邮编等信息给公司。
客户可以签订多份订单。
在每个订单中可以有多种货物。
每个订单就可以对应多份运输细则。
公司根据订单为客户运货。
客户可以登录到订单管理系统查询自己的信息。
公司可以进入订货管理系统对客户信息进行添加,删除,修改等。
这个时候还要考虑到客户只能够看而不能够去修改其数据。
1.4数据流图:
客
户
管理员
客户订单管理系统
办事处
注册发订单
返回结果
查询订单信息
返回结果
登录信息
返回订单
返回计算结果
查询结果
处理数据库信息
返回结果
1.5数据字典:
数据项是数据的最小单位,对数据相的描述包括:
数据项名、含义、别名、类型、长度、取值范围以及与其他数据项的逻辑关系。
(1)客户信息:
客户号,姓名,电话,邮箱,邮编,收货地址,余额,折扣,开户银行,银行账户
(2)订单信息:
订单号,客户号,收货地址,订单日期,发货日期,
预计寄达时间,运输方式,付款方式
(3)运输细则信息:
货物号,运输细则号,订单号,运输数量,运输价,运送班次,运送车数
(4)货物信息:
货物号,货物名,货物保证金,货物数量,货物描述
(5)账号信息:
用户名,密码,权限
1.5.2数据表:
客户表:
列名
数据类型
长度
允许空
客户号
文本
50
否
收货地址
文本
50
否
余额
数字
长整型
是
折扣
数字
长整型
是
开户银行
文本
50
否
银行账户
文本
50
否
姓名
文本
50
否
电话
文本
50
否
邮箱
文本
50
是
邮编
文本
50
否
订单:
列名
数据类型
长度
允许空
订单号
数字
长整型
否
客户号
文本
50
否
收货地址
文本
50
否
订单日期
日期/时间
否
发货日期
日期/时间
否
预计寄达时间
日期/时间
是
运输数量
数字
长整型
否
运输方式
文本
50
是
付款方式
文本
50
否
运输细则表:
列名
数据类型
长度
允许空
货物号
数字
长整型
否
运输细则号
数字
长整型
否
订单号
数字
长整型
否
运输数量
数字
长整型
否
运输价
数字
长整型
否
运送班次
数字
长整型
否
运送车数
数字
长整型
否
货物表:
列名
数据类型
长度
允许空
货物号
数字
长整型
否
货物名
文本
50
否
货物保证金
数字
长整型
否
货物数量
数字
长整型
否
货物描述
文本
50
是
账号表:
列名
数据类型
长度
允许空
用户名
文本
50
否
密码
文本
50
否
权限
文本
50
否
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图向关系模型的转换:
客户:
(客户号,姓名,电话,邮箱,邮编,收货地址,余额,折扣,开户银行,银行账户)
此为客户实体型对应的关系模型。
客户的客户号是该关系模型的候选码。
订单:
(订单号,,客户号,收货地址,订单日期,发货日期,运输数量
预计寄达时间,运输方式,付款方式)
此为订单实体型对应的关系模型。
订单号是该关系模型的候选码。
一个订单号里面对应一位客户号。
运输细则:
(运输细则号,货物号,订单号,运输数量,运输价,运送班次,运送车数)
此为运输细则实体型对应的关系模型。
运输的运输细则号是该关系模型的候选码。
一个订单里可以有多个运输细则号。
货物:
(货物号,货物名,货物保证金,货物数量,货物描述)
此为货物实体型对应的关系模型。
货物的货物号是该关系模型的候选码。
账号:
(用户名,密码,权限)
此为账号实体型对应的关系模型。
账号的用户名是该关系模型的候选码。
对不同的用户设置不同的权限,操纵数据的能力不一样。
根据本系统的E_R图,将其转换为关系模式如下:
1.Customer表:
Cnum是主码
字段名称
数据类型
Cnum(客户号)
自动编号
Cname(姓名)
文本
Ctel(电话)
Int
Caddr(收货地址)
文本
Cban(开户银行)
文本
Listnum(订单1)
Int
…
2.List表:
Listnum主码
字段名称
数据类型
Listnum(订单号)
自动编号
Cnum(客户号)
Int
PayMethod(支付方式)
文本
Good1(商品号1)
文本
Num1(商品数量)
文本
Good2(商品号2)
文本
…
3.Transport表:
Tran主码
字段名称
数据类型
Trannum(运输细则号)
自动编号
Listnum(订单号)
Int
Goodnum(货物号)
Int
Pay(支付金额)
文本
Tnum(运送班次)
Int
Trunum(运送车数)
Int
4.Goods表:
Goodnum主码
字段名称
数据类型
Goodnum(货物号)
文本
Goodsname(货物名)
文本
Gprice(保证金)
文本
Gnum(货物数量)
文本
4.数据库的物理设计:
数据库的物理设计通常分为两步:
(1)确定数据的物理结构。
(2)对物理结构进行评价,评价的重点是时间和空间效率。
开发环境:
本课程设计开发环境:
SQLSERVER2008,WindowsXP系统。
5.程序代码
1.基本表的定义
Customer表创建:
CreatetableCustomer
(Cnumsmallintprimarykey,
Cnamechar(50),
Ctelchar(50),
Caddrchar(50),
Cbanchar(50),
Listnumchar(50)
);
List表创建:
CreatetableList
(Listnumsmallintprimarykey,
Cnumsmallint,
PayMethodchar(50),
Goodnumchar(50),
Numchar(50),
Foreignkey(Cnum)referencesCustomer(Cnum),
Foreignkey(Goodnum)referencesGoods(Goodnum)
);
Transport表创建:
CreatetableTransport
(Trannumsmallintprimarykey,
Listnumsmallint,
Cnumsmallint,
Paychar(50),
Goodnum(50)
Tnumchar(50),
ForeignkeyListnumreferencesList(Listnum),
ForeignkeyCnumreferencesCustomer(Cnum)
);
Goods表创建:
CreatetableGoods
(Goodnumchar(50)primarykey,
Goodnamechanr(50),
Gpricechar(50),
Gnumchar(50)
):
2.数据的插入
由于数据插入方法相似,在此,只写Goods表的插入代码
InsertintoGoodsvalues(‘000001’,’苹果’,’30’,’1000’);
InsertintoGoodsvalues(‘000002’,’手机’,’500’,’10’);
InsertintoGoodsvalues(‘000003’,’电脑’,’10000’,’150’);
InsertintoGoodsvalues(‘000001’,’羽绒服’,’200’,’100’);
3.查询功能
查询“张灏”运送的物品的名称,运送保证金
SELECTCname,Goodname,Gprice
fromCustomer,Goods
whereGoods.Goodnum=List.GoodnumandList.Cnum=Customer.CnumandCname='张灏';
查询“张灏”,运送物品的运输费
SelectCname,Pay
FormCustomer,Transport
WhereCustomer.Cnum=List.CnumandTransport.Trannum=List.List.TrannumandCname=’张灏;’
4.数据的更新
①插入客户“上海”
Insert
IntoCustomer
Values(‘5’,’上海’,’0101011’,’上海一路’,’浦东银行’,’555555’);
②删除数据
删除Customer中用户‘张灏’的数据
Delete
FromCustomer
WhereCname=’张灏’;
③更新数据
更新Customer表中’张灏’中电话号码为‘000000’
UpdateCustomer
SetCtel=’000000’
WhereCname=’张灏’;
6.系统运行,调试与维护
1.基本表创建和数据输入后的结果如下:
Customer表
List表
Transport表
Goods表
2.查询功能结果
3.数据的更新
4.数据库的维护
1数据库的转储和恢复
2数据库的安全性,完整性控制
3数据库性能的监督,分析和改造
4数据库的重组织与重构造
7.心得和体会
本次课程设计,做得非常仓促,出了许多的错误,但在请教其它同学后基本上解决了问题。
本次的课程设计完全是按照数据库的设计的步骤完成的,首先是需求分析,然后是概念结构设计,逻辑结构的设计,数据的物理设计,最后是数据库的实施和数据库的运行与维护。
按照数据库的设计步骤,是整个设计很有结构性,同时对于在设计过程中不会出现混乱,有利于设计的顺利完成。
在课程设计的过程中遇到很多的问题,比如数据的插入,E-R图的建立,还有关系模型的转化,由于基础很不好,导致做起来十分的吃力。
但总得来说,此次课程设计对我的帮助是非常之大的。
本科生课程设计成绩评定表
序号
评分项目
满分
实得分
1
学习态度认真、遵守纪律
10
2
设计分析合理性
10
3
设计方案正确性、可行性、创造性
20
4
设计结果正确性
40
5
设计报告的规范性
10
6
设计验收
10
总得分/等级
评语:
注:
最终成绩以五级分制记。
优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
指导教师签名:
年 月 日