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

学校机房管理系统大数据库课程设计

数据库原理及应用课程设计设计报告题目:机房管理系统后台数据库学号: 131007220学生:指导教师:提交时间: 2015/1/4目录第 1 章需求分析 (1)1.1 课程设计概述 (1)1.2主要功能 (1)第 2章概念结构设计 (2)2.1 E-R图 (2)2.2全局E-R图 (4)第3章逻辑结构设计 (4)第4章数据库表创建及表关系 (5)4.1数据库代码 (5)4.2关系图 (10)4.3数据展示 (11)第 5 章视图的操作 (12)第 6 章创建存储过程 (15)第 7 章进行授权 (15)第 8 章创建触发器 (15)第 9 章设计心得 (17)第 1 章需求分析1.1 课程设计概述随着我国高等教育的快速发展及大学招生规模的不断扩大以至于校园数字化的发展和我国高校机房的数量与规模在不断扩大。

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

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

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

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

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

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

1.2主要功能1机房管理员对计算机信息和机房信息的查看、修改、删除。

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

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

4学生对上机卡信息的查看。

5任课教师对课程信息成绩的修改。

6充值员对部分充值卡信息的修改。

7任课教师对课程信息的修改。

第 2 章 概念结构设计2.1 E-R 图属性图机房实体E-R 图 学生实体E-R 图计算机实体E-R 图充值卡实体E-R 图机房号计算机计算机编号配置时间机房 计算机数目机房编号 机房号管理员学生班级学号姓名性别卡号卡信息E-R图课程信息E-R图上机登记E-R图2.2、全局E-R图第3章逻辑结构设计3.1 关系模式如下,其中有下划线的表示主键(1)机房信息(机房编号,机房名,计算机数目,管理员)(2)计算机信息(计算机编号,机房编号,配置时间)(3)学生信息(学号,,性别,班级,卡号)(4)课程信息(课程号,课程名称,任课教师,上课时间)(5)充值卡信息(卡号,时间,充值金额,办理人,)(6)卡信息(卡号,消费金额,余额)(7)学生上机登记信息(机房号,计算机编号,学号,日期,上机时间,下机时间)第4章数据库表创建及表关系4.1数据库代码create database 机房管理系统Use 机房管理系统create table 机房信息表/*(机房编号,机房名,计算机数量,管理员)*/(机房编号varchar(10) not null primary key,机房名varchar(10) not null,计算机数量varchar(10),管理员varchar(10) not null ) ;create table 计算机信息表/*(计算机编号,机房编号,配置时间)*/ (计算机编号varchar(10) not null primary key,机房编号varchar(10) not null constraint r_c foreign key references 机房信息表(机房编号),配置时间datetime, );create table 学生信息表/*(学号,,性别,班级,卡号)*/(学号varchar(10) not null primary key ,varchar(10) not null ,性别char(2) check( 性别in ('男','女')),班级varchar(10) ,卡号varchar(10) not null constraint m_n foreign key references 充值卡信息表(卡号));create tab le 课程信息表/*(课程号,课程名,任课教师,上课时间)*/(课程号varchar(10) not null primary key,课程名varchar(10) not null,任课老师varchar(10) not null,上课时间datetime not null);(卡号varchar(10) not null primary key,余额decimal(5, 2) not null ,消费金额decimal(5, 2),create table 充值卡信息表(卡号varchar(10) not null primary key, 充值时间datetime not null ,充值金额decimal(5, 2) not null,办理人varchar(10) ,);create table 上机登记信息表/*(机房编号,计算机编号,学号,日期,上机时间,下机时间)*/(机房编号varchar(10) not null constraint r_n foreign key references机房信息表(机房编号),计算机编号varchar(10) not null constraint m_n_a foreign key references 计算机信息表(计算机编号),学号varchar(10) constraint s_c_l foreign key references 学生信息表(学号),日期datetime not null,上机时间datetime not null ,下机时间datetime not null,constraint s_c_r primary key (机房编号,计算机编号,学号));上机登记信息表项目类型约束主键外键主键外备注键对应关系int not null 是是机房号int not null 是是计算机编号int not null 是是学号datetime not null日期上机时间datetime not nulldatetime not null下机时间4.2关系图4.3数据展示第 5 章视图的操作5.1 视图充值信息视图对于充值员create view 充值信息as select 卡号,充值时间,充值金额,办理人,余额from 充值卡信息表where 余额is not null计算机信息视图对于机房管理员create view 计算机信息as select 机房信息表.机房编号,机房名,计算机数量,管理员,计算机编号,配置时间from 机房信息表,计算机信息表where 机房信息表.机房编号=计算机信息表.机房编号余额信息视图对于机房管理员和学生create view 余额as select *from 卡信息where 余额is not null第 6 章创建存储过程create procedure 消费时间a varchar(10) --b datetimeasselect 下机时间-上机时间from 上机登记信息where a=上机登记信息.学号第 7 章进行授权exec sp_addrole 'u1'exec sp_addrole '学生'exec sp_addrole '教师'grant ALL privilegeson 充值卡信息表to u1;grant update, inserton 机房信息表to u1grant update, inserton 上机登记信息表to u1grant select on 余额to 学生;grant update, inserton 课程信息表to 教师第 8 章创建触发器create trigger 消费on 上机登记信息表for insertASbegindeclare a intdeclare time1 datetimeselect time1=下机时间from inserted where 下机时间=inserted.下机时间declare time2 datetimeselect time2=上机时间from inserted where 上机时间=inserted.上机时间declare b varchar(10)select b=卡号from 上机登记信息表,学生信息表where 上机登记信息表.学号=学生信息表.学号select a= convert(int,time1-time2)update 卡信息set 余额=余额-a*2,消费金额=a*2where b=卡号End第 9 章设计心得通过这次课程设计,我更加熟练的掌握了数据库设计的方法,加深了对数据库课程知识的理解,也认识到理论和实践的差别,课本上的知识多少有些抽象,难免会有不理解的地方,所以安排一些课程设计是很有必要的。

同时也更加深入的了解了利用SQL语言操纵数据库的知识,并且对数据库里面的存储过程有了比较深入的了解。

经过几天的艰苦奋斗,我终于完成了我的数据库课程设计并且进一步提高分析解决问题的综合能力。

由于时间仓促,系统还有很多不足之处,所以开发的系统不是很完善,有一些功能未实现。

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

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

刚开始的时候,对于数据库设计方法等一系列知识都不熟悉,但在老师同学的帮助和自己的尝试后我基本完成此系统开发,这时我也觉得其实也没有那么难。

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

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

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

相关主题