汽车销售管理系统sql课程设计.docx

上传人:b****6 文档编号:12830159 上传时间:2023-06-08 格式:DOCX 页数:18 大小:325.95KB
下载 相关 举报
汽车销售管理系统sql课程设计.docx_第1页
第1页 / 共18页
汽车销售管理系统sql课程设计.docx_第2页
第2页 / 共18页
汽车销售管理系统sql课程设计.docx_第3页
第3页 / 共18页
汽车销售管理系统sql课程设计.docx_第4页
第4页 / 共18页
汽车销售管理系统sql课程设计.docx_第5页
第5页 / 共18页
汽车销售管理系统sql课程设计.docx_第6页
第6页 / 共18页
汽车销售管理系统sql课程设计.docx_第7页
第7页 / 共18页
汽车销售管理系统sql课程设计.docx_第8页
第8页 / 共18页
汽车销售管理系统sql课程设计.docx_第9页
第9页 / 共18页
汽车销售管理系统sql课程设计.docx_第10页
第10页 / 共18页
汽车销售管理系统sql课程设计.docx_第11页
第11页 / 共18页
汽车销售管理系统sql课程设计.docx_第12页
第12页 / 共18页
汽车销售管理系统sql课程设计.docx_第13页
第13页 / 共18页
汽车销售管理系统sql课程设计.docx_第14页
第14页 / 共18页
汽车销售管理系统sql课程设计.docx_第15页
第15页 / 共18页
汽车销售管理系统sql课程设计.docx_第16页
第16页 / 共18页
汽车销售管理系统sql课程设计.docx_第17页
第17页 / 共18页
汽车销售管理系统sql课程设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汽车销售管理系统sql课程设计.docx

《汽车销售管理系统sql课程设计.docx》由会员分享,可在线阅读,更多相关《汽车销售管理系统sql课程设计.docx(18页珍藏版)》请在冰点文库上搜索。

汽车销售管理系统sql课程设计.docx

汽车销售管理系统sql课程设计

一、概述:

1.1目的及要求:

本系统是为解决汽车销售公司的管理问题而设计。

随着经济的发展和国内汽车市场的不断扩大,某汽车销售公司定单成倍增加,各项业务更加细化,各部门分工更加明确,这就要求要有一个高效、可靠的数据库系统来实现该公司的日常事务的管理,而目前的人工管理方式显然已是不符合现代企业的管理要求。

基于整体考虑,本次课程设计任务就是设计一个管理系统,应用到4S店日常的销售和管理工作中,可以做到汽车信息的规范管理、快速查询和科学统计,利用计算机来代替人工操作,减轻了员工的劳动强度,提高了劳动质量和效率,减少了错误的发生。

本次设计,从需求分析,概念设计,逻辑设计,物理设计,到数据库的建立、运行,再到数据库的安全维护等各个方面进行了详细的分析设计。

并且值得一提的是,我认真分析了企业的业务需求,公司的主要职责和主要结构等信息,从而保证了设计出比较符合公司需要的管理系统。

1.2系统环境:

SQLserver2000

Windows7操作系统

二、需求分析:

2.1需求功能的分析

本系统的设计模拟一般的汽车4S销售管理系统内容,经过系统分析和调研,本系统主要包括的信息有4类:

车辆信息、员工信息、客户信息以及精品管理。

在传统的销售管理工作中,往往是用人工清点的方式来掌握仓库中的汽车商品、使用手工记账的方式来掌握商品的进货和销售情况。

这种方式在数量较少、库存变换少的情况下,不失为一种好的方法。

但是,随着每天所发生的进货和销售情况纷繁复杂,如果借助人工来记录和管理,将会耗费大量的时间,而且容易出现错误,造成管理上的混乱。

具体而言,4S店汽车销售管理系统需要实现以下功能

2.1.1能够对4S店拥有的各种汽车的基础信息进行维护和管理

汽车的基础信息包括:

车辆型号、基本信息、进店日期、出店日期、供货商、库存数量等。

系统需要能够对汽车信息进行添加、修改和删除,也可以以视图的方式显示出现汽车的库存数量的比较。

2.1.2跟踪各个员工的销售业绩

员工的信息包括员工姓名、性别、联系电话、职务、薪水、月销售额等。

系统还需要能够对员工信息进行添加、修改和删除,也可以按照一定的条件来进行查询。

2.1.3跟踪各种汽车的销售信息

汽车的销售信息包括顺车辆型号、汽车名称、顾客名称、购买数量、售出价格、销售日期、备注等。

系统需要能够对销售信息进行添加、修改和删除,也可以按照一定的条件来进行查询。

2.2需求模块分析:

根据需求分析的结果,本系统主要划分为4个子模块:

车辆信息、员工信息、客户信息以及精品理。

汽车销售管理系统不同类型的用户在系统中有不同的权限,主要有以下两种用户:

会计:

作为本系统的管理人员,会计可以使用本系统的所有功能,包括对用户信息、汽车信息、进货信息、销售信息等进行管理,添加,需改删除等功能。

销售人员:

4S店的销售人员负责汽车的日常销售工作,需要掌握各种汽车的各次的销售情况,其只能对本系统的汽车销售信息进行阅读,来对每次汽车的销售情况进行记录;同时,作为顾客,可以通过员工来对本4S店内的车辆信息进行了解,从而对该店有一个大致的评价,更好地为自己的购车等做一个更合理的参考等。

三、数据库系统设计

3.1概念结构设计:

整个系统的结构模块如图所示:

 

 

3.2数据逻辑结构设计:

3.2.1车辆信息管理:

用于管理汽车销售系统中的各种类型的车辆。

只有具有管理人员身份的人才能使用本模块,管理人员可以添加、或者删除相应的车辆信息,可以根据实际情况及时的更新系统中的车辆信息,使车辆的进出都可以得到反应

3.2.2员工信息管理:

用于管理本4s店的员工的基本信息,经理作为高级的管理人员,可以通过本模块的信息统计对于本店员工的表现加以具体的分析、判断,对于提成的评判有一定的参考价值。

同时,员工自身也可以通过本模块来查询自己某一阶段的业绩,对比他人的业绩,就会产生很好的竞争意识,有利于员工之间的相互学习和交流,促进本店的销售业绩;同样,系统的管理员可以对员工的而信息做添加、更新和删除等基本的操作。

3.2.3客户信息管理:

由于本模块设计到客户的个人信息,所以,只有具有管理人员身份的人才能使用本模块。

其中,客户的基本信息包括客户姓名、姓名、年龄、联系电话、车辆型号、购车时间、员工姓名、付款方式、是否领车等最基本的信息。

管理员通过了解到的客户信息,可以对客户的信息做及时的插入、修改和删除等操作,使管理更加的便捷。

 

3.2.4精品管理:

随着汽车附属品的迅速发展,越来越多的额客户并不仅仅满足于对于车辆本身的享受,而是追求更加汽车的而精品配置,所以,精品管理模块就是为了迎合这类用户而设计的额。

一般用户对于该模块只具有读的权限,管理员可以根据具体的销售情况对本模块的而数据进行及时的操作,使模块的数据得以及时的更新。

其基本代码如下:

3.3总代码

createdatabase汽车4S店销售管理

go

use汽车4S店销售管理

createtable车辆信息表

(车辆型号varchar(20)primarykeynotnull,

基本信息varchar(30),

进店日期datetimenotnull,

出店日期datetimenotnull,

存量varchar(20)notnull,

供货商varchar(20)

insert车辆信息表values('宝马X1','2010款sDrive18i豪华型','2010.1.1','2010.2.1','12','广州欧亿汽配贸易')

insert车辆信息表values('宝马X3','2011款sDrive28领先型','2011.3.1','2011.9.1','13','宝马亿峰分公司')

insert车辆信息表values('宝马X5','2011款sDrive35领先型','2011.6.1','2011.7.1','12','国爱汽配')

 

createtable精品管理表

精品名称varchar(10)notnull,

进货价varchar(10)notnull,

售价varchar(10)notnull,

客户姓名varchar(10)notnull,

供货商varchar(20)notnull,

存量varchar(100)notnull

insert精品管理表values('太阳膜','600','1250','许博','京东商城','24')

insert精品管理表values('汽车装甲','2250','5000','成健','糯米当当','15')

insert精品管理表values('智能钥匙','400','800','代丽萍','上海国际汽车配件商城','100')

createtable客户信息表

(客户姓名varchar(10)notnull,

性别nchar

(2)check(性别in('男','女'))notnull,

年龄integercheck(年龄between1and100),

联系电话varchar(30)check(联系电话like'1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')notnull,

车辆型号varchar(20)references车辆信息表(车辆型号)notnull,

购车时间datetimeNOTNULL,

员工姓名varchar(10)notnull,

付款方式varchar(10)check(付款方式in('全额','预付'))notnull,

是否领车varchar(10)check(是否领车in('是','否'))

insert客户信息表values('许博','男','26','','宝马X1','2010.2.1','刘平','全额','是')

insert客户信息表values('成健','男','43','','宝马X3','2011.9.1','宋强','全额','是')

insert客户信息表values('代丽萍','女','39','','宝马X5','2011.7.1','张佳丽','预付','否')

 

createtrigger插入新用户

on客户信息表

afterinsert

as

print'欢迎进入本公司'

insert客户信息表values('萍','女','39','','宝马X5','2011.7.1','张佳丽','预付','否')

createtrigger删除预订用户

on客户信息表

afterdelete

as

print'期待您选择本公司'

delete客户信息表where客户姓名='萍'

 

createtable员工信息表

员工姓名varchar(10)notnull,

性别nchar

(1)check(性别in('男','女'))notnull,

电话varchar(11)notnull,

职务nchar(20)notnull,

薪水char(10)notnull,

月销售额char(100)notnull

insert员工信息表values('刘平','男','','经理','4500','2')

insert员工信息表values('宋强','男','','员工','3000','1')

insert员工信息表values('张丽','女','','员工','3000','5')

insert员工信息表values('王潇','男','','职员','2500','2')

update员工信息表set电话=''where员工姓名='王潇'

delete员工信息表where员工姓名='王潇'

 

createview车辆信息视图as

select*

from车辆信息表

createview精品管理表视图as

select*

from精品管理表

 

createview员工信息视图as

select*

from员工信息表

createview精品销售管理视图as

select精品管理表.精品名称,售价,

客户信息表.客户姓名,联系电话

from精品管理表,客户信息表

where客户信息表.客户姓名=精品管理表.客户姓名

createview销售管理视图as

select车辆信息表.车辆型号,进店日期,出店日期,

客户信息表.客户姓名,员工姓名,付款方式

from车辆信息表,客户信息表

where车辆信息表.车辆型号=客户信息表.车辆型号

createprocedure客户信息查询

@客户姓名varchar(15)as

select客户姓名,车辆型号,进店日期,出店日期,员工姓名,付款方式

from销售管理视图where客户姓名=@客户姓名

createprocedure[某车辆信息]

@车辆型号varchar(15)as

select车辆型号,基本信息,进店日期,出店日期,存量,供货商

from车辆信息视图

where车辆型号=@车辆型号

alterprocedure[某车辆信息]

@车辆型号varchar(15)as

select车辆型号,基本信息,进店日期,出店日期,存量,供货商

from车辆信息视图

where车辆型号=@车辆型号and存量>=13

dropprocedure某车辆信息

createprocedureinsert_车辆信息表

(@车辆型号_1varchar(20),

@基本信息_2varchar(30),

@进店日期_3datetime,

@出店日期_4datetime,

@存量_5varchar(20),

@供货商_6varchar(20))

asinsertinto车辆信息表

(车辆型号,基本信息,进店日期,出店日期,存量,供货商)

values

(@车辆型号_1

@基本信息_2,

@进店日期_3,

@出店日期_4,

@存量_5,

@供货商_6)

createprocedure[某员工信息]

@员工姓名varchar(10)as

select*from员工信息视图

where员工姓名=@员工姓名

alterprocedure某员工信息

as

select员工姓名,电话,月销售额from员工信息表

where月销售额>=2

dropprocedure某客户信息

createprocedureinsert_员工信息表(

@员工姓名_1varchar(10),

@性别_2nchar

(1),

@电话_3varchar(11),

@职务_4nchar(20),

@薪水_5char(10),

@月销售额_6char(100))

asinsertinto员工信息表(员工姓名,性别,电话,职务,薪水,月销售额)

values(@员工姓名_1,@性别_2,@电话_3,@职务_4,@薪水_5,@月销售额_6)

execsp_addlogin'销售人员','888','汽车4S店销售管理'

execsp_grantdbaccess'销售人员','读者'

execsp_addrolemember'db_datareader','读者'

execsp_addlogin'会计','123456','汽车4S店销售管理'

execsp_grantdbaccess'会计','管理员'

execsp_addrolemember'db_owner','管理员'

3.4表之间关系图:

 

四、系统实现:

1、销售管理

为了查看销售情况,我使用视图将客户信息表和车辆表进行连接建立了销售管理视图

createview销售管理视图as

select车辆信息表.车辆型号,进店日期,出店日期,

客户信息表.客户姓名,员工姓名,付款方式

from车辆信息表,客户信息

where车辆信息表.车辆型号=客户信息表.车辆型号

输出的结果图

将客户详细的购车情况,车辆情况进行输出,在使用存储过程有以下的优点:

存储过程的能力大大增强了SQL语言的功能和灵活性。

存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

可保证数据的安全性和完整性。

通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。

通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。

这种已经编译好的过程可极大地改善SQL语句的性能。

由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。

可以降低网络的通信量。

使体现企业规则的运算程序放入数据库服务器中,以便:

集中控制。

当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。

企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。

如果把体现企业规则的运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。

2、SQL身份验证的用户账户新建及权限设置

汽车销售管理系统不同类型的用户在系统中有不同的权限,主要有以下2种用户:

(1)管理人员本系统的管理人员可以使用本系统的所有功能,包括用户管理、汽车信息管理、进货信息管理和销售信息管理功能。

execsp_addlogin'会计','123456’,’汽车4s店销售管理’

建立SQL身份验证的用户账户会计,密码:

123456,

execsp_grantdbaccess'会计','管理员'

给用户账户赋予数据库用户名称管理员

execsp_addrolemember'db_owner','管理员'

给管理员角色db_owner可以使用本系统的所有功能

(2)销售人员销售人员负责汽车的日常销售工作,需要掌握各种汽车的各次的销售情况。

对每次汽车的销售情况进行记录。

execsp_addlogin'销售人员','888','汽车4s店销售管理'

建立SQL身份验证的用户账户销售人员,密码888

execsp_grantdbaccess'销售人员','读者'

给用户账户赋予数据库用户名称读者

execsp_addrolemember'db_datareader','读者'

给管理员角色db_datareader.权限:

可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。

成功登陆窗口

3、数据库的备份与还原

在编辑数据库时,掌握数据库的备份恢复技术是很关键的。

3.1备份

打开企业管理器,在你的数据库上点右键,选输入你要备份的文件名及路径择“所有任务”-“备份数据库”,如果“备份到”里面有项目就把它删除,然后点“添加”,(可以浏览选择),然后点确定,这样数据库就备份好了(备份之前保证没有用别的程序打开数据库)。

备份好的文件是.BAK文件

3.2还原

打开企业管理器,新建数据库,然后在新建的数据库上点右键,选择“所有任务”-“还原数据库”,还原方式选择“从设备”,然后点“选择设备”,再点“添加”,找到COPY的那个文件,点“确定”,再点“确定”,再点“确定”,数据库就还原好了。

注意的是看好将要还原数据库的路径是否存在,否则无法还原

还原如果不是新建的数据库,而是在已有的数据库上还原,那么最好在最后一次点“确定”之前,在“选项”中打开“在现有数据库上强制还原”,以免引起不必要的问题。

五、结论及个人总结

结论

创建销售管理视图成功。

创建客户信息查询的存储过程成功,成功查询到许博的客户信息。

创建SQL身份验证的用户账户成功,成功用SQL账户销售人员及会计登入。

并成功赋予权限

成功地备份数据库,并将它移到移动到硬盘,然后成功在其他服务器上还原。

个人总结

在这次sql的课程设计中,我受益匪浅。

经过我一周利用书和电脑操作上的结合,再加上老师的指导,我对于sql的理解更加透彻。

在设计代码时,我总会发生语法错误,后来我发现都是一些细小的错误如中英文未切换。

在建立视图时,要注意每个列所对应的列名要相同,并要看清个表之间的联系在提取列达到所要达到的作用。

在建立存储过程建立存储过程对客户的销售信息的查询,我发现存储过程在查询时起到快捷方便作用,很快地反映所要查询单内容。

除了知识上的获得,在与人合作上,在小组内我们不仅需要之间的配合,更需之间的讨论,在设计数据库之前,我们首先在销售管理模块上的分配进行了讨论,让我们的设计方向得到了明确,并很合理的分配了每个人的内容,使我们可以更有目标的完成自己任务

六、参考文献

1.《新电脑课堂 SQL Server 编程篇》 作者:

本书编委会 编著  出版社:

电子工业大学出版社

2.《SQL Server2000 中文版 入门与提高》编著:

周绪 管丽娜 白海波 出版社:

清华大学出版社

3.《SQL Server 2000 数据库教程》 主编:

唐学忠、 副主编:

费贤举 腾刚 胡智喜 

4.XX文库 《数据库课程设计(学生成绩管理系统)》

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2