课程设计
课程名称数据库技术与应用
实验名称汽车销售管理系统
学生学院管理学院
专业班级 08市场营销(1)班
学号 3108005766 学生姓名陈润钊
指导教师李藜
2010 年 7 月 2 日
广东工业大学课程设计任务书
题目名称汽车销售管理系统
学生学院管理学院
专业班级08 市场营销(1)班
姓名陈润钊
学号3108005766
一、课程设计的内容
综合运用《数据库原理与应用》课程中的知识, 通过调研, 设计并实现一个数据库管理应用系统。系统能够满足实际工作中的一个完整数据管理过程序,完成数据录入、维护、查询、业务处理、统计、打印必要报表等功能。
在调研中,调查系统使用人员,了解要解决的问题,系统具体要实现的功能,系统要达到的性能。掌握用户的准确需求。此外要获取相关的表格,数据,工作流程等资料。依据调研结果写出需求分析。
在准确作出需求分析的基础上,进行系统设计。系统设计包括总功能设计,数据库设计,文件保存路径设计,各模块流程详细设计。
按“报告正文内容提纲”要求写出设计报告,格式符合“报告正文内容提纲”的字体,标题,编号的格式。设计报告内容语句流畅,无错别字,图,表按参考文档的格式。
附上开发该系统必需的软件,硬件,并附上系统安装运行说明书。
二、课程设计的要求与数据
1.设计调研获取的填有具体内容的表格。
2.设计报告包括系统功能层次图,系统流程图。各模块流程图。系统实现由菜单调用各功能模块。
3.数据库设计:包括有表间一对多,表间一对一关系。有两个以上定式视图,两个以上定式查询。按实际内容至少有五条以上的记录。
4.为系统的统计模块设计两个以上定式报表。数据录入表单的数据输入有输入屏蔽或验证。在“关于”表单写上你的班别学号姓名,以及所设计系统的名称。
三、课程设计应完成的工作
提交打印好的设计文档一份。提交数据库数据文件一份,日志文件一份。(如果有能力完成,提交可以稳定运行的程序源代码,程序完整安装程序,安装及运行说明文档。)每班刻录一张光盘,其中按学号姓名作文件夹名保存每位同学的文档及程序。
四、课程设计进程安排
五、应收集的资料及主要参考文献
1、设计题目涉及的数据资源,工作流程,规程等。
2、参考文献:
Visual Basic数据库系统设计与开发李春葆,张植民编著.清华大学出版社,2003 VB数据库项目设计模块化教程刘玉山,刘宝山主编机械工业出版社,2009
基于VB和SQL的数据库编程技术刘志妩等编著. 清华大学出版社, 2008
数据库应用与设计崔巍主编. 清华大学出版社,2009
发出任务书日期:2010 年 6 月 24 日指导教师签名:李藜
计划完成日期: 2010 年 7 月 6 日基层教学单位责任人签章:
主管院长签章:
《数据库应用课程设计》报告正文内容
概述:
系统的基本任务:此小型汽车销售管理系统是一个比较完整的涉及对汽车销售情况管理和维护的管理系统。本文对汽车销售管理信息系统进行了较为详细的分析,从实际出发,在分析销售车辆、客户、账单基本关系的基础上,结合管理信息系统的概念、结构以及系统开发的基本原理和方法,开发了一个关于汽车销售信息系统。
主要业务:这个小型的汽车销售信息管理系统的基本功能针对汽车销售信息纸上记录混乱查找困难的特点,以实现汽车销售客户、订单、账单、员工等管理的自动化,系统化。开发目标:本小型人事培训信息管理系统专为小型用户设计开发实现对员工、培训课程、考核信息的管理。
1. 需求分析
1.1.用户需求:
当今,社会已经踏入了数字的时代。数字信息的存储与传输已经成为社会发展的必然。数字时代伴随而来的是更快的节奏,更高的效率,更为激烈的竞争。可以说谁掌握了时间与信息就掌握了一切。而如今很多公司都存在数据繁琐,关系复杂当又只用Excel这方面的工具来处理,这不但效率较低,也难以体现各数据的关系,界面也不够人性化。但大型专业管理系统价格昂贵,占用硬盘资源庞大,不利于小型企业面对此问题,本人建立此小型汽车销售信息管理系统,望能出份微薄之力帮助小型企业。
1.2.业务流程分析:
人事培训的业务流程:先了解车辆,再订车(交付定金),服务员服务,买车完成(交付所有金额)
F1-------------员工与顾客交流,理解顾客需求。导购
F2------------顾客有购车需求,到汽车销售店选购车辆,成账单
1.3.信息需求分析:
1.3.1资料收集:业务流程中用到的各种统计表和数据表等,从汽车销售店查得资料后整理得出。
1.3.2 事项分析:
根据资料得出,系统应有
(1)汽车信息的查看、修改与录入
(2)客户信息的查看、修改与录入
(3)账单信息的查看、修改与录入
(4)报表
等等。
1.4.功能需求分析:
汽车销售信息管理系统中,系统的总功能是“汽车销售中账单、顾客信息管理”,根据业务流程图中的几项子业务把总功能划分为“汽车信息管理”、、“客户信息管理”和“账单信息管理”三个大功能,然后再根据子业务流程图继续划分。
对每过程分别分析如下
(1)信息查询流程:登录人员在登录后均可以进行各类信息的查询。
(2)信息录入流程:销售员在登录后就可以进行新的消息的录入,如:对汽车信息录入,客户信息录入,账单订单信息录入,员工信息录入
(3)修改信息系统流程:管理员在登录后可以对信息进行修改,以保持系统的不断更新
(4)统计流程:在工作人员把数据输入后,由计算机对一些情况进行统计,如汽车销售情况,员工业绩情况等,先将统计信息输出屏幕,在用户确定后由打印机打印
2. (数据库)概念(模型)设计
1、构思ERD的四条原则以及实体、联系、属性的确定
原则1(确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
在汽车销售信息管理系统中,汽车信息的基本特征汽车编号,品牌,型号,价格
所以汽车信息是一个实体类.同理,客户,账单、订单都是实体。
原则2(确定联系):两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,ERD中关注的是其状态与结果而非其过程。
员工信息与客户信息是一对多关系
账单信息与客户信息是一对多关系
原则3(确定属性):实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有如下几个特点:①非多值性②非复合性③非导出性,④实体的属性还应有非关联性,只是一个实体的基本特征,与其他实体无关;联系的属性应具有关联性,是对联系结果或状态的描述。
在汽车销售信息管理系统中,按惯例需要补充完善后,系统使用中涉及的实体包括:汽车信息,客户。订单,账单,员工
分析得出,初步建立的实体如下 (1) 员工(工号,姓名,性别)
(2)汽车信息(汽车编号,品牌,型号,价格)
(3)账单(账单号,汽车编号,金额,客户身份证号,定金,是否发货,销售员,完成交易) (4)客户表(姓名,性别,电话,身份证号,住址)
根据以上的讨论,可以画出人事培训信息管理系统的ERD 的基本结构
用户管理 E-R 图:
该系统是人事培训部门的管理员专用,对培训信息进行管理和维护,上图是管理员用户的E-R 图。
原则4(一事一地):信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。 这条原则是对ERD 的检验原则,对确定其构思是否正确具有很大的意义。首先要看ERD 中有没有重复出现的属性名,如果有,一定是错误的,要分析原因,消除重复。然后要看有无不在信息分析中作为基本项出现的属性,如果有,不一定是错误,但如果不符合基本项的要求,就是错误的,要分析原因,予以改正;如果是基本项,则往往是业务流程用到的资料太完备,数据库设计者与用户协商后加上去的,要分析增加是否真有必要;如果信息分析中列出的基本项在ERD 中没有作为属性出现,则一定要分析原因:有时是不
小心遗漏了,那就要补充到适当的地方。有的是联系的表现形式,其本质上就不是基本项,在以后得到的关系中会作为外码出现,ERD中不应该出现;有一些是作为一些人工原始凭证的编号,在数据库中可能会与一条记录相对应,一般也不必在ERD中作为属性出现,还有一些是在查询或编制报表时通过系统日期生成的日期或顺序编号,其中一些重要中间结果或输出结果在它们可能与决策者的主观因素有关,而不完全取决于计算或推理结果而需要保存时,常常可以作为ERD中相关实体的从实体画出来.
根据原则4的要求,检查改进的ERD图.发现错误即马上改正。
3. (数据库)逻辑(模型)设计
3.1一般逻辑模型设计
原则1(实体转换为关系模式):ERD中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。
原则2(从实体及其主从联系转换为关系模式):ERD中一个从实体及其主从联系转换为一个关系,从实体的属性及其主实体关系的属性组成该关系的属性,其主实体关系的主码,在主从联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的、从实体的一组属性,作为该关系的主码。对子类实体可作类似一对一联系的从实体的转换。
原则3(一对多联系在关系模式中的表示):ERD中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。
注:一对一联系作为一对多联系的特例处理,其中一个实体集中的较多个体按照这个联系不与对方实体集中的任何个体对应,该实体集称为“一”实体,对方实体集称为“零”实体。一对一联系应通过把“一”实体关系的主码与该联系本身的属性附加到“零”实体关系上来表示,即1:1联系应附加到没造成或少造成外码及联系本身属性空白的实体关系上
原则4(多对多联系转换为关系):ERD中的一个多对多联系转换为一个关系,其被联系实体关系的主码作为外码和该联系本身的属性一起组成关系的属性,被联系关系的主码组成该关系的复合主码。
在汽车销售信息管理系统中,员工,客户,账单,汽车信息是实体,在汽车销售信息管理系统中,根据以上原则导出的一般关系模型如下:
其中:员工信息与账单信息是一对多关系
员工信息与客户信息是一对多关系
3.2 具体逻辑模型设计:
汽车销售管理数据库字段和约束说明
4. 数据库物理设计与数据库保护设计
4.1. 设计表间关系:
表关系:
员工信息与账单信息是一对多关系
员工信息与客户信息是一对多关系
4.2.用户授权与安全性控制:
本系统采用了用户标识与鉴别和视图机制,用户必须输入密码才能登陆系统,而且具有密码修改功能,能在一定程度上防止恶意的登陆与修改系统信息,详细请见以下的功能设计。
5. 处理功能设计
5.1主控模块设计:
包括系统欢迎画面、用户身份验证、主控表单或菜单、系统退出的环境恢复等功能。
5.1.1主控模块如下表示:
5.1.2系统各模块构成
根据第四章的功能设计要求,该人事培训管理系统的功能可以划分成几大功能模块分别是:系统登入模块
系统访问控制模块
员工信息模块
汽车信息模块
客户信息模块
密码修改模块
具体如下:
5.2子模块设计:
5.2.1设计输入:设计输入数据到表中的表单或窗口,注意实现用户定义的完整性约束,并具有输入校验,以确保输入数据正确,没有垃圾数据混入。
本系统包括4个表单供用户输入数据。
各自有不同的输入界面。
5.2.3查询设计:本系统包括4个查询表单,
例:员工业绩查询表单,销售信息查询。客户信息查询。
5.2.4报表设计:本系统包括2个报表,就是销售报表。员工业绩报表。
6. 数据库应用系统的实现
6.1数据库及其表结构的建立:建立数据库描述文件(.DBC)及其数据库表(.DBF),注
意完整性、索引与永久关联的实现,并附打印出的作为系统命令执行结果的数据库表结构及其关联图、参照完整性表。
6.1.1数据库的建立,按表关系中
员工信息与账单信息是一对多关系
汽车信息与账单信息是一对多关系
按员工信息、汽车信息、客户信息、账单信息建立数据表,并设置好索引,限制等参数。
具体数据库表结构(.DBF)信息上文已有,此处不再重复。
6.2.1数据输入:实现5.2.1中的输入程序后,用这些输入程序或系统的追加插入命令录入数据,并打印出用VFP命令列出的各表的内容。
本系统的数据输入表单,(“新增”按钮可以录入数据)
通过用SQL语言完成数据录入
内容如下,
insert into tb_qichexinxibiao
values('CA0886','大众','boallh03',560000)
insert into tb_kehubiao
values('陈海珊','女','4406032589546550','135********','广东省广州市越秀区光明大道中15号')
销售系统功能
insert into tb_zhangdanbiao
values('a0007','4406032589546550','CA0886',560000,'0002',560000,'是','是') 6.3模块实现:
6.3.1系统欢迎表单:
6.3.2系统登陆界面
其基本功能是验证用户身份,便于维护数据安全。
主要代码:
Private Sub cmdlogin_Click()
'文本框为空,则退出登录
If IsNull(Me.TXTID) Or IsNull(Me.TXTPASSWORD) Then
MsgBox ("请输入用户名或密码!!!")
Me.TXTID.SetFocus
Exit Sub
End If
Dim rs As ADODB.Recordset
Dim strsql As String
'文本框不为空,查询用户是否注册读者
strsql = "Select * From 管理员Where 用户号='" + Trim(Me.TXTID) + "' And 密码='" + Trim(Me.TXTPASSWORD) + "'"
Set rs = CurrentProject.Connection.Execute(strsql)
If Not rs.EOF Then
User = rs.Fields("用户号")
Else
MsgBox ("请输入正确的用户名和密码!!!")
Exit Sub
End If
rs.Close
'隐藏启动窗,进入系统主界面
Me.Visible = False
DoCmd.OpenForm "主窗口"
Forms![主窗口]![员工管理].SetFocus
End Sub
Private Sub 退出_Click()
On Error GoTo Err_退出_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(21551) & ChrW(21160) & ChrW(31383) DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_退出_Click:
Exit Sub
Err_退出_Click:
MsgBox Err.Description
Resume Exit_退出_Click
End Sub
6.3.3主菜单界面:
6.3.4数据维护界面与查询界面
(1)客户信息维护窗:
添加客户信息
insert into tb_kehubiao
values('陈海燕','女','4406035899589475','137********','广东省广州市黄光大道通化街14号')
修改客户信息
update tb_kehubiao set dianhua='150********' where xingming='陈海燕'
汽车信息维护
update tb_qichexinxibiao set jiage=50000 where qichebianhao='sd0313'
2对数据进行查询
账单信息查询
SELECT dbo.tb_zhangdanbiao.zhangdanhao AS 账单号,
dbo.tb_zhangdanbiao.kehushenfenzheng AS 客户身份证号,
dbo.tb_zhangdanbiao.qichebianhao AS 汽车编号, dbo.tb_zhangdanbiao.jine AS 金额,
dbo.tb_zhangdanbiao.gonghao AS 销售员, dbo.tb_qichexinxibiao.pinpai AS 汽车品牌,
dbo.tb_qichexinxibiao.xinghao AS 汽车型号, dbo.tb_kehubiao.xingming AS 客户姓名,
dbo.tb_kehubiao.dianhua AS 客户电话
FROM dbo.tb_kehubiao INNER JOIN
dbo.tb_zhangdanbiao ON
dbo.tb_kehubiao.shenfenzhenghao = dbo.tb_zhangdanbiao.kehushenfenzheng INNER JOIN
dbo.tb_qichexinxibiao ON
dbo.tb_zhangdanbiao.qichebianhao = dbo.tb_qichexinxibiao.qichebianhao
WHERE (dbo.tb_zhangdanbiao.wanchengjiaoyi = '是')
未成账单
SELECT dbo.tb_zhangdanbiao.zhangdanhao AS 账单号,
dbo.tb_zhangdanbiao.kehushenfenzheng AS 客户身份证号,
dbo.tb_zhangdanbiao.qichebianhao AS 汽车编号, dbo.tb_zhangdanbiao.jine AS 金额,
dbo.tb_kehubiao.xingming AS 客户姓名, dbo.tb_zhangdanbiao.gonghao AS 销售员,
dbo.tb_zhangdanbiao.yijiaofudingjin AS 已预付定金
FROM dbo.tb_kehubiao INNER JOIN
dbo.tb_zhangdanbiao ON
dbo.tb_kehubiao.shenfenzhenghao = dbo.tb_zhangdanbiao.kehushenfenzheng
WHERE (dbo.tb_zhangdanbiao.wanchengjiaoyi = '否')
完成订单查询
SELECT dbo.tb_zhangdanbiao.zhangdanhao AS 账单号,
dbo.tb_zhangdanbiao.kehushenfenzheng AS 客户身份证号,
dbo.tb_zhangdanbiao.qichebianhao AS 汽车编号, dbo.tb_zhangdanbiao.jine AS 金额,
dbo.tb_zhangdanbiao.gonghao AS 销售员, dbo.tb_qichexinxibiao.pinpai AS 汽车品牌, dbo.tb_qichexinxibiao.xinghao AS 汽车型号, dbo.tb_kehubiao.xingming AS 客户姓名,
dbo.tb_kehubiao.dianhua AS 客户电话
FROM dbo.tb_kehubiao INNER JOIN
dbo.tb_zhangdanbiao ON
dbo.tb_kehubiao.shenfenzhenghao = dbo.tb_zhangdanbiao.kehushenfenzheng INNER JOIN
dbo.tb_qichexinxibiao ON
dbo.tb_zhangdanbiao.qichebianhao = dbo.tb_qichexinxibiao.qichebianhao
WHERE (dbo.tb_zhangdanbiao.wanchengjiaoyi = '是')
所有账单查询
SELECT TOP 100 PERCENT dbo.tb_zhangdanbiao.zhangdanhao AS 账单号,
dbo.tb_zhangdanbiao.kehushenfenzheng AS 客户身份证号,
dbo.tb_zhangdanbiao.qichebianhao AS 汽车编号, dbo.tb_zhangdanbiao.jine AS 金额,
dbo.tb_zhangdanbiao.gonghao AS 销售员, dbo.tb_qichexinxibiao.pinpai AS 汽车品牌, dbo.tb_qichexinxibiao.xinghao AS 汽车型号, dbo.tb_kehubiao.xingming AS 客户姓名,
dbo.tb_kehubiao.dianhua AS 客户电话,
dbo.tb_zhangdanbiao.yijiaofudingjin AS 已交付定金,
dbo.tb_zhangdanbiao.wanchengjiaoyi AS 完成交易
FROM dbo.tb_kehubiao INNER JOIN
dbo.tb_zhangdanbiao ON
dbo.tb_kehubiao.shenfenzhenghao = dbo.tb_zhangdanbiao.kehushenfenzheng INNER JOIN
dbo.tb_qichexinxibiao ON
dbo.tb_zhangdanbiao.qichebianhao = dbo.tb_qichexinxibiao.qichebianhao
ORDER BY dbo.tb_zhangdanbiao.wanchengjiaoyi DESC
汽车信息查询
SELECT dbo.tb_qichexinxibiao.*, qichebianhao AS 汽车编号, xinghao AS 型号, pinpai AS 品牌, jiage AS 价格
FROM dbo.tb_qichexinxibiao
客户信息查询
SELECT dbo.tb_kehubiao.*, xingming AS 姓名, xingbei AS 性别, shenfenzhenghao AS 身份证号, dianhua AS 电话, zhuzhi AS Expr5 FROM dbo.tb_kehubiao
员工业绩查询
SELECT TOP 100 PERCENT dbo.tb_zhangdanbiao.gonghao AS 工号, dbo.tb_yuangongbiao.xingming AS 姓名,
dbo.tb_zhangdanbiao.zhangdanhao AS 账单号,
dbo.tb_zhangdanbiao.jine AS 金额
FROM dbo.tb_yuangongbiao INNER JOIN
dbo.tb_zhangdanbiao ON
dbo.tb_yuangongbiao.gonghao = dbo.tb_zhangdanbiao.gonghao (where gonghao=0003)
where gonghao=0003
6.3.5修改密码窗
代码:
Private Sub CmdEditPS_Click()
On Error GoTo Err_CmdEditPS_Click
strsql = "update 管理员 set 密码='" + Me.TxtPS1 + "' where 用户号='" + Me.TxtUId + "'"
If Not IsNull(Me.TxtPS1) And Me.TxtPS1 = Me.TxtPS2 Then DoCmd.RunSQL strsql
Exit_CmdEditPS_Click:
Exit Sub
Err_CmdEditPS_Click:
MsgBox Err.Description
Resume Exit_CmdEditPS_Click
End Sub
7. 数据库应用系统运行
7.1.系统操作使用的简要说明
1.本系统工作于可以再安装有SQL2000的电脑平台上直接运行。
2.本系统登陆信息初始定为用户号:admin密码:admin。
3.系统内
登陆界面:此界面的主要功能是用户登录系统的连接。
主界面:此界面的主要功能让用户选择自己想要进行的操作。
汽车信息管理查询界面:此界面的主要功能要求实现对汽车的基本信息进行管理和查询。
员工业绩界面:此界面的主要功能实现对员工业绩的基本信息进行查询以便考核员工。
账单信息管理查询界面:此界面的主要功能要求实现对账单的信息进行管理。了解销售情况客户信息管理查询界面:此界面的主要功能要求实现对客户的基本信息进行管理和查询。
密码修改界面:此界面的主要功能要求实现对管理员的密码修改,增强系统安全性。
7.2运行系统并打印出运行结果(至少有两个查询结果和两个报表输出结果)。员工业绩信息查询结果如下:
考核信息查询结果如下:
账单信息报表
员工业绩报表
7.3系统评价:采用的有特色的技术与技巧;成功之处与主要特点;系统会改进完善之处和进一步工作的打算。
7.3.1特色的技术与技巧
(1)汽车销售企业企业也能实现汽车销售部门管理的自动化,系统化。
(2)数据维护和查询非常方便。
(3)各界面清晰且平易近人。
由于本系统是面向小型企业的,所以在设计的时候尽量考虑系统的简单实用性,同时以市面上常见系统的模式为蓝本开发。实用价值大,大大避免手工操作,工作量大,出错率高的情况,解决了信息查询困难的情况,如果没有一个有效的数据库帮助我们存放信息,那么每次查资料都要花费大量的时间。
7.3.2系统可改进完善之处与进一步完善的打算: