sql课程设计汽车管理系统.docx
- 文档编号:28125715
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:21
- 大小:337.92KB
sql课程设计汽车管理系统.docx
《sql课程设计汽车管理系统.docx》由会员分享,可在线阅读,更多相关《sql课程设计汽车管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
sql课程设计汽车管理系统
数据库课程设计
题目汽车销售管理系统
系(部)电子与信息工程系
班级计算机科学与技术11级1班
姓名候聪聪
学号
指导教师杨小燕
2013年12月25日
数据库课程设计任务书
一、设计题目、内容及要求
题目:
内容:
1.对汽车信息规范管理。
2.使汽车的信息可以快速查询、并且科学统计。
要求:
1.建立一个名字为汽车销售管理系统的数据库;
2.数据库可以进行查询;
3.数据库可以面向进行对数据的修改,插入,删除;
二、要求的设计成果(课程设计说明书、设计实物、图纸等)
1、课程设计总结报告
2、数据库备份文件
三、进程安排
一周时间:
对数据库进行分析;进行建立数据库;论文;
四、主要参考资料
[1]范立南.SQLServer2000实用教程[M].北京:
清华大学出版社,2004
[2]本书编委会《新电脑课堂 SQL Server 编程篇》出版社:
电子工业大学出版社
[3]周绪 管丽娜 白海波《SQL Server2000 中文版 入门与提高》出版社:
清华大学出版社
指导教师(签名):
教研室主任(签名):
汽车销售管理系统
姓名候聪聪
安康学院计算机科学与技术11级陕西安康
摘要:
通过调查研究,发现随着经济的发展和国内汽车市场的不断扩大,汽车销售公司定单成倍增加各项业务更加细化,各部门分工更加明确,所以本次设计的管理系统就是把实际任务及可以做到汽车信息的规范管理、快速查询和科学统计,利用计算机来代替人工操作,减轻了员工的劳动强度,提高了劳动质量和效率,减少了错误的发生。
关键字:
SQLServer2000;汽车销售管理;管理销售;
1、引言
1.1系统背景
本系统是为解决汽车销售公司的管理问题而设计。
随着经济的发展和国内汽车市场的不断扩大,某汽车销售公司定单成倍增加,各项业务更加细化,各部门分工更加明确,这就要求要有一个高效、可靠的数据库系统来实现该公司的日常事务的管理,而目前的人工管理方式显然已是不符合现代企业的管理要求。
基于整体考虑,本次课程设计任务就是设计一个管理系统,应用到4S店日常的销售和管理工作中,可以做到汽车信息的规范管理、快速查询和科学统计,利用计算机来代替人工操作,减轻了员工的劳动强度,提高了劳动质量和效率,减少了错误的发生。
本次设计,从需求分析,概念设计,逻辑设计,物理设计,到数据库的建立、运行,再到数据库的安全维护等各个方面进行了详细的分析设计。
并且值得一提的是,我认真分析了企业的业务需求,公司的主要职责和主要结构等信息,从而保证了设计出比较符合公司需要的管理系统。
1.2系统任务
随着市场竞争的日趋激烈,人已成为实现企业自身战略目标的一个非常关键的因素。
企业人事管理系统管理的是所有与人相关的数据,信息量大,变化频繁,内部关联性密切。
企业人事管理系统能够对员工的有关资料进行输人,修改,删除,打印,能够为企业提供强大的查询功能,以便企业主管了解和掌握各职员的具体情况。
本文就以下企业人事结构为题,进行系统设计。
如图1所示。
1.3开发环境
SQLServer是微软公司开发的数据库产品,SQLServer2000被广泛使用,很多电子商务网站、企业内部信息化平台等都是基于SQLServer产品上。
除这些核心企业品质外,SQLServer2000还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,。
SQLServer2000为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。
2、需求与功能分析
2.1需求功能的分析
本系统的设计模拟一般的汽车4S销售管理系统内容,经过系统分析和调研,本系统主要包括的信息有4类:
车辆信息、员工信息、客户信息以及精品管理。
在传统的销售管理工作中,往往是用人工清点的方式来掌握仓库中的汽车商品、使用手工记账的方式来掌握商品的进货和销售情况。
这种方式在数量较少、库存变换少的情况下,不失为一种好的方法。
但是,随着每天所发生的进货和销售情况纷繁复杂,如果借助人工来记录和管理,将会耗费大量的时间,而且容易出现错误,造成管理上的混乱。
具体而言,4S店汽车销售管理系统需要实现以下功能
2.1.1能够对4S店拥有的各种汽车的基础信息进行维护和管理
汽车的基础信息包括:
车辆型号、基本信息、进店日期、出店日期、供货商、库存数量等。
系统需要能够对汽车信息进行添加、修改和删除,也可以以视图的方式显示出现汽车的库存数量的比较。
2.1.2跟踪各个员工的销售业绩
员工的信息包括员工姓名、性别、联系电话、职务、薪水、月销售额等。
系统还需要能够对员工信息进行添加、修改和删除,也可以按照一定的条件来进行查询。
2.1.3跟踪各种汽车的销售信息
汽车的销售信息包括顺车辆型号、汽车名称、顾客名称、购买数量、售出价格、销售日期、备注等。
系统需要能够对销售信息进行添加、修改和删除,也可以按照一定的条件来进行查询。
2.2需求模块分析:
根据需求分析的结果,本系统主要划分为4个子模块:
车辆信息、员工信息、客户信息以及精品理。
汽车销售管理系统不同类型的用户在系统中有不同的权限,主要有以下两种用户:
会计:
作为本系统的管理人员,会计可以使用本系统的所有功能,包括对用户信息、汽车信息、进货信息、销售信息等进行管理,添加,需改删除等功能。
销售人员:
4S店的销售人员负责汽车的日常销售工作,需要掌握各种汽车的各次的销售情况,其只能对本系统的汽车销售信息进行阅读,来对每次汽车的销售情况进行记录;同时,作为顾客,可以通过员工来对本4S店内的车辆信息进行了解,从而对该店有一个大致的评价,更好地为自己的购车等做一个更合理的参考等。
2.3数据库系统设计
概念结构设计:
整个系统的结构模块如图所示:
2.4数据逻辑结构设计:
2.4.1车辆信息管理:
用于管理汽车销售系统中的各种类型的车辆。
只有具有管理人员身份的人才能使用本模块,管理人员可以添加、或者删除相应的车辆信息,可以根据实际情况及时的更新系统中的车辆信息,使车辆的进出都可以得到反应
2.4.2员工信息管理:
用于管理本4s店的员工的基本信息,经理作为高级的管理人员,可以通过本模块的信息统计对于本店员工的表现加以具体的分析、判断,对于提成的评判有一定的参考价值。
同时,员工自身也可以通过本模块来查询自己某一阶段的业绩,对比他人的业绩,就会产生很好的竞争意识,有利于员工之间的相互学习和交流,促进本店的销售业绩;同样,系统的管理员可以对员工的而信息做添加、更新和删除等基本的操作。
2.4.3客户信息管理:
由于本模块设计到客户的个人信息,所以,只有具有管理人员身份的人才能使用本模块。
其中,客户的基本信息包括客户姓名、姓名、年龄、联系电话、车辆型号、购车时间、员工姓名、付款方式、是否领车等最基本的信息。
管理员通过了解到的客户信息,可以对客户的信息做及时的插入、修改和删除等操作,使管理更加的便捷。
2.4.4精品管理:
随着汽车附属品的迅速发展,越来越多的额客户并不仅仅满足于对于车辆本身的享受,而是追求更加汽车的而精品配置,所以,精品管理模块就是为了迎合这类用户而设计的额。
一般用户对于该模块只具有读的权限,管理员可以根据具体的销售情况对本模块的而数据进行及时的操作,使模块的数据得以及时的更新。
其基本代码如下:
2.5总代码
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'会计','','汽车4S店销售管理'
execsp_grantdbaccess'会计','管理员'
execsp_addrolemember'db_owner','管理员'
2.6表之间关系图:
3、概要设计
3.1、销售管理
为了查看销售情况,我使用视图将客户信息表和车辆表进行连接建立了销售管理视图
createview销售管理视图as
select车辆信息表.车辆型号,进店日期,出店日期,
客户信息表.客户姓名,员工姓名,付款方式
from车辆信息表,客户信息
where车辆信息表.车辆型号=客户信息表.车辆型号
输出的结果图
将客户详细的购车情况,车辆情况进行输出,在使用存储过程有以下的优点:
存储过程的能力大大增强了SQL语言的功能和灵活性。
存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
可保证数据的安全性和完整性。
通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。
通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。
这种已经编译好的过程可极大地改善SQL语句的性能。
由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。
可以降低网络的通信量。
使体现企业规则的运算程序放入数据库服务器中,以便集中控制。
当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。
企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。
如果把体现企业规则的运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。
3.2SQL身份验证的用户账户新建及权限设置
汽车销售管理系统不同类型的用户在系统中有不同的权限,主要有以下2种用户:
(1)管理人员本系统的管理人员可以使用本系统的所有功能,包括用户管理、汽车信息管理、进货信息管理和销售信息管理功能。
execsp_addlogin'会计','’,’汽车4s店销售管理’
建立SQL身份验证的用户账户会计,密码:
,
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、数据库的备份与还原
在编辑数据库时,掌握数据库的备份恢复技术是很关键的。
3.1备份
打开企业管理器,在你的数据库上点右键,选输入你要备份的文件名及路径择“所有任务”-“备份数据库”,如果“备份到”里面有项目就把它删除,然后点“添加”,(可以浏览选择),然后点确定,这样数据库就备份好了(备份之前保证没有用别的程序打开数据库)。
备份好的文件是.BAK文件
3.2还原
打开企业管理器,新建数据库,然后在新建的数据库上点右键,选择“所有任务”-“还原数据库”,还原方式选择“从设备”,然后点“选择设备”,再点“添加”,找到COPY的那个文件,点“确定”,再点“确定”,再点“确定”,数据库就还原好了。
注意的是看好将要还原数据库的路径是否存在,否则无法还原。
还原如果不是新建的数据库,而是在已有的数据库上还原,那么最好在最后一次点“确定”之前,在“选项”中打开“在现有数据库上强制还原”,以免引起不必要的问题。
四、结论及个人总结
4.1结论
创建销售管理视图成功。
创建客户信息查询的存储过程成功,成功查询到许博的客户信息。
创建SQL身份验证的用户账户成功,成功用SQL账户销售人员及会计登入。
并成功赋予权限
成功地备份数据库,并将它移到移动到硬盘,然后成功在其他服务器上还原。
4.2个人总结
在这次sql的课程设计中,我受益匪浅。
经过我一周利用书和电脑操作上的结合,再加上老师的指导,我对于sql的理解更加透彻。
在设计代码时,我总会发生语法错误,后来我发现都是一些细小的错误如中英文未切换。
在建立视图时,要注意每个列所对应的列名要相同,并要看清个表之间的联系在提取列达到所要达到的作用。
在建立存储过程建立存储过程对客户的销售信息的查询,我发现存储过程在查询时起到快捷方便作用,很快地反映所要查询单内容。
除了知识上的获得,在与人合作上,在小组内我们不仅需要之间的配合,更需之间的讨论,在设计数据库之前,我们首先在销售管理模块上的分配进行了讨论,让我们的设计方向得到了明确,并很合理的分配了每个人的内容,使我们可以更有目标的完成自己任务.。
课程设计成绩评定表
出勤
情况
出勤天数
全勤
缺勤天数
无
成
绩
评
定
出勤情况及设计过程表现(20分)
论文(20分)
设计成果(60分)
总成绩(100分)
综
合
评
定
指导教师签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 课程设计 汽车 管理 系统