oraclo教务管理数据库.docx
- 文档编号:29935436
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:23
- 大小:387.98KB
oraclo教务管理数据库.docx
《oraclo教务管理数据库.docx》由会员分享,可在线阅读,更多相关《oraclo教务管理数据库.docx(23页珍藏版)》请在冰豆网上搜索。
oraclo教务管理数据库
XXXXXXXX2017-2018学年度第二学期
期末作业
科目:
大型数据库系统设计
信息工程学院计算机科学与技术(软件工程)专业
XXX级XXX班
学号:
XXXX姓名:
XXX成绩:
一、按照相关背景和所给知识,完成相关内容。
背景:
教务处是学校教学及日常教务管理的核心部门。
该处主要包括:
考试中心、教研科、教务科、学籍管理科、教学实践科以及高教研究等科室。
根据其职能划分,教学管理主要分为:
学生学籍管理
教学计划管理
排课管理
成绩管理
考务管理
教学评估管理
教研项目管理
…
该作业针对教学管理中的学生成绩管理模块。
学生成绩管理模块有如下的表(完成表中填充的部分):
表1学院表(db_college)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
college_no
学院编码
varchar2
10
是
否
college_name
学院名称
varchar2
20
否
否
setting_quota
定编人数
number
4
否
否
current_quota
现在编人数
number
4
否
否
major_number
学院的专业数目
number
2
否
否
表2专业表(db_major)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
major_no
专业编码
varchar2
10
是
否
major_name
专业名称
varchar2
20
否
否
college_no
学院编码
varchar2
10
否
是(db_college)
表3学生表(db_student)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
register_no
学生学号
varchar2
20
是
否
major_no
专业编码
varchar2
10
否
是(db_major)
s_name
学生姓名
varchar2
10
否
否
s_gender
性别
varchar2
4
否
否
s_dateofbirth
出生年月
date
否
否
s_class
班级号
number
1
否
否
s_address
家庭住址
varchar2
20
否
否
s_postcode
邮政编码
number
6
否
否
s_mail_address
通信地址
varchar2
50
否
否
s_tele
联系电话
number
11
否
否
s_email
电子邮箱
varchar2
30
否
否
表4教师表(db_teacher)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
work_id
教师编号
varchar2
10
是
否
t_name
教师姓名
varchar2
10
否
否
t_title
职称
varchar2
10
否
否
major_no
专业编码
varchar2
10
否
是(db_major)
college_no
学院编码
varchar2
10
否
是(db_college)
t_address
家庭住址
varchar2
50
否
否
t_telephone
联系电话
number
11
否
否
t_position
现任职务
varchar2
10
否
否
t_email
电子邮箱
varchar2
30
否
否
表5课程信息表(db_course)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
course_no
课程编码
varchar2
10
是
否
major_no
专业编码
varchar2
10
否
是(db_major)
term_no
开课学期
number
1
否
否
year_no
开课学年
number
4
否
否
course_name
课程名称
varchar2
20
否
否
credit
学分数
number
2
否
否
planned_hour
计划学时数
number
3
否
否
lab_hour
实验学时数
number
3
否
否
week_hour
周学时数
number
3
否
否
course_type
课程性质
varchar2
2
否
否
exam_type
考试类别
varchar2
4
否
否
remarks
备注
varchar2
10
否
否
表6学生成绩表(db_grade)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
register_no
学号编码
varchar2
20
是
是(db_student)
work_id
教师编号
varchar2
10
是
是(db_teacher)
course_no
课程编码
varchar2
10
是
是(db_course)
college_no
学院编码
varchar2
10
否
是(db_college)
registered_date
课程注册日期
date
否
否
registered_year
选课学年
number
4
否
否
registered_term
选课学期
number
1
否
否
final_grade
最终成绩
varchar2
5
否
否
makeup_flag
补考标志
char
2
否
否
注:
补考标志makeup_flag的值为0或空表示没有补考,为1表示补考。
表7教学任务表(db_teach_course)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
course_no
课程编码
varchar2
10
是
是(db_course)
work_id
教师编号
varchar2
10
是
是(db_teacher)
course_name
课程名称
varchar2
20
否
是(db_course)
launch_year
实际开课学年
number
4
否
否
launch_term
实际开课学期
number
1
否
否
executed_plan
完成课程情况
varchar2
3
否
否
表8教师登录账户信息表(db_faculty_per)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
work_id
登录账户即教师编号
varchar2
10
是
是(db_teacher)
login_pwd_f
登录口令
varchar2
20
否
否
表9学生登录账户信息表(db_student_per)
字段标识
含义
数据类型
长度
主键
外键(被参照表)
register_id
学生学号
varchar2
20
是
是(db_student)
login_pwd_s
登录口令
varchar2
20
否
否
按照对学生成绩管理系统的领域知识,完成下面的内容(请将解答填写在横线上,有运行结果的请给出截图):
1、绘制出学生成绩管理系统的E_R图。
2、在现有数据库ORCL或其它数据库中创建表空间,表空间信息和表空间对应数据文件见表10和表11。
表10表空间分配
表名
所属模式
对应所属部门
对应表空间
初始大小
增长方式
学院表
staffuser
全校各学院
tbs_main
500M
自动
专业表
staffuser
各学院专业
tbs_main
500M
自动
学生表
staffuser
全校学生
tbs_main
500M
自动
教师表
staffuser
全校教师
tbs_main
500M
自动
课程信息表
staffuser
全校所有课程
tbs_main
500M
自动
教学任务表
staffuser
所有专业
tbs_main
500M
自动
学生成绩表
staffuser
生物工程学院
食品科学与工程学院
tbs_bio_foo
200M
自动
信息科学与工程学院
材料科学与工程学院
tbs_infor_mati
200M
自动
艺术设计学院
服装学院
商务学院
tbs_art_fash_busi
200M
自动
表11表空间与数据文件的对应关系
表空间
类型
对应文件
文件大小
增长幅度
增长方式
tbs_main
永久/联机
tbs_main1.dbf
250MB
10%
自动
tbs_main2.dbf
250MB
10%
自动
tbs_bio_foo
永久/联机
tbs_bio_foo1.dbf
100MB
10%
自动
tbs_bio_foo2.dbf
100MB
10%
自动
tbs_infor_mati
永久/联机
tbs_infor_mati1.dbf
100MB
10%
自动
tbs_infor_mati2.dbf
100MB
10%
自动
tbs_art_fash_busi
永久/联机
tbs_art_fash_busi1.dbf
100MB
10%
自动
tbs_art_fash_busi2.dbf
100MB
10%
自动
tbs_teach_std
永久/联机
tbs_teach_std1.dbf
100MB
10%
自动
tbs_teach_std2.dbf
100MB
10%
自动
tbs_index
永久/联机
tbs_index1.dbf
100MB
10%
自动
tbs_index2.dbf
100MB
10%
自动
tbs_temp
临时/联机
tbs_temp1.dbf
100MB
10%
自动
tbs_temp2.dbf
100MB
10%
自动
各个表空间均创建成功,以上是局部截图
3、创建数据库用户。
学生成绩管理系统中的用户有5个:
(1)教师用户teauser:
可浏览学院、专业、课程及承担教学任务学习;可更新自己的部分字段信息,根据学生选课注册的信息,录入所承担课程的学生成绩、查询该课程成绩,在得到教务部门的授权许可后可修改学生的成绩。
例如用户teauser对学生成绩表db_grade的更新(update)操作是在一定时间内由管理部门用户staffuser授予的,主要发生在教师录入学生成绩完毕提交后。
(2)学生用户stduser:
可对学生自己的信息、课程信息、课程成绩及教师承担的教学任务进行查询,也可修改自己的部分信息。
(3)管理部门staffuser:
拥有所有表及其全部权限。
(4)数据库管理员dbadatauser:
可对数据库表数据进行备份和恢复,完成对表的备份/恢复,表空间的备份/恢复以及用户级别备份恢复。
(5)数据库管理员dbsysuser:
可创建数据库用户,并为用户授权、创建数据库对象,创建表空间,删除数据库对象等。
以上全部用户均有执行存储过程、函数、包等数据库对象的权限。
用户表空间和表之间所属关系如图1所示。
图1用户、表空间和表之间的关系
表空间、用户和表的对应关系如表12所示。
表12表空间、用户及表的对应关系
数据库用户
拥有的表
表的默认表空间
程序对象
staffuser
db_college
db_major
db_student
db_teacher
db_teach_course
db_course
tbs_main
触发器、存储过程、函数和包
db_grade(分区表)
tbs_bio_foo
tbs_infor_mati
tbs_art_fash_busi
dbdatauser
dbsysuser
tbs_main
teauser
db_faculty_per
tbs_teach_std
部分应用程序对象
stduser
db_student_per
用户与表的权限关系矩阵如表13所示。
表13用户与表的权限关系矩阵
数据库用户表数据
teauser
stduser
staffuser
dbdatauser
dbsysuser
db_college
S
SIUD
S
SX
db_major
S
SIUD
S
SX
db_student
SU
SIUD
S
SX
db_teacher
SU
SIUD
S
SX
db_course
S
S
SIUD
S
SX
db_grade
SU
SU
SUID
S
SX
db_teach_course
S
S
SIUD
S
SX
db_faculty_per
SU
SIUD
S
SX
db_student_per
SU
SIUD
S
SX
表13中的权限缩写如表14所示。
表14表级权限列表
表级权限
含义
缩写
ALTER
修改表结构
A
DELETE
删除记录
D
INDEX
索引
X
INSERT
插入数据
I
REFERENCES
关联
R
SELECT
查询
S
UPDATE
更新
U
请按照以上信息,给出创建5个用户的语句及其授权语句,授权语句请说明是哪个用户给哪个用户授权。
(1)staffuser用户
创建staffuser用户
createuserstaffuser
identifiedby123123
defaulttablespacetbs_main
;
alteruserstaffuserquotaunlimitedontbs_bio_foo;
alteruserstaffuserquotaunlimitedontbs_infor_mati;
alteruserstaffuserquotaunlimitedontbs_art_fash_busi;
alteruserstaffuseraccountunlock;
为用户staffuser授权
grantcreatesessiontostaffuser;
grantcreatetabletostaffuser;
grantselect,update,insert,deleteondb_collegetostaffuser;
grantselect,update,insert,deleteondb_majortostaffuser;
grantselect,update,insert,deleteondb_studenttostaffuser;
grantselect,update,insert,deleteondb_teachertostaffuser;
grantselect,update,insert,deleteondb_coursetostaffuser;
grantselectondb_gradetostaffuser;
grantselect,update,insert,deleteondb_teach_coursetostaffuser;
grantselect,update,insert,deleteondb_faculty_pertostaffuser;
grantselect,update,insert,deleteondb_student_pertostaffuser;
(2)teaser用户
创建teauser用户
createuserteauser
identifiedby123123
defaulttablespacetbs_teach_std
;
alteruserteauseraccountunlock;
为用户teauser授权
grantcreatesessiontoteauser;
grantselectondb_collegetoteauser;
grantselectondb_majortoteauser;
grantselect,updateondb_teachertoteauser;
grantselectondb_coursetoteauser;
grantselect,updateondb_gradetoteauser;
grantselectondb_teach_coursetoteauser;
grantselect,updateondb_faculty_pertoteauser;
(3)stduser用户
创建stduser用户
createuserstduser
identifiedby123123
;
alteruserstduseraccountunlock;
为用户stduser授权
grantcreatesessiontostduser;
grantselect,updateondb_studenttodbdatauser;
grantselectondb_coursetodbdatauser;
grantselect,updateondb_gradetodbdatauser;
grantselectondb_teach_coursetodbdatauser;
grantselect,updateondb_student_pertodbdatauser;
(4)dbdatauser用户
创建dbdatauser用户
createuserdbdatauser
identifiedby123123
defaulttablespacetbs_main
;
alteruserdbdatauseraccountlock;
为用户dbdatauser授权
grantcreatesessiontodbdatauser;
grantselectondb_collegetodbdatauser;
grantselectondb_majortodbdatauser;
grantselectondb_studenttodbdatauser;
grantselectondb_teachertodbdatauser;
grantselectondb_coursetodbdatauser;
grantselectondb_gradetodbdatauser;
grantselectondb_teach_coursetodbdatauser;
grantselectondb_faculty_pertodbdatauser;
grantselectondb_student_pertodbdatauser;
(5)dbsysuser用户
创建dbsysuser用户
createuserdbsysuser
identifiedby123123
defaulttablespacetbs_main
;
alteruserdbsysuseraccountunlock;
为用户dbsysuser授权
grantcreatesessiontodbsysuser;
grantselect,indexondb_collegetodbsysuser;
grantselect,indexondb_majortodbsysuser;
grantselect,indexondb_studenttodbsysuser;
grantselect,indexondb_teachertodbsysuser;
grantselect,indexondb_coursetodbsysuser;
grantselect,indexondb_gradetodbsysuser;
grantselect,indexondb_teach_coursetodbsysuser;
grantselect,indexondb_faculty_pertodbsysuser;
grantselect,indexondb_student_pertodbsysuser;
4、完成如下项目,并给出运行结果的截图。
(1)以staffuser登录,创建表7个表:
db_college,db_major,db_student,db_teacher,db_course,db_grade和db_teach_course,并向表插入数据。
插入的数据见附件。
注意创建表时,需要考虑E-R图中或表1-表6中定义的主键、外键和相关约束。
数据库表
视图
数据插入
(2)使用staffuser用户登录查询“计算机科学与技术专业”学生的平均分。
selectavg(final_grade)fromsystem.db_coursec,system.db_majorm,system.db_gradeg
wherec.major_no=m.major_noandm.college_no=g.college_noandm.major_name='计算机科学与技术';
(3)使用teauser登录,查询专业名称为“通信工程”学生的所选的课程名称。
selectcourse_namefromsystem.db_coursec,system.db_majorm
wherec.major_no=m.major_noandm.major_name='通信工程';
5、以staffuser登录,创建一个函数fun_std_avg_gra,用于返回某个学生(以学号为参数)所选课程的数目。
并用学号“201231000078”测试函数,给出测试结果截图。
createfunctio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oraclo 教务 管理 数据库
![提示](https://static.bdocx.com/images/bang_tan.gif)