课程设计实验报告示例Word文件下载.docx
《课程设计实验报告示例Word文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计实验报告示例Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
①部门
列名
数据类型
长度
是否允许空
备注
部门号
char
6
否
主关键字
部门名
10
是
上年预算
money
本年预算
②工程
工程名
20
预算
8
外部关键字
所需部件数量
smallint
2
③职工
职工号
5
姓名
char
性别
年龄
工资
money
④部件
部件号
仓库号
部件数量
⑤仓库
仓库名
面积
库存量
2、工厂管理基本数据
仓库
101
东仓库
1000
21000
102
1600
25000
201
西仓库
1500
22000
202
1200
23000
工程
电力工程
71011
7500
环境工程
71012
15500
基因工程
71021
11000
土木工程
71022
17000
职工
610
李明
男
27
611
刘丽
女
29
612
张新
28
613
李南
614
曲波
32
2000
615
徐思
33
1440
616
许微
1700
617
天蓝
30
部件
8000
7000
103
9000
104
5000
105
8500
106
107
6000
部门
A部门
B部门
3、创建数据库和表
①建库
createdatabase工厂管理信息系统
②建表
createtable部门
(部门号char(6)primarykey,
部门名char(10),
上年预算money,
本年预算money);
createtable工程
(工程名char(20)primarykey,
预算money,
部门号char(6)references部门(部门号),
所需部件数量smallint);
createtable职工
(职工号char(5)primarykey,
姓名char(10),
性别char
(2)default'
男'
年龄smallint,
工资money,
工程名char(20)references工程(工程名));
createtable仓库
(仓库号char(5)primarykey,
仓库名char(20),
面积smallint,
库存量smallint);
createtable部件
(部件号char(5)primarykey,
工程名char(20),
仓库号char(5),
部件数量smallint
constraintpk_bj1foreignkey(工程名)references工程(工程名),
constraintpk_bj2foreignkey(仓库号)references仓库(仓库号));
③添加记录
insertinto部门
values('
071011'
'
A部门'
1000000,1200000);
071021'
B部门'
1500000,1300000);
071012'
1250000,1500000);
071022'
2000000,1800000);
insertinto工程
电力工程'
1200000,'
7500);
环境工程'
1400000,'
15500);
基因工程'
1900000,'
11000);
土木工程'
1100000,'
17000);
insertinto职工
0610'
李明'
27,1500,'
土木工程'
);
0611'
刘丽'
女'
29,1600,'
基因工程'
0612'
张新'
28,1600,'
电力工程'
0613'
李南'
29,1500,'
0614'
曲波'
32,2000,'
环境工程'
0615'
徐思'
33,1800,'
0616'
许微'
28,1700,'
0617'
天蓝'
30,1700,'
insertinto仓库
101'
东仓库'
1000,21000);
201'
西仓库'
1500,22000);
202'
1200,23000);
102'
1600,25000);
insertinto部件
0101'
8000);
0102'
7000);
0103'
9000);
0104'
5000);
0105'
8500);
0106'
0107'
6000);
四、功能处理
1.索引
①建立索引
createuniqueindexid_ixon职工(姓名);
createuniqueindexim_inon部件(部件数量);
createuniqueindexik_ilon仓库(库存量);
②删除索引
dropindex仓库.ik_il;
2.视图
①创建视图
createviewview_1
asselect职工号,姓名,性别,年龄
from职工
createviewview_2
asselect部件号,部件数量,仓库号
from部件
where部件数量>
=7500
createviewview_3
asselect部门.部门名,本年预算,工程名,所需部件数量
from部门,工程
where部门.部门号=工程.部门号
②视图的撤消
dropviewview_1;
③视图的查询
select*fromview_3;
select*fromview_2;
④视图的更新
insertintoview_1
values('
0621'
陈雨'
29);
3.存储过程
①创建存储过程
createprocproc_zg
as
select职工号,姓名,年龄
where性别='
;
createprocproc_071012@khvarchar(10)
selectx.工程名,部门号,部件号,仓库号
from工程x,部件y
wherex.工程名=y.工程名and部门号=@kh
②存储过程的查询
execproc_zg;
execproc_071012'
③存储过程的修改
alterprocproc_zg
select职工号,姓名,性别
where工程名='
4.触发器
①创建触发器
createtriggerz_selecton职工
afterinsert
as
select*from职工
select*frominserted
go
insertinto职工(职工号,姓名)
0623'
徐蕾'
)
②触发器的删除
droptriggerz_select;
5、数据更新
①插入(前面已插入)
②修改
update职工
set工资=0.8*工资
where年龄>
30and工资<
2000;
③删除
deletefrom职工
where姓名='
5.数据查询
select仓库号,仓库名,库存量
from仓库;
select工程名,所需部件数量from工程
where预算>
1300000;
select职工.职工号,所需部件数量,部门号
from职工,工程
where职工.工程名=工程.工程名
orderby所需部件数量;
selectdistinct工程名from工程;
select职工号,姓名,工资,年龄from职工
where年龄between30and32;
select*from工程,仓库;
select姓名,性别,年龄from职工
where工程名in(select工程名from工程
where部门号='
selectmax(年龄)as最大年龄,min(年龄)as最小年龄
select姓名,年龄from职工
where姓名like'
徐%'
select工程名,count(*)as工程人数from职工
groupby工程名
havingcount(*)>
1;
select仓库名,sum(面积)as总面积from仓库
groupby仓库名;
selectavg(工资)as平均工资from职工
groupby工程名;
五、系统设计小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
以前不懂为何要创建触发器、视图等,现在终于知道它们的优点了。
在自己没做数据库课程设计以前,总是觉得自己什么都不懂什么都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。
我相信以后通过自己自学其它课程,我一定会做出一个更好的数据库。
六、参考资料
1.李红主编。
数据库原理与应用。
北京:
高等教育出版社,2003。
2.黄志球、李清等编著。
数据库应用技术基础。
机械工业出版社,2003。