存档资料 成绩:

课 程 设 计 报 告 书

所属课程名称 大型数据库技术课程设计        
题 目 教室资源管理系统的数据库设计   
分 院   
专业班级
学  号        
学生姓名    
指导教师

目录
一、 程序设计目的 3
1.1 目的 3
1.2 内容 3
二、 需求分析 3
2.1 需求分析 3
2.2 系统设计流程 4
三、 系统设计 5
3.1 功能结构图 5
3.2 安全设计 5
四、 数据库设计 5
4.1 数据库分析 5
4.2 概念结构设计 6
4.3 逻辑结构设计 8
4.4 物理结构设计 8
五、 系统测试 10
六、 功能测试 12
七、 课程设计心得总结 14
八、 参考文献 15

一、 程序设计目的
1.1 目的
做本课程设计的主要目的是:通过学习来巩固对数据库基本知识的理解,真正掌握使用Oracle开发数据库的方法,熟练使用Oracle创建和管理数据库,以及对数据库中的各种对象,如数据表、视图、索引、存储过程和触发器等的创建和使用;这个系统主要是开发一个教室资源系统,目的是为了突出数据库的功能,与之配合的是后台页面。
1.2 内容
主要对教室资源管理系统整体设计做一个详细的介绍,包括数据库的创建(需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护等)和教室资源管理系统的编辑、编译、运行、调试、维护等一系列详细的设计步骤。
用户有四类类,学生,教师,教室管理员、排课人员。学生、教师可以选择个人信息录入,纠正,查询;学生成绩信息查询;课程信息查询。教室管理员可以对教室钥匙发放信息的管理。排课人员可以进行添加、查询,修改,删除教室信息等功能。不同用户登陆系统时有不同的权限。

二、 需求分析
2.1 需求分析
教室资源管理系统,即对学生排课后对教室资源的合理管理与利用,保证了教学任务的有序高效进行。通过调查和分析一款智能的教室资源管理系统应该实现实现以下功能:
1、排课人员能够对教室信息添加、查询,修改操作
2、老师,学生能够对教室信息等信息进行查询,但赋予老师学生的不同权限
3、教室管理员可以根据教室信息对教室钥匙信息的管理
2.2 系统设计流程
通过对教室管理过程的研究与分析,在设计时系统应实现以下目标:
1、实现不同用户登录系统具有不同的权限
2、实现合理的排课
3、实现教师和学生息录入后可以查询和纠正,用户能对教室信息的查询;学生可以对自己成绩信息查询;课程信息查询等功能
4、实现教室钥匙的合理管理

三、 系统设计
3.1 功能结构图
系统功能结构如下:

3.2 安全设计
安全设计这里有两方面,一是数据库的安全,数据库安全我们通过添加用户及设置用户权限和用户密码来确保用户安全的登录到数据库,另外我们可以创建视图来保证数据库的安全性,让不同权限的用户看到数据库不同内容并对数据进行不同权限的操作。另一方面是系统的安全性,这里我们通过授予用户登录的权限用户才可以登陆并操作此系统。
四、 数据库设计
4.1 数据库分析
“教室资源管理系统”,在数据库中设计如下各表

图1 AC表
AC表用于排课人员对课程的安排。

图2 CLASSROOM表
CLASSROOM表是用于排课人员对教室信息的增删改功能的实现。

图3 CLASSROOM_LOG表
CLASSROOM_LOG记录排课人员对CLASSROOM表的改动的记录与监事。
4.2 概念结构设计
根据对系统的功能分析和功能设计,规划出本系统使用的数据库实体,下面介绍几个关键实体,分别是:学生信息实体、教师信息实体、排课人员实体、管理员实体、课程信息实体、教室信息实体。(其它实体在此不在叙述)
学生信息实体包括:(学号、姓名、性别、年龄、班级、状态)
教师信息实体包括:(教师号、姓名,性别、状态、电话)
排课人员实体包括:(编号、姓名、性别、电话)
管理员实体包括:(编号、姓名、性别、教室编号)
课程信息实体包括;(课程号、课程名、学分、学时、类型、考核方式)
教室信息管理包括;(教室编号、类型,状态、钥匙、容量)
对应的主要的E-R图为:

图4 教室资源管理系统E-R图
4.3 逻辑结构设计
根据以上实体E-R关系图在数据库中创建数据表,下面分别介绍主要实体的逻辑结构
关系模型:
STUDENT(sno,sname,sex,sage,deptno,class,status)
TEACHER(tno,tname,sex,descruption,phone,status)
COURSE(cno,cname,credit,cono,cype,ccheck)
CLASSROOM(clno,type,stasus,clasize,key)
ARRANGER(arno,arname,sex,phone)
ADMIN(ano,aname,sex,phone,clno)

