数据库课程设计之轿车信息管理系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
轿车信息管理系统的数据库设计与实现
一、数据库需求分析
管理信息系统在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,管理信息系统事实上已成为计算机管理信息系统。
轿车信息管理系统是基于商品信息数据库,遵照商场实际管理流程,对商场商品的进、销、存的全过程进行全面管理的计算机应用系统。
它将人工智能的理论引入商场,其目标是将商场人工操作的商品信息管理工作,转为有计算机网络系统自动操作完成。
该系统实现了对整个商场商品信息资源的合理共享与分配,并进行科学有效的管理,在这个基础上谋求提高商品的信息管理效率。
在整个课程设计过程中,本设计具体完成了对“基本资料” 、“售后服务管理” 、“销售管理” 、“库存管理”和“系统管理”这5个功能模块的实现。
所以本设计主要是对这5个模块的设计,以实用、标准、可靠、强扩展性的原则为出发点,能够为商品的进销存提供最简便、最科学、最优化的系统设计和服务。
本系统结合实际的轿车销售服务管理制度。
经过实际的需求分析,确定需要包含以下数据库信息:
【轿车库存信息:】
轿车编号(标识列),轿车型号,轿车名称,颜色,库存量,生产厂家,出厂日期,出厂价格,备注;
【员工信息:】
员工编号,姓名,性别,年龄,籍贯,联系电话,学历,身份证号,岗位;
【客户信息:】
客户编号,客户姓名,客户等级,联系电话,地址,业务记录;
【轿车销售信息:】
序号(标识列),销售日期,轿车型号,颜色,数量,经手人编号,实际售价,车辆牌照,客户编号,备注;
【售后管理:】
序号(标识列),客户编号,保养人编号,车辆牌照,保养日期,业务记录;
二、轿车销售管理系统E—R图(1)轿车库存信息关系图
(2)员工信息关系图
(3)客户信息关系图
(4)轿车销售信息关系图
(5)轿车售后管理信息关系图
以上实例,E—R关系图如下:
三、数据库表信息查询字典
轿车信息库存表
员工信息表
客户信息表
轿车销售表
售后管理表
三、数据库及数据表的设计实现
<1>create database jcxs
on primary
(name='jcxs_data',
filename='F:\SQL_SERVER课程设计\
轿车销售管理系统\jcxs_data.mdf',
size=1
filegrowth=10%
)
log on
(name='jcxs_log',
filename='F:\SQL_SERVER课程设计\
轿车销售管理系统\jcxs_data.mdf',
size=1,
filegrowth=10%
)
Go
<2>轿车信息库存表
use jcxs
go
if exists (select * from sysobjects where name='轿车信息库存表' and type='u') drop table 轿车信息库存表
go
create table 轿车信息库存表
(轿车编号varchar(10) primary key,
轿车型号varchar(10) null,
轿车名称varchar(10) null,
库存量int not null,
生产厂家varchar(20) null,
出厂价格varchar(10) not null,
备注varchar(100) null
)
<3>员工信息表
use jcxs
go
if exists (select * from sysobjects where name='员工信息表' and type='u') drop table 员工信息表
go
create table 员工信息表
(员工编号varchar(10) primary key,
姓名varchar(10) null,
性别varchar(2) null,
出生日期datetime null,
籍贯varchar null,
学历varchar(10) null,
联系电话varchar(15) null,
岗位varchar(10) null,
身份证varchar(20) null
)
<4>客户信息表
use jcxs
go
if exists (select * from sysobjects where name='客户信息表' and type='u') drop table 客户信息表
go
create table 客户信息表
(客户编号varchar(10) primary key,
客户姓名varchar(10) null,
客户等级varchar(10) null,
联系电话varchar(15) null,
地址varchar(50) null,
优惠项目varchar(50) null
)
<5>轿车销售表
use jcxs
go
if exists (select * from sysobjects where name='轿车销售表' and type='u') drop table 轿车销售表
go
create table 轿车销售表
销售日期datetime not null,
客户编号varchar(10) not null references 客户信息表(客户编号),
轿车型号varchar(20) not null,
颜色varchar(10) not null,
数量int not null,
实际售价numeric not null,
经手人编号varchar(10) not null,
车辆牌照varchar(10)unique not null,
备注varchar(200) null
)
<6>售后管理表
use jcxs
go
if exists (select * from sysobjects where name='售后管理表' and type='u') drop table 售后管理表
go
create table 售后管理表
(服务序号varchar(10) primary key,
保养日期datetime not null,
客户编号varchar(10) not null references 客户信息表(客户编号),
车辆牌照varchar(10) not null references 轿车销售表(车辆牌照),
保养人编号varchar(10) not null references 员工信息表(员工编号),
业务记录varchar(200) null
)
触发器(1)
use jcxs
go
if exists(select * from sysobjects where name='tr1' and type='tr')
drop trigger tr1
go
create trigger tr1
on 轿车信息库存表
instead of insert
as
if ((select 轿车型号from 轿车信息库存表)=(select 轿车型号from inserted)
and (select 颜色from 轿车信息库存表)=(select 颜色from inserted))
update 轿车信息库存表
set 库存量=库存量+(select 库存量from inserted)
where ((select 轿车型号from 轿车信息库存表)=(select 轿车型号from inserted) and (select 颜色from 轿车信息库存表)=(select 颜色from inserted))
else
begin
insert 轿车信息库存表
select * from inserted
end
触发器(2)
use jcxs
go
if exists(select * from sysobjects where name='tr2' and type='tr')
drop trigger tr2
go
create trigger tr2
on 轿车销售表
after insert
as
if ((select 轿车型号from 轿车信息库存表)=(select 轿车型号from inserted)
and (select 颜色from 轿车信息库存表)=(select 颜色from inserted))
begin
if ((select 轿车型号from 轿车信息库存表)=(select 轿车型号from inserted)
and (select 颜色from 轿车信息库存表)=(select 颜色from inserted) and
(select 库存量from 轿车信息库存表)>=(select 数量from inserted) ) update 轿车信息库存表
set 库存量=库存量-(select 数量from inserted)
where ((select 轿车型号from 轿车信息库存表)=(select 轿车型号from inserted) and (select 颜色from 轿车信息库存表)=(select 颜色from inserted))
else
begin
print 'kucun buzu'
rollback tran
end
end
else
begin
print 'you wu'
rollback tran
end。