1、数据库原理及应用课程设计设计报告题 目:机房管理系统后台数据库学 号: 131007220 学生姓名: 指导教师:提交时间: 2015/1/4 目录第 1 章 需求分析11.1 课程设计概述11。2主要功能1第 2章 概念结构设计22。1 E-R图22.2全局E-R图4第3章 逻辑结构设计4第4章 数据库表创建及表关系54。1数据库代码54.2关系图104.3数据展示11第 5 章 视图的操作12第 6 章 创建存储过程15第 7 章 进行授权15第 8 章 创建触发器15第 9 章 设计心得17第 1 章 需求分析1。1 课程设计概述随着我国高等教育的快速发展及大学招生规模的不断扩大以至于校
2、园数字化的发展和我国高校机房的数量与规模在不断扩大。各个高校都建设了自己的校园网络,越来越多的学生到校机房上网.这对校园机房进行联合计费管理和机房的配置管理等也提出了更高的要求。为了更好的发挥学校公共机房的职能,解决机房管理过程中的一些实际问题就要开发出一套满足高校需求的机房管理系统是非常必要的.机房作为一种信息资源的集散地,有很多的信息数据需要管理,由于数据信息处理工作量大、数据繁多,因此原有的手工管理方式就存在容易出错、数据易丢失,且不易查找和低效率等弊病。总的来说,就是缺乏系统,规范的信息管理手段。基于这此问题,我认为有必要建立一个机房管理系统,使机房管理工作规范化,系统化,程序化,避免
3、机房管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和统计相关情况。1。2主要功能1机房管理员对计算机信息和机房信息的查看、修改、删除。2机房管理员对学生的余额的修改。3学生对学生信息和课程信息的查看。4学生对上机卡信息的查看.5任课教师对课程信息成绩的修改。6充值员对部分充值卡信息的修改.7任课教师对课程信息的修改。第 2 章 概念结构设计2.1 ER图 属性图机房计算机数目机房编号机房号管理员学生班级学号姓名性别卡号机房实体E-R图 学生实体ER图机房号计算机计算机编号配置时间 计算机实体ER图充值卡实体E-R图 卡信息ER图 课程信息E-R图 上机登记E-R图2。2、
4、全局E-R图机房充值卡学生课程计算机属于属于属于上机上课11nnnnn11n学号管理员数量机房名任课教师配置时间计算机编号机房号课程名课程号余额办理员班级性别卡号姓名机房编号时间卡号充值金额消费金额上课时间第3章 逻辑结构设计3。1 关系模式如下,其中有下划线的表示主键 (1)机房信息(机房编号,机房名,计算机数目,管理员) (2)计算机信息(计算机编号,机房编号,配置时间) (3)学生信息(学号,姓名,性别,班级,卡号) (4)课程信息(课程号,课程名称,任课教师,上课时间) (5)充值卡信息(卡号,时间,充值金额,办理人,) (6)卡信息(卡号,消费金额,余额) (7)学生上机登记信息(机
5、房号,计算机编号,学号,日期,上机时间,下机时间) 第4章 数据库表创建及表关系4。1数据库代码create database 机房管理系统Use 机房管理系统create table 机房信息表/(机房编号,机房名,计算机数量,管理员)*/(机房编号varchar(10) not null primary key,机房名varchar(10) not null,计算机数量varchar(10),管理员varchar(10) not null ) ; 机房信息表项目类型约束主键外键主键外键对应关系备注机房编号varchar(10)not null是机房名varchar(10)not null计
6、算机数量int管理员varchar(10)not nullcreate table 计算机信息表/(计算机编号,机房编号,配置时间)*/(计算机编号varchar(10) not null primary key,机房编号varchar(10) not null constraint r_c foreign key references 机房信息表(机房编号),配置时间datetime, ); 计算机信息表项目类型约束主键外键主键外键对应关系备注计算机编号Varchar(10)not null是机房编号Varchar(10)not null是是配置时间datetimecreate table
7、学生信息表/(学号,姓名,性别,班级,卡号)/(学号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 充值卡信息表(卡号); 学生信息表项目类别约束主键外键主键外键对应关系备注学号varchar(10)not null是姓名varchar(10)not null性别char(2)班级varchar(10)not null卡
8、号varchar(10)not null是create table 课程信息表/*(课程号,课程名,任课教师,上课时间)*/(课程号varchar(10) not null primary key,课程名varchar(10) not null,任课老师varchar(10) not null,上课时间datetime not null); 课程信息表项目类型约束主键外键主键外键对应关系备注课程号varchar(10)not null是课程名varchar(10)not null任课教师varchar(10)not null上课时间datetimenot nullcreate table 卡信
9、息(卡号 varchar(10) not null primary key, 余额 decimal(5, 2) not null , 消费金额 decimal(5, 2),);卡信息项目类型约束主键外键备注卡号varchar(10)not null是消费金额decimal(5, 2)余额decimal(5, 2)not nullcreate table 充值卡信息表(卡号varchar(10) not null primary key,充值时间datetime not null ,充值金额decimal(5, 2) not null,办理人varchar(10) ,); 充值卡信息表项目类型约
10、束主键外键主键外键对应关系备注卡号varchar(10)not null是充值时间datetimenot null是充值金额decimal(5, 2)办理人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 计算机信息表(计算机编号),学号va
11、rchar(10) constraint s_c_l foreign key references 学生信息表(学号),日期datetime not null,上机时间datetime not null ,下机时间datetime not null,constraint s_c_r primary key (机房编号,计算机编号,学号);上机登记信息表项目类型约束主键外键主键外键对应关系备注机房号intnot null是是计算机编号intnot null是是学号intnot null是是日期datetimenot null上机时间datetimenot null下机时间datetimenot
12、null4.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
13、卡信息 where 余额 is not null 第 6 章 创建存储过程create procedure 消费时间a varchar(10) b datetimeas select 下机时间上机时间from 上机登记信息where a=上机登记信息。学号 第 7 章 进行授权exec sp_addrole u1exec sp_addrole 学生exec sp_addrole 教师grant ALL privilegeson 充值卡信息表to u1;grant update, inserton 机房信息表to u1grant update, inserton 上机登记信息表to u1gran
14、t select on 余额 to 学生; grant update, inserton 课程信息表to 教师 第 8 章 创建触发器create trigger 消费on 上机登记信息表for insertAS begin declare a int declare time1 datetime select time1=下机时间 from inserted where 下机时间=inserted。下机时间 declare time2 datetime select time2=上机时间 from inserted where 上机时间=inserted.上机时间 declare b var
15、char(10) select b=卡号 from 上机登记信息表,学生信息表 where 上机登记信息表.学号=学生信息表。学号 select a= convert(int,time1time2) update 卡信息 set 余额=余额a*2,消费金额=a2where b=卡号End第 9 章 设计心得通过这次课程设计,我更加熟练的掌握了数据库设计的方法,加深了对数据库课程知识的理解,也认识到理论和实践的差别,课本上的知识多少有些抽象,难免会有不理解的地方,所以安排一些课程设计是很有必要的。同时也更加深入的了解了利用SQL语言操纵数据库的知识,并且对数据库里面的存储过程有了比较深入的了解。
16、经过几天的艰苦奋斗,我终于完成了我的数据库课程设计并且进一步提高分析解决问题的综合能力.由于时间仓促,系统还有很多不足之处,所以开发的系统不是很完善,有一些功能未实现。以前对数据库的很多知识认识都不深刻,做过这次课程设计之后,我对数据库的知识有了一个比较系统的了解;比如:对表内一些字段的约束,关系等的运用已经比较熟练.由于是第一次使用,所以运用的不是很熟练。刚开始的时候,对于数据库设计方法等一系列知识都不熟悉,但在老师同学的帮助和自己的尝试后我基本完成此系统开发,这时我也觉得其实也没有那么难。经过对这个系统的开发,在开发过程中遇到但也解决了很多问题.这个课程设计使我巩固了数据库的知识.在今后的
17、学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己的不足之处。选题及功能设计选题合理,功能简单 (D)有一定的工作量和实用价值 (C)功能设计丰富,有一定的难度系数 (B)功能设计合理全面,能体现数据库的存储和整理数据的功能 (A)数据表和数据量具备基本的数据表,数据量较少,但能够实现系统基本需要 (D)具备基本的数据表,数据量适中,实现了一定的数据完整性 (C) 有多个数据表,数据量适中,有完善的数据完整性(B) 有多个数据表,数据量充足,具有较强的数据安全性和数据完整性 (A)数据库对象具备基本的数据表,有主外键约束 (D)创建了若干种的数据库对象,并加以利用 (C) 在实际应用中合理利用了各类数据库对象 (B)具有身份验证、数据备份等较复杂的数据管理功能(A)功能实现利用存储过程实现了各种查询功能 (D)除查询功能,还实现了各种数据操作功能 (C)在上一条基础上,还实现了数据统计汇总功能 (B)合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能 (A)设计报告完成设计报告,阐述了系统功能,结构较完整 (D)开题报告反映设计思路,结构完整,格式较规范 (C)报告内容完整,图表使用准确,格式清晰,功能描述详尽 (B)报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程 (A)教师签字:总评成绩: