机房管理系统数据库课程设计方案.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计评分表
姓名XXX 班级XXX 学号XXX
题目机房管理系统设计指导教师
评分项目满分分值得分
封面 4
页面布局8
文档格式目录格式 6
图表质量 4
设计文档( 60 分)
页眉页脚 4
内容完整性12
文档内容内容逻辑性10
内容正确性12
课题陈述 3
答辩( 10 分)问题答辩 5
是否超时 2
考勤( 20 分)20
实验( 10 分)10
总评成绩
指导教师评语
签名:年月日
课程设计答辩记录表












成绩答辩小组教师签名
摘要
本系统为机房信息管理系统,是一个信息管理系统,其开发主要包括数据库的建立和维护。

在短时间内建立系统应用原型 ,然后 ,对初始原型系统进行需求迭代 ,不断修正和改进 ,直到形成一个满意的可行系统。

在下面的各章中我将以开发学生学籍管理
系统 ,谈谈其具体开发过程和所涉及到的问题及解决方法。

目录
第一章系统概要介绍 (6)
1.1系统概述 (6)
1.2系统研发背景 (6)
1.3系统研发的目的和意义 (6)
第二章需求分析 (8)
2.1需求描述 (8)
2.2主要功能 (8)
2.3数据需求 (9)
2.3功能模块实现 (9)
2.4数据流图 (10)
2.5数据词典 (11)
第三章数据库概念结构设计 (12)
3.1 E-R 图 (12)
3.1 1 局部 E-R 图 (12)
3.2系统全局E-R图 (12)
3.2系统全局E-R图 (12)
3.3实体及属性的定义 (15)
第四章数据库逻辑计 (17)
4.1初始关系 (17)
4.2规范化处理 (17)
第五章数据库的物理结构设计 (18)
5.1基于SQL Server的数据表设计 (18)
5.2引表 (18)
第六章数据库的实现及操作 (20)
6.1数据表创建 (20)
6.2数据库操作部分 (22)
6.21 数据库的插入操作 (22)
6.22 数据库的修改操作 (22)
6.23 数据库的删除操作 (22)
6.3关系图 (25)
第七章结语及心得 (26)
第八章参考文献 (26)
第一章系统概要介绍
1.1系统概述
《数据库原理及应用》课程的学习,其主要的目标是能利用课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决各行各业信息化处理的要求。

本实验主要在于巩固学生对数据库的基本原理和基础理论的理解,掌握数据库应用系统的设计开发的基本方法,进一步提高学生的综合运用所学的知识能力。

为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现
在广泛采用的是工程化 6 阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系
统运行与维护阶段。

我们按照以上几点开发了机房上机管理系统数据库。

1.2系统研发背景
随着我国高等教育的快速发展及大学招生规模的不断扩大以至于校园数字
化的发展和我国高校机房的数量与规模在不断扩大 ,。

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

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

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

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

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

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

1.3系统研发的目的和意义
我们根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库
管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成
题目要求的功能,从而达到掌握开发一个小型数据库的目的。

我校的计算机设备和学生上网上机管理还处于较为原始的手工阶段。

缺少一套实用可靠的设备和课程管理系统软件。

随着电气化教学和无纸化办公的一步步完善,利用机房管理系统管理我校的机房势在必行
第二章需求分析
2.1需求描述
针对一般高校机房管理系统的需求分析、通过对学生上机过程、注册过程、充值过程、的内容的数据流程分析一现设计如下数据项和数据结构
(1)计算机基本信息:包括计算机 IP 地址、编号、状态、当前用户,学号、单
价等
(2)学生基本信息:包括学号、密码、姓名、性别、年级、班级、专业、余额

(3)管理员基本信息:包括管理员 Id、密码、管理员身份证号、、姓名、性别、
年龄、联系号码等
(4)上机基本信息:计算机编号、用户 ID ,学号、上机时间、下机时间、上网
用时、实用金额、余额等
(5)学生充值基本信息:包括充值 Id 、用户名,学号、收费人员,管理员 ID、充值时间、充值金额、余额等
(6)短消息基本信息:包计算机 IP 地址、管理员 ID 、发送时间、消息内容等
2.2主要功能
1机房管理员对计算机信息的查看、修改、删除。

2机房管理员对学生的余额的修改。

3学生对学生信息和的查看。

4学生对卡余额信息的查看。

5机房管理员对部分卡信息的修改。

6机房管理员对学生上机信息的查看。

7机房管理员对短消息的修改、查看、删除
8学生读短消息的查看
系统功能方面 :
(1)系统登陆:点击可执行文件机房设备管理系统之后,就进入本登陆
界面,用户需要如上所述的正确
的用户名和密码之后才能使用本系统。

(2)修改密码:本应用模块的主要功能是实现对原始密码的修改的操
作,增强系统的安全性。

密码是一个管理系统正常运行的一个重要保障,
在本处,只有管理员才可以进行操作,并可以根据不同的系统情况对系统
的用户进行增加和删除等工作。

(3)信息查询:本应用模块的主要功能是实现对机房总体信息的查询 ( 包括
硬件配置和软件安装信息 ) 、勤工俭学同学信息的查询等操作。

(4)设备入库:本应用模块的主要功能是实现对教学设备的入库管理
工作,包括记录查找、添加、编辑、删除等操作。

(5)维修记录:本应用模块的主要功能是实现对机房设备的维修记录进
行登记和管理,包括记录移动、查找、添加、编辑、删除等操作。


7)数据维护:本应用模块集成了本系统的所有数据库文件,从而可以快
速地进行本系统的数据表的快速维护和备份。

(8)系统帮助:本应用模块的主要功能是实现查看软件版本信息的了解。

(9)退出系统:本应用模块的主要功能是实现退出本系统,恢复系统的
实始状态。

2.3数据需求
1对计算机信息的添加,修改,删除
2对学生信息的添加,修改,删除
3对充值卡信息的添加,修改,删除
4 对学生上机登记信息的添加
5对管理员信息的添加,修改,删除
2.3功能模块实现
在管理员管理模块中,应能够实现查询学生信息、查询计算机设备信息、查询学生上机信息、查询管理员信息,查询短消息信息等查询功能,
并能够实现修改学生除密码以外的其他信息、修改电脑设备信息、修改管
理员信息,修改短消息信息等修改功能,此外,还应具备管理员帐号密码
认证功能。

在学生上机模块中,首先应实现从上机信息表中读取数据以初始化电脑设备安排的功能,初始化时优先安排未被使用的机器。

在此之后,应实
现登录学生学号密码认证,再决定是否允许上机及是否收费上机。

并实现
短消息提醒、浏览功能,如余额不足时,下机前 5 分钟提醒,时间到后自动下机。

2.4数据流图
充值
余额不足
刷检查可还有
用户卡用余额
余额
浏输

览请
求充值卡信息
修改
浏览核查
短消息
输出结果
密码
错误
使用学密码
号登陆
上机
正确
使用
计算机
管理
维护
管理员
2.5数据词典
数据元素数据类型长度数据来源Id char(11)11 管理员信息表Idnumber char(20) 20 管理员信息表Password Char30) 30 管理员信息表Name char(10)10 管理员信息表Sex char(2) 2 管理员信息表Age char(4) 4 管理员信息表Telephone char(12) 12 管理员信息表IP nvchar(50) 50 计算机表Serialnumber nchar(10) 10 计算机表State char(10) 10 计算机表CurrrentUser Char( 11) 11 计算机表Price float 8 计算机表Stunumber Char( 11) 11 学生表Password Char(30) 30 学生表Stuname Char(10) 10 学生表
Sex Char(2) 2 学生表grade Char(10) 10 学生表Class Char(20) 20 学生表profession Char(30) 30 学生表Balance smallmoney 学生表Telephone Char(12) 12 学生表PrepaId Char( 11)11 充值卡充值表Uname Char(11) 11 充值卡充值表IDG char(11)11 充值卡充值表Ptime datetime 充值卡充值表Pmoney smallmoney 充值卡充值表money money 充值卡充值表Serialnumber nchar(10) 10 上机信息表UserId Char (11 )11 上机信息表引Begintime datetime 上机信息表Endtime datetime 上机信息表Usertime datetime 上机信息表Umoney Char(10) 10 上机信息表Balance smallmoney 上机信息表ComputerIp nvchar(50) 50 短消息表IDG char(11)11 短消息表Time datetime 短消息表Content char(100) 100 短消息表
第三章数据库概念结构设计3.1 E-R图
3.1 1局部E-R图
3.2系统全局E-R图
1
1
管理

n 送
n
n




1
1
1
管理
n 管

n
查拥
询有
3.3实体及属性的定义
在此系统中实体有:管理员、计算机表、学生、充值卡、学生、上机、短消息联系有:上机、计算机管理
属性以表的形式列出:
1、管理员用户信息表
字段名数据类型能否为空是否作为主键说明
Id char( 11)否是管理员 Id Idnumber char(20) 否否,索引管理员身份证号Password Char30) 否否密码(字母,数字,
6-10 位)
Name char( 10)否否姓名
Sex char(2) 否否性别
Age char(4) 否否年龄( 18-45)Telephone char(12) 否否联系号码
2、 computer( 计算机表 )
字段名数据类型能否为空是否为主键说明
IP nvchar(50) 否是计算机 IP 地址Serialnumber nchar(10) 否否,外键,索引计算机编号
State char(10) 否否状态CurrrentUser Char( 11) 能否,外键当前用户,学号Price float 否否单价,元 /小时
3、 Student(学生信息表 )
字段名数据类型能否为空是否作为主键说明
Stunumber Char( 11) 否是学号
Password Char(30) 否否密码
Stuname Char(10) 否否,索引姓名
Sex Char(2) 否否性别
grade Char(10) 否否年级
Class Char(20) 否否班级
profession Char(30) 否否专业
Balance smallmoney 否否余额
Telephone Char(12) 否否联系号码
4、 Prepaid(充值卡充值表 )
字段名数据类型能否为空是否作为主键说明
PrepaId Char( 11)否是充值 Id
Uname Char(11) 否否,外键,索引用户名,学号IDG char( 11)否否,外键收费人员,管理员
ID
Ptime datetime 否否充值时间Pmoney smallmoney 否否充值金额
money money 否否余额
5、 Record (上机信息表)
字段名数据类型能否为空是否作为主键说明Serialnumber nchar(10) 否是计算机编号
( 0-100 )UserId Char( 11)否否,外键,索引用户 ID ,学号Begintime datetime 否否上机时间Endtime datetime 否否下机时间Usertime datetime 否否上网用时Umoney Char(10) 否否实用金额Balance smallmoney 否否余额
6、 shortmessage短消息表
字段名数据类型能否为空是否为主键说明ComputerIp nvchar(50) 否是计算机 IP 地址IDG char( 11)否否,外键,索引管理员 ID
Time datetime 否否发送时间Content char(100) 否否消息内容
第四章数据库逻辑计
4.1初始关系
(1)计算机(计算机IP 地址、编号、状态、当前用户,学号、单价)
(2)学生基本信息(学号、密码、姓名、性别、年级、班级、专业、余额)(3)管理员基本信息(管理员 Id、密码、管理员身份证号、、姓名、性别、年龄、联系号码)
(4)上机基本信息(计算机编号、用户 ID ,学号、上机时间、下机时间、上网用时、实用金额、余额)
(5)学生充值基本信息(充值 Id 、用户名,学号、收费人员,管理员 ID、充值时间、充值金额、余额)
(6)短消息基本信息(算机 IP 地址、管理员 ID 、发送时间、消息内容)
4.2规范化处理
经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和
传递函数依赖,已经达到 3NF。

