oracle课程设计报告.docx
- 文档编号:28262172
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:13
- 大小:381.51KB
oracle课程设计报告.docx
《oracle课程设计报告.docx》由会员分享,可在线阅读,更多相关《oracle课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。
oracle课程设计报告
一、绪论
1.1开发背景
高校的教室管理是一项繁琐、细致、工作量大的工作,它是高等学校教育工作的一项重要容,是整个学校教学系统能够正常运行的基础。
同时,教室管理工作关系到高校教学秩序的稳定以及教学资源的合理运用,关系到高校的发展和入才的培养,教室管理在高校中占有相当重要的地位。
1.2开发工具
1、Oracle11g;
2、OracleSQLDeveloper
1.3任务与分析
这个系统主要是开发一个大学教室系统,用户有四类类,学生,教师,教室管理员、排课人员。
学生、教师可以选择个人信息录入,纠正,查询;学生成绩信息查询;课程信息查询。
教室管理员可以对教室钥匙发放信息的管理。
排课人员可以进行添加、查询,修改,删除教室信息等功能。
不同用户登陆系统时有不同的权限。
1.4本文主要容
本文主要对大学教室管理系统整体设计做一个详细的介绍,包括数据库的创建(需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护等)和大学教室管理系统的编辑、编译、运行、调试、维护等一系列详细的设计步骤。
二、需求分析
2.1总体需求分析
大学教室管理系统,即对大学学生排课后对教室资源的合理管理与利用,保证了大学教学任务的有序高效进行。
通过调查和分析一款优秀的大学教室管理系统应该实现实现以下功能:
【1】排课人员能够对教室信息添加、查询,修改操作
【2】老师,学生能够对教室信息等信息进行查询,但赋予老师学生的不同权限
【3】教室管理员可以根据教室信息对教室钥匙信息的管理
2.2系统设计流程
通过对教室管理过程的研究与分析,在设计时系统应实现以下目标:
【1】实现不同用户登录系统具有不同的权限
【2】实现合理的排课
【3】实现教师和学生息录入后可以查询和纠正,用户能对教室信息的查询;学生可以对自己成绩信息查询;课程信息查询等功能
【4】实现教室钥匙的合理管理
三、总体设计
3.1系统功能结构图
系统功能结构如下:
3.2安全设计
安全设计这里有两方面,一是数据库的安全,数据库安全我们通过添加用户及设置用户权限和用户密码来确保用户安全的登录到数据库,另外我们可以创建视图来保证数据库的安全性,让不同权限的用户看到数据库不同容并对数据进行不同权限的操作。
另一方面是系统的安全性,这里我们通过授予用户登录的权限用户才可以登陆并操作此系统。
四、数据库设计
4.1数据库分析
“大学教室管理系统”,在数据库中设计如下各表
图1AC表
AC表用于排课人员对课程的安排。
图2CLASSROOM表
CLASSROOM表是用于排课人员对教室信息的增删改功能的实现。
图3CLASSROOM_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。
图5AC_PACKAGE代码
2、包CLASSROOM_PACKAGE,包涵存储过程add_classroom,delete_classroom,update_status和函数get_status。
图6CLASSROOM_PACKAGE代码
3、触发器CLASSROOM_DML_TRG,该触发器是对CLASSROOM表的监控,一切对CLASSROOM表的操作都要记录在它的日志表CLASSROOM_LOG中,增加其安全性。
图7CLASSROOM_DML_TRG触发器
4、触发器AC_DML_ROWTRG,该触发器是行级触发器。
作用是限制新增排课表的节次不得超过5,即每天上课的节次都是在4以(包括4)。
图8AC_DML_ROWTRG触发器
六、测试
图9授权图
首先要先创建角色,给予角色对包的权限。
图10测试图1
举其中一例,得到教室表编号1的状态信息,输出为“空”。
图11测试图2
当输入的教室号不存在时会报错。
图13测试图3
该过程是对过程AC_PACKAGE.update_jieci的调用。
七、总结
通过本次课程设计,我不仅对数据库有了更深的了解,还学习与数据库有关的软件Oracle的运用。
虽然在做课程设计过程中遇到很多问题,不过我们通过团队合作客服了一个又一个问题,最后使得本课设能正常完成。
不过,在本次课程设计中,我也找到了很多问题。
比如,我负责的模块是排课人员安排课程和教室,我只是完成最基础的功能,所有都是基本的、书上有的容,没有一点的延伸和对问题更加深入的思考,特别是逻辑上的思考基本是没有。
所以,总的来说不是很好。
我会总结这次的问题并且吸取教训,争取在接下来的实验或者其他事务中能有自己的想法,积极去思考问题、解决问题。
参考文献
1、巍王晓敏.数据库系统开发教程[M].:
清华大学,2010年6月
2、俞俊甫.数据库原理应用教程[M].:
邮电大学2010年7月
3、凤荔王瑛Oracle11g数据库基础教程[M].人民邮电2012年9月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 课程设计 报告