数据库课程设计报告范例4.docx
- 文档编号:23221572
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:16
- 大小:157.01KB
数据库课程设计报告范例4.docx
《数据库课程设计报告范例4.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告范例4.docx(16页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告范例4
数据库课程设计
实验报告
**管理系统
姓名:
陈诚
学号:
1021030123
班级:
10210301
专业:
信息管理与信息系统
日期:
2011年10月*日
一、需求分析
随着科学技术的发展,一些工厂的规模也越来越大,职工的数量也在不断的增加,面对如此大的信息量,单凭传统的表格、手工操作已不能满足实际的需要。
因此,我设计工厂管理系统来提高工厂管理方面的效率。
通过这个系统可以使信息的管理更加规范,统计更科学。
模块功能分析:
(1)部门模块:
用来管理公厂的部门以及其所需花费的预算;
(2)工程模块:
用来管理工厂所负责的工程以及其所需的部件数量等;
(3)职工模块:
用来管理工厂的职工以及其所负责的工程;
(4)部件模块:
用来管理工厂负责的各个工程所需要用到的部件以及所需数量及存放地点;
(5)仓库模块:
用来管理工厂所负责的工程所需用到的部件的存放地点的库存量、面积等信息。
二、概念结构设计
经分析,本系统的e-r图如下:
部门
工程名
工资
年龄
性别
姓名
职工号
职工
所需部件数量
部门号
预算
工程名
工程
本年预算
上年预算
部门名
部门号
部件
部件号
部件数量
仓库号
工程名
仓库
库存量
面积
仓库号
仓库名
各实体间关系的e-r图如下:
部门
部门—职工
管理
工程
职工
参加
工程—供应—部件
存放
部件
仓库
关系图:
三、逻辑结构设计
1.工厂管理基本信息表
①部门
列名
数据类型
长度
是否允许空
备注
部门号
char
6
否
主关键字
部门名
char
10
是
上年预算
money
是
本年预算
money
是
②工程
列名
数据类型
长度
是否允许空
备注
工程名
char
20
否
主关键字
预算
money
8
是
部门号
char
6
否
外部关键字
所需部件数量
smallint
2
是
③职工
列名
数据类型
长度
是否允许空
备注
职工号
char
5
否
主关键字
姓名
char
10
是
性别
char
2
是
年龄
smallint
2
是
工资
money
8
是
工程名
char
20
否
外部关键字
④部件
列名
数据类型
长度
是否允许空
备注
部件号
char
5
否
主关键字
工程名
char
20
否
外部关键字
仓库号
char
5
否
外部关键字
部件数量
smallint
2
是
⑤仓库
列名
数据类型
长度
是否允许空
备注
仓库号
char
5
否
主关键字
仓库名
char
20
是
面积
smallint
2
是
库存量
smallint
2
是
2.工厂管理基本数据信息表
仓库
仓库号
仓库名
面积
库存量
101
东仓库
1000
21000
102
东仓库
1600
25000
201
西仓库
1500
22000
202
西仓库
1200
23000
工程
工程名
预算
部门号
所需部件数量
电力工程
1200000
71011
7500
环境工程
1400000
71012
15500
基因工程
1900000
71021
11000
土木工程
1100000
71022
17000
职工
职工号
姓名
性别
年龄
工资
工程名
610
李明
男
27
1500
土木工程
611
刘丽
女
29
1600
基因工程
612
张新
男
28
1600
电力工程
613
李南
男
29
1500
基因工程
614
曲波
男
32
2000
环境工程
615
徐思
女
33
1440
电力工程
616
许微
女
28
1700
土木工程
617
天蓝
女
30
1700
环境工程
部件
部件号
工程名
仓库号
部件数量
101
土木工程
101
8000
102
环境工程
202
7000
103
土木工程
201
9000
104
基因工程
102
5000
105
环境工程
201
8500
106
电力工程
102
7500
107
基因工程
101
6000
部门
部门号
部门名
上年预算
本年预算
71011
A部门
1000000
1200000
71012
A部门
1250000
1500000
71021
B部门
1500000
1300000
71022
B部门
2000000
1800000
①建库
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);
insertinto部门
values('071021','B部门',1500000,1300000);
insertinto部门
values('071012','A部门',1250000,1500000);
insertinto部门
values('071022','B部门',2000000,1800000);
insertinto工程
values('电力工程',1200000,'071011',7500);
insertinto工程
values('环境工程',1400000,'071012',15500);
insertinto工程
values('基因工程',1900000,'071021',11000);
insertinto工程
values('土木工程',1100000,'071022',17000);
insertinto职工
values('0610','李明','男',27,1500,'土木工程');
insertinto职工
values('0611','刘丽','女',29,1600,'基因工程');
insertinto职工
values('0612','张新','男',28,1600,'电力工程');
insertinto职工
values('0613','李南','男',29,1500,'基因工程');
insertinto职工
values('0614','曲波','男',32,2000,'环境工程');
insertinto职工
values('0615','徐思','女',33,1800,'电力工程');
insertinto职工
values('0616','许微','女',28,1700,'土木工程');
insertinto职工
values('0617','天蓝','女',30,1700,'环境工程');
insertinto仓库
values('101','东仓库',1000,21000);
insertinto仓库
values('201','西仓库',1500,22000);
insertinto仓库
values('202','西仓库',1200,23000);
insertinto仓库
values('102','东仓库',1600,25000);
insertinto部件
values('0101','土木工程','101',8000);
insertinto部件
values('0102','环境工程','202',7000);
insertinto部件
values('0103','土木工程','201',9000);
insertinto部件
values('0104','基因工程','102',5000);
insertinto部件
values('0105','环境工程','201',8500);
insertinto部件
values('0106','电力工程','102',7500);
insertinto部件
values('0107','基因工程','101',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职工号,姓名,年龄
from职工
where性别='女';
createprocproc_071012@khvarchar(10)
as
selectx.工程名,部门号,部件号,仓库号
from工程x,部件y
wherex.工程名=y.工程名and部门号=@kh
②存储过程的查询
execproc_zg;
execproc_071012'071021';
③存储过程的修改
alterprocproc_zg
as
select职工号,姓名,性别
from职工
where工程名='土木工程'
4、触发器
①创建触发器
createtriggerz_selecton职工
afterinsert
as
select*from职工
select*frominserted
go
insertinto职工(职工号,姓名)
values('0623','徐蕾')
②触发器的删除
droptriggerz_select;
5、数据更新
①插入(前面已插入)
②修改
update职工
set工资=0.8*工资
where年龄>30and工资<2000;
③删除
deletefrom职工
where姓名='徐蕾';
6、数据查询
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部门号='071022');
selectmax(年龄)as最大年龄,min(年龄)as最小年龄
from职工
where性别='男';
select姓名,年龄from职工
where姓名like'徐%';
select工程名,count(*)as工程人数from职工
groupby工程名
havingcount(*)>1;
select仓库名,sum(面积)as总面积from仓库
groupby仓库名;
selectavg(工资)as平均工资from职工
groupby工程名;
五、系统设计、制作小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
以前不懂为何要创建触发器、视图等,现在终于知道它们的优点了。
在自己没做数据库课程设计以前,总是觉得自己什么都不懂什么都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。
我相信以后通过自己自学其它课程,我一定会做出一个更好的数据库。
六、参考资料
1.李红主编。
数据库原理与应用。
北京:
高等教育出版社,2003。
部件
2.黄志球、李清等编著。
数据库应用技术基础。
北京:
机械工业出版社,2003。
194页—205页。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 范例