实体与关系表:
表1 实体图关系表
实体 多样性 关系 多样性 实体
学生 1…1 属于 1…* 专业
学生 0…* 选修 1…* 图书
教师 0…* 教授 1…* 课程
排课人员 1…1 安排 1…* 课程
管理员 0…* 管理 1…1 教室
4.4 物理结构设计
数据字典如下所示:
表2数据字典
实体 属性 描述 数据类型与长度 是否为空 是否为主键
学生 学生学号
学生姓名学生性别
学生年龄
学生班级
学生状态 学生的学号
学生的姓名
学生的类别
学生的年龄
学生的班级
学生的状态 Varchar2(20)
Varchar2(20)
Varchar2(2)
Number
Varchar2(20)
Number 否




否 是





教师 编号
姓名
性别
状态
电话 教师的编号
教师的名字
教师的性别
教师的状态
教师的电话 Varchar2(20)
Varchar2(20)
Varchar2(2)
Varchar2(20)
Varchar2(20) 否



否 是




课程 课程编号
课程名
学分
学时
类型
考核方式
课程的编号
课程的名字
课程的学分
课程的学时
课程的类型
课程考核方式 Varchar2(20)
Varchar2(20)
Varchar2(2)
Varchar2(20)
Varchar2(20)
Varchar2(20) 否




否 是





教室 教室编号
教室类型
教室状态
教室钥匙 教室的标号
教室的大小
教室的状态
教室开或关 Number
Varchar2(20)
Varchar2(24)
Number 否


否 是



排课人员 编号
姓名
性别
电话 排课人编号
排课人姓名
排课人性别
排课人的电话 Number
Varchar2(20)
Varchar2(2)
Varchar2(20) 是


否 是



教室管理员

编号

姓名
性别
电话
教室号 管理员编号
管理员姓名
管理员性别
管理员电话
管理员管理的教室 Number
Varchar2(20)
Varchar2(2)
Varchar2(20)
Number 是



否 是



五、 系统测试

下面是排课人员对教室的增删改和对排课表的处理情况。有两个程序包和两个触发器。具体代码见以下各图:
1、包ac_package,包涵存储过程add_ac,delete_ac,update_days,update_jieci。

图5 AC_PACKAGE包头代码
2、包CLASSROOM_PACKAGE,包涵存储过程add_classroom,delete_classroom,update_status和函数get_status。

图6 CLASSROOM_PACKAGE包头代码
3、触发器CLASSROOM_DML_TRG,该触发器是对CLASSROOM表的监控,一切对CLASSROOM表的操作都要记录在它的日志表CLASSROOM_LOG中,增加其安全性。

图7 CLASSROOM_DML_TRG触发器
4、触发器AC_DML_ROWTRG,该触发器是行级触发器。作用是限制新增排课表的节次不得超过5,即每天上课的节次都是在4以内(包括4)。

图8 AC_DML_ROWTRG触发器
六、 功能测试

图9 授权图

首先要先创建角色,给予角色对包的权限。

图10 测试图1
举其中一例,得到教室表编号1的状态信息,输出为“空”。

图11 测试图2
当输入的教室号不存在时会报错。

图13 测试图3
该过程是对过程AC_PACKAGE.update_jieci的调用。
七、 课程设计心得总结
通过本次课程设计,我深刻的了解到oracle在生活中有着多方面的应用。同时我也真切实地的认识到有恒心和必要的知识,任何人都可以开发出自己满意的成绩。本次课程设计,通过不断地对程序及各模块进行修改、编译、调试、运行。以及应用了oraclellg语言,对数据库的创建、修改、删除,我深刻意识到设计的系统必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程。才能做好符合市场需求的系统。
经过不断的调试,分析,改进和再分析,程序基本满足各项指标和课程设计要求,功能得以成功实现。但是在这过程中,也经历了“千辛万苦”,在学习理论的基础上把所学到的知识应用与实际,查阅了大量的资料,不断的遇到新的困难,并且在这过程中我学到了很多东西
不过,在本次课程设计中,我也找到了很多问题。比如,我排课人员安排课程和教室的模块,我只是完成了最基础的功能,所有都是基本的、书上有的内容,没有一点的延伸和对问题更加深入的思考,特别是逻辑上的思考基本是没有。所以,总的来说这个课设还不是很完善的。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,光在纸上书写 SQL语言是纸上谈兵,自己用SQL语言做一个数据库管理系统才是我们学习的价值所在。只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
我会总结这次的问题并且吸取教训,争取在接下来的实验或者其他事务中能有自己的想法,积极去思考问题、解决问题。

八、 参考文献
[1] 洪运国,2012数据库管理教程.2012.
[2] 杨帆,徐春华,刘心雄,陈和平.基于技术的网上书店系统的设计与实现.计算机应用研究.2003年.
[3] 钱雪忠等.数据库原理及应用实验指导书.北京邮电大学出版社.2005.8
[4] Joe Celko ,SQL解惑,人民邮电大学出版社。2008-4
[5] Andrew Cumming ,SQL HACKS, 清华大学出版社。2008
[6] MySQL语言与数据库操作技术大全,2005

更多推荐

Oracle课设-教室资源管理系统的数据库设计-大型数据库技术课程设计