汽车销售管理系统报告综述.docx
《汽车销售管理系统报告综述.docx》由会员分享,可在线阅读,更多相关《汽车销售管理系统报告综述.docx(19页珍藏版)》请在冰豆网上搜索。
![汽车销售管理系统报告综述.docx](https://file1.bdocx.com/fileroot1/2022-10/12/267d1bd3-45e0-4e7e-9b66-490b4c10d78a/267d1bd3-45e0-4e7e-9b66-490b4c10d78a1.gif)
汽车销售管理系统报告综述
2012年数据库系统与技术课程设计
设计说明书及课程设计心得体会
课题:
汽车销售管理系统
学院:
土木工程学院
所在院系:
交通运输专业
班级:
交运C101
小组成员:
106873冀星月
106888刘玉飞
106897姚叶飞
097082甄兴
小组组长:
冀星月
指导老师:
王小芳
2012年6月18日
目 录
1、需求分析……………………1
2、概要设计……………………2
三、数据库设计…………………3
四、安全性设计…………………5
五、小结………………………14
六、谢辞………………………14
七、参考文献……………………14
一、需求分析
需求分析简单地说就是分析用户的要求。
需求分析是设计该轿车销售系统数据库的起点,即该阶段的任务是通过详细调查该销售公司,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的重点是数据和处理,通过调查、收集与分析,获得用户对数据库的如下要求:
信息要求(厂商、客户、用户、员工、出库、入库等信息),
处理要求(对上述信息的查询、修改、添加和删除),
安全性和完整性要求(需要用户名和密码才能进入系统,并且对于不同的用户有不同的操作权限)
需求分析结果如下:
二、概要设计
本阶段的主要任务是将需求分析得到的用户需求抽象为信息结构结构(即概念模型)
设计概念结构通常有四类方法:
自顶向下、自底向上、逐步扩张和混合策略。
我在这里采用自底向上方法。
概念设计结果如下:
(某公司轿车销售管理系统的基本E-R图)
三、数据库设计
1.E-R图向关系模型转换
由概念设计的E-R图可得一般关系模型如下
发货单(货单号,细节号,产品号,客户号,数量,日期,金额,折扣)
收款单(客户号,定单号,收据号,收款金额,收款日期)
定单(定单号,细节号,产品号,厂商号,数量,日期,金额)
付款(厂商号,定单号,发票号,支付金额,支付日期)
员工(员工号,姓名,性别,部门,职务,电话)
产品(产品号,产品名,厂商号,单价,库存量)
2.数据模型的优化
数据库逻辑设计的结果不是唯一的.为进一步提高数据库应用系统的性能,我们还应该根据应用需要适当的修改,调整数据模型的结构,这就是数据模型的优化。
(1)数据依赖举例
R厂商={厂商号->厂商名,厂商号->地址,厂商号->电话}
R用户={用户ID->用户名,,用户ID->用户类型,用户ID->权限,用户类型->权限}
(2)对数据依赖进行极小化处理,消除冗余联系举例
上述关系中,发货单中存在冗余联系(具体是细节号、折扣等),因此我们可以增加一个发货细节单和折扣规则单。
(3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,确定各关系分别属于第几范式举例
上述关系中,用户表存在非主属性传递依赖,因此用户表属于2NF。
我们可以增加一个用户权限表来消除该表中非主属性传递依赖。
3.数据库设计最终结果如下:
(car表)
(car表)
(car表)
1.在关系模式存取方法选择之前,我们首先要对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。
同时,还要知道每个事务在各关系上运行的频率和性能要求。
(1)对于数据库查询事务,我们需要得到如下信息:
查询的关系、查询条件/连接条件涉及的属性、查询的投影属性
A、查询发货厂商名、产品、发货数量(>100)和日期事务
Ⅰ、查询的关系:
厂商、发货单表、产品表
Ⅱ、查询条件所涉及的属性:
厂商、发货数量、产品号
、连接条件所涉及的属性:
厂商、产品号
、查询的投影属性:
厂商名、产品名、发货数量、发货日期
(2)对于数据更新事务,我们需要得到如下信息:
被更新的关系、每个关系上的更新操作条件涉及的属性、修改操作要改变的属性值
B、对发货事务
Ⅰ、被更新的关系:
发货表
Ⅱ、每个关系上的更新操作条件所涉及的属性:
无
、需要改的属性值:
货单号、产品号、发货数量
2.关系模式存取方法选择(即建立哪些存储路径)
C、对car建立索引
对厂商表上的厂商、发货表的产品号、产品表的产品号等建立索引,因为他们经常在查询条件和连接条件中出现
E、对D、car确定数据的存放位置
为提高系统性能,我们根据应用情况将数据的易变部分和稳定部分、经常存取部分和存取频率较低部分分开存放。
即我们把表和索引放在不同的磁盘上。
E、对car确定系统配置
使用数据库的用户数(我们只要设置比较少的用户数);
同时打开的数据库对象数(用户同时操作对象不超过3个);
内存分配参数(运行exe文件需要5M内存);
缓冲区分配参数(略);
数据库的大小(预留500M数据存储空间)等。
F、对car物理结构的评价
数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果产生多种方案。
经过我们的细致评价,得出上述系统配置作为car的数据库物理结构。
四、安全性设计
数据的载入和应用程序的调试
(1)由于该系统尚未投入使用,我们仅象征性地载入少量数据
(生产商表导入实验数据)
【应用程序的调试】
数据库应用程序的设计应该与数据库设计同时进行,鉴于VB简单易用,我们选择VB作为应用程序的设计语言。
因此在组织数据入库的同时还要调试应用程序。
(VB下的界面)(VB下的系统主界面)
进入此页面可进行关于汽车的基础信息的查询,如汽车型号,进价,厂商等。
需要加入控件:
学生信息管理界面
注:
进入此页面可以进行汽车信息的添加和删除等需要。
注:
进入此页面可以销售车辆
注:
进入此页面可以进行进货管理
【数据库的试运行】
在原有系统的数据有一小部分
已输入数据库后,我们就可以开始对数据库系统进行联合调试,即数据库的试运行。
这一阶段要实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。
添加代码如下:
PrivateSubCommand1_Click()
OnErrorGoToErrorHandle
IfText1=""Then
MsgBox"请输入Car_id!
",vbInformation
Else
DimsqlAsString
sql="insertintocarvalues('"&Text1&"','"&Text2&"','"&Text3&"',"&Text4&","&Text5&")"
MsgBox(sql)
cnn.Execute(sql)
Adodc1.Refresh
Text1=""
EndIf
ExitSub
ErrorHandle:
MsgBox"车辆信息输入有误,请检查Car_id是否重复!
"
EndSub
删除代码如下:
PrivateSubCommand2_Click()
Adodc1.Recordset.Delete
EndSub
退出代码如下:
PrivateSubCommand3_Click()
UnloadMe
EndSub
(汽车信息查询)
代码:
PrivateSubCommand4_Click()
Dimtemp1
temp1=0
DimsqlAsString
sql=""
轿车信息管理:
查看轿车信息、轿车入库、轿车出库
这里列举轿车入库图示:
型号:
大众CC品牌:
大众
价格:
300000
测试结果:
汽车信息查询完成
经测试,查看轿车信息、轿车出库正确运行
IfText6.Text=""Then
MsgBox("请输入出货名")
ExitSub
EndIf
IfText6.Text<>""Then
Iftemp1=0Then
sql=sql+"where"
Else
sql=sql+"and"
EndIf
sql=sql+"Car_id='"+Text6.Text+"'"
temp1=temp1+1
EndIf
sql="selectCar_id,Car_name,Factory_name,Car_price,Car_numfromcar"+sql
MsgBox(sql)
Adodc2.RecordSource=sql
Adodc2.Refresh
EndSub
代码如下:
PrivateSubCommand5_Click()
Dimtemp1
temp1=0
轿车信息管理:
查看汽车销售情况
这里列举轿车入库图示:
型号:
大众CC品牌:
大众
销售:
1
测试结果:
查看销售情况
经测试,查看汽车销售数量、轿车出库正确运行
DimsqlAsString
sql=""
IfText6.Text=""Then
MsgBox("请输入出货名")
ExitSub
EndIf
IfText7.Text=""Then
MsgBox("请输入出货量")
ExitSub
EndIf
sql="updatecarsetCar_num=Car_num-"&Text7.Text&"wherecar_id='"&Text6.Text&"'"
MsgBox(sql)
cnn.Execute(sql)
Adodc2.Refresh
EndSub
代码如下:
PrivateSubCommand6_Click()
Dimtemp1
temp1=0
轿车信息管理:
查看汽车进货情况
这里列举轿车入库图示:
型号:
大众CC品牌:
大众
进货:
20
测试结果:
查看汽车进货数量
经测试,查看汽车进货情况、得知库存数量
DimsqlAsString
sql=""
IfText9.Text=""Then
MsgBox("请输入进货名")
ExitSub
EndIf
IfText11.Text=""Then
MsgBox("请输入进货量")
ExitSub
EndIf
sql="updatecarsetCar_num=Car_num+"&Text11.Text&"wherecar_id='"&Text9.Text&"'"
MsgBox(sql)
cnn.Execute(sql)
Adodc3.Refresh
EndSub
【注】其他功能在数据库试运行阶段均运行正确
【数据库的运行和维护】
经数据库的试运行结束后,该汽车销售系统数据库开发工作就基本完成,即可投入正式运行。
但是由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。
(1)数据库的转储和恢复:
SQLServer数据库备份有两种方式,一种是使用BACKUPDATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。
我们用后者方法,首先要先