关系数据库原理及应用课程设计报告。
家电售后服务系统。
一、需求分析。
通过对实际市场系统的分析,要求本数据库具有以下功能:
1.统一友好的操作界面,用以保证数据库的易用性。
2.规范、完善的基础信息管理。
3.对客户的销售信息、维修信息信息进行全面的管理。
4.提供根据客户姓名查询和根据客户编号删除客户信息功能。
5.能够输出各种实用的视图。
二、e-r图。
三、关系模式。
客户表(customer):客户编号cno、客户姓名cn、客户**tel、购买电器pn、数量cnum、维修时间rtime、维修状态rstate、维修工编号rno
商店表(products):产品编号pno、电器名pn、库存量pnum、生产日期(pdate)
销售表(sale):客户编号cno、产品编号pno、销售编号sno、销售时间saledate、销售量snum
售后表(repair):维修工编号rno、姓名rn、联系**rtel
四、创建数据表。
创建数据库。
create database 家电售后服务系统。
on primary
name=家电售后服务系统,filename='d:\胡沈钢\家电售后服务系统。mdf',size=10,maxsize=50,filegrowth=5
log on
name=study_log,filename='d:\胡沈钢\家电售后服务系统。ldf',size=5,maxsize=unlimited,filegrowth=10%
use 家电售后服务系统。
go创建数据表。
create table products --商店表。
pno char(6) primary key, -产品编号。
pn varchar(20电器名。
pnum smallint库存量。
pdate datetime生产日期。
constraint ck_products_pnum check(pnum>=0)
create table repair --售后表。
rno char(6) primary key, -维修工编号。
rn varchar(18维修工姓名。
rtel char(15) unique --联系**。
create table customer --客户表。
cno char(6) primary key, -客户编号。
cn varchar(18) not null, -客户姓名。
ctel char(15) unique, -客户**。
pn varchar(20购买电器。
cnum smallint数量。
rtime datetime维修时间。
rstate varchar(8维修状态。
rno char(6维修工编号。
constraint ck_customer_cnum check(cnum>0),constraint ck_customer_rstate check(rstate in('待维修','正在维修','维修完成','维修失败'))
create table sale --销售表。
cno char(6客户编号。
pno char(6产品编号。
sno char(6销售编号。
saledate datetime销售时间。
snum smallint销售量。
constraint pk_sale primary key(cno,pno),constraint fk_sale_customer foreign key(cno) references customer(cno),constraint fk_sale_products foreign key(pno) references products(pno)
五、视图。创建视图。
1)创建有过维修记录的客户信息视图。
create view 有维修记录的客户信息。
asselect cno 客户编号,cn 客户姓名,ctel 客户**,rstate 维修状态,rn 维修工,rtel 维修工**。
from customer inner join repair
on where is not null
2)创建维修信息视图。
create view 维修信息。
asselect cn 客户姓名, 电器,rstate 维修状态, 维修工编号,rn 维修工。
from customer,repair
where
3)创建30天内的销售信息视图。
create view 销售信息--(30天内)
asselect 产品编号,pn 电器名,sum(snum) 总销售量 from products,sale
where and saledate between dateadd(dd,-30,getdate())and getdate()
group by
4)创建正在维修的维修工信息视图。
create view 维修工信息。
asselect 维修工编号,rn 维修工姓名,rtel 联系**,rstate 维修状态 from repair,customer
where and rstate ='正在维修'
六、存储过程。
创建存储过程。
1)创建存储过程,根据提供的参数向客户表中添加记录。
create procedure insertrecord
cno char(6),cn varchar(18),ctel char(15),pn varchar(20),cnum smallint,rtime datetime,
rstate varchar(8),rno char(6)
asinsert into customer
values(@cno,@cn,@ctel,@pn,@cnum,@rtime,@rstate,@rno)
2)创建存储过程,根据客户编号找客户信息。
create procedure search
cno char(6),cn varchar(18) output,ctel char(15) output,pn varchar(20) output,cnum smallint output
asselect @cn=cn,@ctel=ctel,@pn=pn,@cnum=cnum
from customer
where cno=@cno
3)创建存储过程,根据提供的客户名删除表中的一条客户信息。
create procedure dele(@cn varchar(18))
asdelete from customer
where cn=@cn
4)创建存储过程,根据提供的日期找出生产日期在此之前的产品信息。
create procedure proc4(@pdate datetime)
asselect pno 产品编号,pn 电器名,pnum 库存量 from products
where pdate<@pdate
七、数据库用户。
创建数据库用户。
exec sp_addlogin 'mike','1234'
exec sp_adduser 'mike','jack'
exec sp_addrolemember 'db_owner','jack'
八、触发器。
创建触发器。
1)创建触发器,要求客户表中的“购买电器”参照于商店表中的“电器名”
create trigger tr1
on customer
for insert,update
asdeclare @pn1 varchar(20),@pn2 varchar(20)
select @pn1=pn from insterd
select @pn2=pn from products
if(@pn1!=@pn2)
beginrollback
print '输入的电器名不在商店表中!'
end2)创建触发器,商店表中的库存量随销售表的销售量变化。
create trigger tr2
on sale
for insert,update
asdeclare @snum smallint
select @snum=snum from inserted
update products
set pnum=pnum-@snum
where pno=(select pno from inserted)
3)创建触发器,购买的电器的库存量为0时,打印“库存量为0,无法购买!”
create trigger tr3
on sale
for insert,update
asdeclare @pno char(6),@pnum smallint
select @pno=pno from inserted
select @pnum=pnum from products where pno=@pno
if(@pnum=0)
beginrollback
print '库存量为,无法购买!'
end4)创建触发器,不允许删除客户表中维修状态为“正在维修”或“待维修”的客户信息。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...