当前位置:文档之家› 机房管理系统数据库设计

机房管理系统数据库设计

学院机房管理系统数据库设计说明书拟制人刘庞哲审核人_______ 于宝华_______ 批准人______________________【2013年7月4日星期4】一、引言1.1 编写目的随着我国高等教育的快速发展及大学招生规模的不断扩大以至于校园数字化的发展和我国高校机房的数量与规模在不断扩大,。

各个高校都建设了自己的校园网络,越来越多的学生到校机房上网。

这对校园机房进行联合计费管理和机房的配置管理等也提出了更高的要求。

为了更好的发挥学校公共机房的职能,解决机房管理过程中的一些实际问题就要开发出一套满足高校需求的机房管理系统是非常必要的。

机房作为一种信息资源的集散地,有很多的信息数据需要管理,由于数据信息处理工作量大、数据繁多,因此原有的手工管理方式就存在容易出错、数据易丢失,且不易查找和低效率等弊病。

总的来说,就是缺乏系统,规范的信息管理手段。

基于这此问题,我认为有必要建立一个机房管理系统,使机房管理工作规范化,系统化,程序化,避免机房管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和统计相关情况。

1.2背景a. 待开发软件系统的名称:学院机房管理系统b. 本项目的任务提出者:石河子大学c. 本项目开发者:刘庞哲d. 本项目用户:学校学生机房管理人员1.3参考资料《软件开发这点儿事——软件开发工具手册》邵志东著《程序员指南丛书高级编程》但正刚著《网络应用系统开发与实例》吴明晖主编吴丹红编著二、题目(15)机房管理系统实现机器信息、管理人员信息的管理;实现上机管理;实现收费管理;创建触发器,实现下机时自动计算此次上机的时间和费用;创建存储过程统计各机房的上机时间和上机费用创建存储过程统计指定时间段内各管理人员的收费合计;建立数据库相关表之间的参照完整性约束。

三、需求分析针对一般高校机房管理系统的需求分析、通过对学生上机过程、教学班上机过程、注册过程、充值过程、的内容的数据流程分析一现设计如下数据项和数据结构(1)机房基本信息:包括机房号、机房名、计算机数目、管理人等(2)计算机基本信息:包括计算机IP地址、编号、机房号、品牌、备注等(3)学生基本信息:包括学号、姓名、性名、行政班等(4)用户基本信息:包括用户名、学号、密码、余额等(5)学生充值基本信息:包括用户名、充值时间、金额、办理人等(6)机房收费标准基本信息:包括机房号、金额等(7)学生上机过程登记基本信息:包括计算机IP地址、日期、上机时间、下机时间、学号、上机类型等(8)机房费用统计基本信息:包括计算机IP地址、日期、统计时间、费用等四、数据库概念结构设计1、系统功能结构图2、属性图机房机器数目机房号机房号机房号学生行政班学号姓名性别图2 机房实体E-R 图 图3 学生实体E-R 图计算机计算机ID编号机房号品牌备注3、全局E-R图五、数据库逻辑结构设计1、数据字典2、关系图六、数据库实现1、创建数据库1、创建数据库create database roomon( name='room_data',filename='E:\room\data\room_data',size=1MB,maxsize=3MB,filegrowth=1MB)log on(name='room_log',filename='E:\room\log\room_log',size=1MB,maxsize=3MB,filegrowth=1MB)2、创建表2、room(机房表)的创建create table room(rno int not null primary key,rname char(10) not null,number smallint null,manager char(10) not null)3、computer(计算机表)的创建create table computer(IP char(20) not null primary key,cno smallint not null ,rno int not null,brand char(20) null,note varchar(50) null)4、student(学生表)的创建create table student(sno int not null primary key,sname char(10) not null,sex char(2) null,class char(20) not null)6、User(用户表)的创建create table usertable(uname char(20) not null primary key,sno int not null,pword char(20) not null,moneys money null,)7、prepaid(充值表)的创建create table prepaid(uname char(20) not null,ptime datetime not null,pmoney smallmoney not null,trans char(10) not null,constraint p_primary primary key(uname,ptime) )8、standard(收费标准表)的创建create table standard(rno int not null,stime char(20) not null,smoney smallmoney not null,constraint c_primary primary key(rno,stime))11、record(上机过程登记表)的创建create table record(IP char(20) not null,sno int not null,begintime datetime not null,endtime datetime null,type char(15) not null,constraint t1 primary key(IP,begintime))12、statistik(费用统计表)的创建create table statistik(IP char(20) not null,dates datetime not null,sno int not null,moneys smallmoney not null,constraint t2 primary key(IP,dates))2、创建存储过程和触发器1、创建存储过程实现各机房上机费用的统计1)代码create proc s_room(@rno int)asselect rname 机房名,sum(moneys) 费用from statistik inner join computeron computer.IP=statistik.IP inner join room on room.rno=computer.rno where room.rno=@rnogroup by rname2、创建触发器实现费用登记时,自动修改该生的账户余额。

1)代码create trigger u_money on statistikfor insertasupdate usertableset moneys=moneys-(select moneys from inserted)where sno=(select sno from inserted)2)数据测试查询插入记录前学生的余额select sno 学号,moneys 余额from usertablewhere sno=2011508092执行插入操作insert into statistikvalues('001',getdate(),101,3.5)查询插入记录学生的余额select sno 学号,moneys 余额from usertablewhere sno=20115080923.创建触发器实现充值时自动修改该生余额1)代码create trigger un_money on prepaidfor insertasupdate usertableset moneys=moneys+(select pmoney from inserted)where uname=(select uname from inserted)2)数据测试select sno 学号,moneys 余额from usertablewhere sno=2011508092goinsert into prepaidvalues('bbb',getdate(),4.8,'l刘庞哲')goselect sno 学号,moneys 余额from usertablewhere sno=2011508092goselect * from prepaid七、结束语通过这次课程设计,我更加熟练的掌握了数据库设计的方法,加深了对数据库课程知识的理解,同时也更加深入的了解了利用SQL语言操纵数据库的知识,并且对数据库里面的存储过程有了比较深入的了解。

经过几天的艰苦奋斗,我终于完成了我的数据库课程设计基于DB2的列车票务管理系统。

进一步提高分析解决问题的综合能力。

由于时间仓促,系统还有很多不足之处,所以开发的系统不是很完善,有一些功能未实现,但是列车票务管理的基本功能均已实现。

以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:对表内一些字段的约束,关系等的运用已经比较熟练。

由于是第一次使用,所以运用的不是很熟练。

刚开始的时候,对于数据库设计方法等一系列知识都不熟悉,但当我基本完成此系统开发的时候,我发现其实也没有那么难,在未做之前我还害怕做不出来。

经过对这个系统的开发,在开发过程中遇到但也解决了很多问题。

这个课程设计使我巩固了数据库的知识。

在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己的不足之处。

相关主题