机房管理系统数据库设计.docx
《机房管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《机房管理系统数据库设计.docx(32页珍藏版)》请在冰豆网上搜索。
机房管理系统数据库设计
北华航天工业学院课程报告
5
北华航天工业学院
课程设计报告(论文)
课程名称:
数据库原理与应用
报告题目:
机房管理系统数据库设计
作者所在系部:
计算机科学与工程
作者所在专业:
计算机科学与技术
作者所在班级:
B11512
作者姓名:
刘智星
指导教师姓名:
贾振华、李建义
完成时间:
2013年6月28日
北华航天工业学院教务处制
北华航天工业学院课程报告
课程设计任务书
课题名称
《数据库原理与应用》课程设计
完成时间
2013.6.28
指导教师贾振华职称副教授学生姓名刘智星班级
总体设计要求
B11512
总体设计要求:
1、明确课设任务,复习与查阅相关资料。
2、根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据
库设计到上机编程、调试和应用等全过程的数据库系统设计。
如果学生自拟题目,库设计到上
机编程、调试和应用等全过程的数据库系统设计。
如果学生自拟题目,需经指导教师同意。
3、独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求
写出一份详细的设计报告。
4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。
5、应用程序应具有一定的实用性和健壮性。
工作内容及时间进度安排
第一周、周1:
设计动员,布置课程设计任务。
第一周、周2:
查阅资料,制定方案,进行程序总体设计。
第一周、周3~第二周2:
详细设计,系统调试。
第二周、周3:
整理,撰写设计报告。
第二周、周3-周5:
验收,提交设计报告,评定成绩。
课程设计成果
1、课程设计报告书一份
2、源程序清单一份
3、成果使用说明书一份
北华航天工业学院课程报告
摘要
随着网络的飞速发展,机房的数量和功能不断增多,数据量也随之增加。
同
样使用者也增多,管理难度不断加大。
传统的方式显然浪费了许多的人力、物力,
以及资源甚至已经影响到机房的运营。
机房管理系统正是一套能够合理解决、代替传统人工管理方式的管理系统,
对机房、机器、使用者进行合理有效的管理及操作。
本系统模拟了机房的收费、
登录、下机等等的管理,提高了工作效率,节约了管理成本。
关键词:
机房管理自动收费提高效率
北华航天工业学院课程报告
ABSTRACT
Withtherapiddevelopmentofthenetwork,thequantityandfunctionroomincreases,
theamountofdataincreases.Astheuserisalsoincreasing,themanagementdifficulty
increasing.Thetraditionalapproachisclearlywastedalotofmanpower,material
resources,andhasevenaffectedtheoperatingroom.
Computerroommanagementsystemisasetofreasonablesolution,management
systemtoreplacethetraditionalmanualmanagementmode,managementandoperation
isreasonableandeffectivetoroom,machine,user.Thesystemsimulatestheroomcharge,
login,etc.underthemanagement,improveworkefficiency,savingthecostof
management.
Keywords:
improvetheefficiencymanagementofcomputerautomatictoll
collection
北华航天工业学院课程报告
《数据库课程设计》...............................................................................................................1
一、系统需求分析...............................................................................................................1
(1)信息要求:
.............................................................................................................1
(2)处理要求:
.............................................................................................................1
(3)安全性和完整性要求。
.........................................................................................1
二、概念结构设计...............................................................................................................1
(1)E‐R图.......................................................................................................................1
(2)解决命名冲突以及结构冲突设计方法.................................................................3
三、逻辑结构设计...............................................................................................................3
四、数据库物理结构设计...................................................................................................4
五、数据库实施...................................................................................................................5
(1)使用T‐SQL语句实现数据库表;..........................................................................5
(2)用T‐SQL语句实现必要的存储过程及触发器。
..................................................6
六、数据库应用系统的实施和维护...................................................................................8
(1)实现数据库的T‐SQL语句;..................................................................................8
(2)写出载入初始数据的T‐SQL语句;......................................................................9
(3)简单阐述各模块的基本功能;...........................................................................10
(4)给出该模块的设计思路,针对难点部分应该进行详细的阐述;...................11
(5)按模块分析所编写的应用程序所使用的T‐SQL语句;....................................11
七、界面实现.....................................................................................................................11
八、小结.............................................................................................................................13
九、致谢.............................................................................................................................13
十、参考文献.....................................................................................................................14
十一、附录.........................................................................................................................15
北华航天工业学院课程报告
《数据库课程设计》
——机房管理系统
一、系统需求分析
(1)信息要求:
指用户需要从数据库中获得信息的内容与性质。
数据库中需要存储那
些数据。
实现机房、上机类型等基本信息的管理;
实现机器信息、管理人员信息、使用者信息的管理;
实现上机管理;
实现收费管理;
(2)处理要求:
用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。
1.学生用户端完成登陆功能,完成登陆记录上机时间;
2.管理员端完成各个信息的管理;
创建触发器,实现下机时自动计算此次上机的时间和费用;
创建存储过程统计各机房的上机时间和费用;
创建存储过程统计指定时间段内各管理人员的收费合计;
(3)安全性和完整性要求。
建立数据库相关表之间的参照完整性约束。
二、概念结构设计
(1)E-R图
密码
管理管理员姓名
管理人编号
管理员
primarykey
合计收费
图2-1.1管理员E-R图
1
北华航天工业学院课程报告
机房名称
机房信息
上机总时间
机房号
primarykey
上机总费用
每小时费用
管理人编号
图2-1.2机房信息E-R图
密码
ID
使用者姓名
Foreignkey
使用者信息
总费用
图2-1.3E-R图
机房号
Foreignkey
机器号
总使用时间
机器信息
Primarykey
图2-1.4机器信息E-R图
机房号
上机类型名称
上机类型_机房
primarykey
primarykey
图2-1.5上机类型_机房E-R图
2
北华航天工业学院课程报告
费用
机器号
foreignkey
上机时间
上机总费用
ID
foreignkey
下机时间
图2-1.6上机总费用E-R图
(2)解决命名冲突以及结构冲突设计方法
相关的列名使用相同的名字,加上完整性约束。
使用者信息
登录
上机总费用
机器信息
属于
管理员信息
管理
机房信息
三、逻辑结构设计
(1)给出由E-R得到的关系模型:
并注明转换过程中应用的规则;
(2)数据模型的优化;
(3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解;
(4)用户模式设计;
(5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命
名法;
管理员信息(管理人编号,密码,管理员姓名,合计收费)
3
北华航天工业学院课程报告
机房信息(机房号,机房名称,每小时费用,上机总费用,上机总时间,管理人编号)
机器信息(机器号,机房号)
使用者信息(ID,密码,使用者姓名,总费用)
上机类型_机房(机房号,上机类型名称)
上机总费用(ID,机器号,上机时间,下机时间,费用)
四、数据库物理结构设计
管理员信息表(管理员信息)
字段名称
中文含义
数据类型
varchar
varchar
varchar
int
长度完整性约束是否主键
字段说明
管理人编号
密码
管理人编号管理人编号
20
20
20
primarykey
是
否
否
否
密码
密码
无
无
无
管理员姓名管理员姓名
管理员姓名
合计收费
合计收费
合计收费
机房信息表(机房信息)
字段名称
机房号
中文含义
机房号
数据类型
char
长度完整性约束是否主键
字段说明
机房号
20
20
primarykey
是
否
否
否
否
否
机房名称
机房名称
char
无
机房名称
每小时费用每小时费用
上机总时间上机总时间
上机总费用上机总费用
管理人编号管理人编号
int
无
无
每小时费用
上机总时间
上机总费用
管理人编号
int
int
无
Varchar
20
foreignkey
使用者信息表(使用者信息)
字段名称
中文含义
数据类型
长度完整性约束是否主键
字段说明
ID
ID
char
20
Notnull
否
ID
Primarykey
密码
密码
char
char
Int
20
20
无
无
无
否
否
否
密码
使用者姓名
总费用
使用者姓名使用者姓名
总费用
总费用
机器信息表(机器信息)
字段名称
机器号
中文含义
机器号
数据类型
长度完整性约束是否主键
字段说明
机器号
char
20
primarykey
notnull
是
机房号
机房号
char
20
foreignkey
否
否
机房号
总使用时间总使用时间
datetime
无
总使用时间
机房信息表(机房信息)
字段名称
机房号
中文含义
机房号
数据类型
char
长度完整性约束是否主键
字段说明
机房号
20
20
primarykey
primarykey
是
否
机房名称
机房名称
char
机房名称
4
北华航天工业学院课程报告
机房信息表(机房信息)
字段名称
中文含义
数据类型
长度完整性约束是否主键
字段说明
使用者
ID
ID
char
20
foreignkey
是
登录名
机器号
上机时间
下机时间
费用
机器号
上机时间
下机时间
费用
char
datetime
datetime
int
20
foreignkey
否
否
否
否
本次机器号
上机时间
下机时间
费用
无
无
无
五、数据库实施
(1)使用T-SQL语句实现数据库表;
createtable管理员信息
(
管理人编号varchar(20)primarykey,
密码varchar(20),
管理员姓名VARCHAR(20),
合计收费INT
);
createtable机房信息
(
机房号char(20)primarykey,
机房名称CHAR(20),
每小时费用int(20),
上机总时间int,
上机总费用INT,
管理人编号varchar(20),
foreignkey(管理人编号)references管理员信息(管理人编号)
);
createtable使用者信息
(
IDCHAR(20)notnull,
密码char(20),
使用者姓名char(20),
总费用INT,
primarykey(ID),
foreignkey(ID)references使用者信息(ID)
);
createtable机器信息
5
北华航天工业学院课程报告
(
机器号char(20)notnull,
机房号char(20),
总使用时间datetime,
primarykey(机器号),
foreignkey(机房号)references机房信息(机房号)
);
createtable上机类型_机房
(
机房号char(20),
上机类型名称Char(20),
primarykey(机房号,上机类型名称),
);
createtable上机总费用
(
IDCHAR(20),
机器号Char(20),
上机时间datetime,
下机时间datetime,
费用int,
foreignkey(ID)references使用者信息(ID)
onupdatecascade
ondeletenoaction,
foreignkey(机器号)references机器信息(机器号)
onupdatecascade
ondeletenoaction,
);
(2)用T-SQL语句实现必要的存储过程及触发器。
createtriggert_上机总费用
--droptriggert_上机总费用
on上机总费用
afterinsert
as
begin
update管理员信息
set合计收费=合计收费+(select每小时费用
from机房信息
where机房号=(select机房号from机器信息
6
北华航天工业学院课程报告
where机器号=(select机器号from
上机总费用
where费用=0
)
)
)*(selectDATEDIFF(HH,上机时间,下机时间)from上
机总费用where费用=0)
where管理人编号=(select管理人编号from机房信息
where机房号=(select机房号from机器信息
where机器号=(select机器号from上机总费用
where费用=0
)
)
);
update机房信息
set上机总时间=上机总时间+(selectDATEDIFF(HH,上机时间,下机时间)from上
机总费用where费用=0),
上机总费用=上机总费用+(select每小时费用
from机房信息
where机房号=(select机房号from机器信息
where机器号=(select机器号
from上机总费用
where费用=0
)
)
)*(selectDATEDIFF(HH,上机时间,下机时间)from
上机总费用where费用=0)
where机房号=(select机房号from机器信息
where机器号=(select机器号from上机总费用
where费用=0
)
);
update使用者信息
set总费用=总费用+(select每小时费用
from机房信息
where机房号=(select机房号from机器信息
where机器号=(select机器号from上机总费用
where费用=0)
)
)*(selectDATEDIFF(HH,上机时间,下机时间)from上机总费用where
7
北华航天工业学院课程报告
费用=0)
whereID=(selectIDfrom上机总费用where费用=0);
--更新使用者信息表——共使用的费用
update上机总费用
set费用=(select每小时费用
from机房信息
where机房号=(select机房号from机器信息
where机器号=(select机器号from上机总费用
where费用=0)
)
)*DATEDIFF(HH,上机时间,下机时间)
where费用=0;
end;
createprocedure时间_费用
--dropprocedure时间_费用
As
select上机总时间,上机总费用
from机房信息
EXEC时间_费用--触发存储过程
createprocedure管理人收费
--dropprocedure管理人收费
As
select*
from管理员信息
EXEC管理人收费--触发存储过程
六、数据库应用系统的实施和维护
(1)实现数据库的T-SQL语句;
激发存储过程
EXEC时间_费用--触发存储过程
EXEC管理人收费--触发存储过程
激发触发器
insertinto上机总费用(ID,机器号,上机时间,下机时间,费用)values('1号床的下铺
',101,'2013-11-1012:
00:
00.000','2013-11-1013:
00:
00.000',0);
insertinto上机总费用(ID,机器号,上机时间,下机时间,费用)values('望江明月
8
北华航天工业学院课程报告
',101,'2013-11-1012:
00:
00.000','2013-11-1013:
00:
00.000',0);
将存入所有的需要更新数据;以后需要查什么就可以直接查询表。
(2)写出载入初始数据的T-SQL语句;
插入管理员信息数据
insertinto管理员信息(管理人编号,密码,管理员姓名,合计收费)values('2011001','2011001','我
叫2011001',0);
insertinto管理员信息(管理人编号,密