(=代表主码,﹏代表外码)
(1)计算机(计算机 IP 地址、编号、状态、当前用户,学号、单价)
(2)学生基本信息(学号、密码、姓名、性别、年级、班级、专业、余额)
(3)管理员基本信息(管理员 Id、密码、管理员身份证号、、姓名、性别、年龄、联系号
码)
(4)上机基本信息(计算机编号、用户 ID ,学号、上机时间、下机时间、上网用时、实用金
额、余额)
(5)学生充值基本信息(充值 Id 、用户名,学号、收费人员,管理员ID 、充值时间、充值
金额、余额)
(6)短消息基本信息(算机IP 地址、管理员ID 、发送时间、消息内容)
第五章数据库的物理结构设计
5.1基于SQL Server的数据表设计
用企业管理器建表,以学生表为例如下图所示:
5.2引表
列出索引表格
1、管理员用户信息表
是否索引字段名数据类型说明
是,主索引Id char( 11)管理员 Id
是,索引Idnumber char(20) 管理员身份证号否Password Char30) 密码)
否Name char( 10)姓名
否Sex char(2) 性别
否Age char(4) 年龄
否Telephone char(12) 联系号码
2、 computer( 计算机表 )
是否索引字段名数据类型说明
是,主索引IP nvchar(50) 计算机 IP 地址是,索引Serialnumber nchar(10) 计算机编号
否State char(10) 状态
否CurrrentUser Char(11) 当前用户,学号否Price float 单价,元 /小时
3、 Student(学生信息表 )
是否作索引字段名数据类型说明
是,主索引Stunumber Char(11) 学号
否Password Char(30) 密码
是,索引Stuname Char(10) 姓名
否Sex Char(2) 性别
否grade Char(10) 年级
否Class Char(20) 班级
是,索引profession Char(30) 专业
否Balance smallmoney 余额
否Telephone Char(12) 联系号码
4、 Prepaid(充值卡充值表 )
是否作索引字段名数据类型说明
是,主索引PrepaId Char(11)充值 Id
是,索引Uname Char(11) 用户名,学号是,索引IDG char( 11)收费人员,管理员
ID
否Ptime datetime 充值时间
否Pmoney smallmoney 充值金额
否money money 余额
5、 Record (上机信息表)
是否作索引字段名数据类型说明
是,主索引Serialnumber nchar(10) 计算机编号
是,索引UserId Char ( 11)用户 ID ,学号
否Begintime datetime 上机时间
否Endtime datetime 下机时间
否Usertime datetime 上网用时
否Umoney Char(10) 实用金额
否Balance smallmoney 余额
6、 shortmessage短消息表
是否索引字段名数据类型说明
是,主索引ComputerIp nvchar(50) 计算机 IP 地址是,索引IDG char( 11)管理员 ID
否Time datetime 发送时间
否Content char(100) 消息内容
第六章数据库的实现及操作
6.1数据表创建
1、 admininmation (管理员表)的创建create table admininmation
(
Id char (11) not null primary key, Idnumber char(20) not null ,
Password Char30) not null,
Name char( 10) not null,
Sex char(2) not null,
Age char(4) not null,
Telephone char(12) not null,
)
2、 computer( 计算机表 )的创建
create table computer
(
IP nvchar(50) not null primary key, Serialnumber nchar(10) not null ,
State char(10) not null,
CurrrentUser Char( 11) null,
Price float not null
)
3、 Student ( 学生表 )的创建
create table Student
(
Stunumber Char(11) not null primary key, Password Char(30) not null ,
Sex Char(2) not null,
grade Char(10) not null,
Class Char(20) not null,
profession Char(30) not null,
Balance smallmoney not null,
Telephone Char(12) not null
)
4、 Prepaid ( 充值表 )的创建
create table Prepaid
(
PrepaId Char ( 11) not null primary key, Uname Char(11) not null ,
IDG char (11)not null,
Ptime datetime not null,
Pmoney smallmoney not null,
money money not null

5、 Record ( 上机信息表 ) 的创建
create table Record
(
Serialnumber nchar(10) not null primary key, UserId Char ( 11) not null ,
Begintime datetime not null,
Endtime datetime not null,
Usertime datetime not null,
Umoney Char(10) not null,
Balance smallmoney not null

6、 shortmessage ( 上机信息表 )的创建create table shortmessage
(
ComputerIp nvchar(50) not null primary key, IDG char (11)not null ,
Time datetime not null,
Content char(100) not null

6.2数据库操作部分
6.21 数据库的插入操作
INSERT
INTO < 表名 >[(< 属性列 1>[,<属性列 2>⋯)]
VALUES(< 常量 1>[,<常量 2>]);
例如:在学生表中插入一个新同学的相关信息(注:学号是主码,故不可以相同)INSERT
INTO Student (Stunumber, Password, Stuname, Sex, grade, Class, profession, Balance,Telephone)
VALUES( ‘110925101’,’aaa111222’,’马云’,’男’,’大三’,’’,物理学’,’10.0000’,’’)
6.22 数据库的修改操作
UPDATE <表名 >
SET<列名 >=<表达式 >
[WHERE< 条件 >];
例如:在学生表中修改Stunumber为’120924101’的 profession为’生物学’。

UPDATE Student
SETprofession=生物学
WHERE Stunumber=120924101
6.23 数据库的删除操作
DELETE
FROM<表名 >
[WHERE< 条件 >];
例如:删除 Stunumber为’120924102’的相关信息
DELETE
FROM Student
WHERE Stunumber =120924102
6.24 数据库的备份及还原操作
使用 SQL Server 模糊备份和还原操作:
◆将包含数据的扩展盘区写入备份集,而无需考虑使备份期间正由用户修改的页
同步。

这显著减小了备份对当前用户的影响。

还使备份得以串行地复制页。

取消了所有随机读取,从而加快使用频繁的系统中的备份过程。

但这同时也意味着备份中的页以一种不一致的、无法恢复的状态存储。

◆将事务日志作为备份的一部分复制。

RESTORE 语句:
RESTORE
FROM DISK = ''c:\Northwind.bak''
RESTORE DATABASE TestDB
FROM DISK = ''c:\Northwind.bak''
WITH MOVE ''Northwind'' TO ''c:\testdb.mdf'',
MOVE ''Northwind_log'' TO ''c:\testdb.ldf''
◆如果数据库不存在,则创建数据库,并初始化数据库中的扩展盘区。

如果RESTORE 语句执行时数据库已存在,则可以跳过这一步。

◆复制备份集中的扩展盘区。

因为所有的扩展盘区都按串行顺序排列,所以这个过程较快。

将忽略未在备份集中找到的扩展盘区;它们将不作为空的扩展盘区进行初始化。

◆使用事务日志恢复数据库。

将日志中记录的数据修改前滚到日志末尾,然后回滚任何未完成的事务。

这将使数据库返回到一致的已恢复状态,这种状态与数据库在 BACKUP 语句完成时的状态一致。

备份数据库
BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'
还原数据库
--返回由备份集内包含的数据库和日志文件列表组成的结果集
RESTORE
FROM DISK = 'c:\Northwind.bak'
--还原由 BACKUP 备份的数据库RESTORE DATABASE Northwind
FROM DISK = 'c:\Northwind.bak'
--指定还原后的数据库物理文件名称及路径RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH
MOVE 'Northwind' TO 'c:\test\testdb.mdf', MOVE 'Northwind_log' TO 'c:\test\testdb.ldf' MOVE 'logical_' TO 'operating_system_'
指定应将给定的logical_ 默认情况下, logical_ 移到 operating_system_。

将还原到其原始位置。

如果使用RESTORE
语句将数据库复制到相同或不同的服务器上,则可能需要使用MOVE选项重新定位数据库文件以避免与现有文件冲突。

可以在不同的MOVE语句中指定数据库内的每个逻辑文件。

--强制还原,加上 REPLACE参数,则在现有数据库基础上强制还原。

RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH REPLACE,
MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
6.3关系图
admininmation
Idnumber
Id
Password
Name
Sex
Age
Telephone
shortmessage
ComputerIp
IDG
Time
Cotent Prepaid
PrepaId
Uname
IDG
Ptime
Pmoney
money
Student
Stunumber
Password
Stuname
Sex
Grade
Class
profession
Balance
Telephone
Record
Number
UserId
Begintime
Endtime
Usertime
Umoney
Balance
computer
IP
Serialnumber
State
CurrrentUser
price
第七章结语及心得
通过这次课程设计,我更加熟练的掌握了数据库设计的方法,加深了对数据库课程知识的理解,同时也更加深入的了解了利用SQL语言操纵数据库的知识,并且对数据库里面的存储过程有了比较深入的了解。

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

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

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

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

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

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

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

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

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

在现在这个资讯发达的时代中,几乎任何事都离不开电脑的范畴了。

而资讯时代的潮流将带领着我们形成一个全球一体的资讯社会 ,而身为信息工程系的我们
也希望能尽一份力量 ,能使得电脑能更广泛的运用于周围的事物上。

之前的教师要
管理机房时 ,都是用手工作业的 ,在以现在的眼光看来那似乎是既费时又费力
的,所以我们想到利用设计管理软件来解决此困扰。

在这电脑十分普及的时代里, 人工系统电脑化可以为人类节省不少时间,像电脑可以加快处理的过程,降低文书工作的成本,提高对使用者的服务等。

而且我们更能掌握限有的资源,增加对于使用资源的精确性 ,运用有限的资源来做最有效的应用。

老师只要开启电脑通过软
件便能使用 "一指神功 "而轻轻松松的管理机房了。

第八章参考文献
[1] 数据库系统概论作者:王珊萨师煊第四版高等教育出版社 2006 年
[2] Visual Basic6.0 数据库系统开发实例导航作者:刘韬、骆娟、何旭洪
[3] 数据库原理及应用实验指导作者:钱雪忠陶向东北京邮电大学出版社 2005
[4] 数据库原理及应用作者:钱雪忠、李金北京邮电大学出版社2005 年
[5] 数据库原理及应用教程人民教育出版社第二版。

相关文档
最新文档