期末作业
科目: 大型数据库系统设计
信 息 工 程 学院 计算机科学与技术(软件工程)专业 XXX级 XXX 班
学号: XXXX 姓名: XXX 成绩:
一、按照相关背景和所给知识,完成相关内容。
背景:教务处是学校教学及日常教务管理的核心部门。该处主要包括:考试中心、教研科、教务科、学籍管理科、教学实践科以及高教研究等科室。
根据其职能划分,教学管理主要分为: 学生学籍管理 教学计划管理 排课管理 成绩管理 考务管理 教学评估管理 教研项目管理 …
该作业针对教学管理中的学生成绩管理模块。学生成绩管理模块有如下的表(完成表中填充的部分):
表1 学院表(db_college)
字段标识 college_no college_name setting_quota current_quota major_number 含义 学院编码 学院名称 定编人数 现在编人数 学院的专业数目 数据类型 varchar2 varchar2 number number number 长度 10 20 4 4 2 主键 是 否 否 否 否 外键(被参照表) 否 否 否 否 否 表2 专业表(db_major) 字段标识 major_no major_name college_no 含义 专业编码 专业名称 学院编码 数据类型 varchar2 varchar2 varchar2 长度 10 20 10 主键 是 否 否 外键(被参照表) 否 否 是(db_college) 1
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案
表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 否 否 2
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 week_hour course_type exam_type remarks 周学时数 课程性质 考试类别 备注 number varchar2 varchar2 varchar2 3 2 4 10 否 否 否 否 否 否 否 否 表6 学生成绩表(db_grade)
字段标识 register_no work_id course_no college_no registered_date registered_year registered_term final_grade makeup_flag 含义 学号编码 教师编号 课程编码 学院编码 课程注册日期 选课学年 选课学期 最终成绩 补考标志 数据类型 varchar2 varchar2 varchar2 varchar2 date number number varchar2 char 长度 20 10 10 10 4 1 5 2 主键 是 是 是 否 否 否 否 否 否 外键(被参照表) 是(db_student) 是(db_teacher) 是(db_course) 是(db_college) 否 否 否 否 否 注:补考标志makeup_flag的值为0或空表示没有补考,为1表示补考。
表7 教学任务表(db_teach_course) 字段标识 course_no work_id course_name launch_year launch_term executed_plan 含义 课程编码 教师编号 课程名称 实际开课学年 实际开课学期 完成课程情况 数据类型 varchar2 varchar2 varchar2 number number varchar2 长度 10 10 20 4 1 3 主键 是 是 否 否 否 否 外键(被参照表) 是(db_course) 是(db_teacher) 是(db_course) 否 否 否 表8 教师登录账户信息表(db_faculty_per) 字段标识 work_id login_pwd_f 含义 登录账户即教师编号 登录口令 数据类型 varchar2 varchar2 长度 10 20 主键 是 否 外键(被参照表) 是(db_teacher) 否 表 9 学生登录账户信息表(db_student_per) 字段标识 register_id login_pwd_s 含义 学生学号 登录口令 数据类型 varchar2 varchar2 长度 20 20 主键 是 否 外键(被参照表) 是(db_student) 否 按照对学生成绩管理系统的领域知识,完成下面的内容(请将解答填写在横线上,有运行结果的请给出截图):
1、绘制出学生成绩管理系统的E_R图。
3
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案
2、在现有数据库ORCL或其它数据库中创建表空间,表空间信息和表空间对应数据文件见表
10和表11。
表10 表空间分配 表名 所属模式 staffuser staffuser staffuser staffuser staffuser staffuser staffuser 对应所属部门 对应表空间 初始大小 增长方式 学院表 全校各学院 tbs_main 500M 自动 专业表 各学院专业 tbs_main 500M 自动 学生表 全校学生 tbs_main 500M 自动 教师表 全校教师 tbs_main 500M 自动 课程信息表 全校所有课程 tbs_main 500M 自动 教学任务表 所有专业 tbs_main 500M 自动 学生成绩表 生物工程学院 食品科学与工程学院 tbs_bio_foo 200M 自动 4
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 信息科学与工程学院 材料科学与工程学院 tbs_infor_mati 200M 自动 艺术设计学院 服装学院 tbs_art_fash_bu 商务学院 si 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_bu永久/tbs_art_fash_busi1.d100MB 10% 自动 si 联机 bf tbs_art_fash_busi2.d100MB 10% 自动 bf 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% 自动 5
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案
各个表空间均创建成功,以上是局部截图
3、创建数据库用户。
6
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 学生成绩管理系统中的用户有5个:
(1)教师用户teauser:可浏览学院、专业、课程及承担教学任务学习;可更新自己的部分字段信息,根据学生选课注册的信息,录入所承担课程的学生成绩、查询该课程成绩,在得到教务部门的授权许可后可修改学生的成绩。例如用户teauser对学生成绩表db_grade的更新(update)操作是在一定时间内由管理部门用户staffuser授予的,主要发生在教师录入学生成绩完毕提交后。
(2)学生用户stduser:可对学生自己的信息、课程信息、课程成绩及教师承担的教学任务进行查询,也可修改自己的部分信息。
(3)管理部门staffuser:拥有所有表及其全部权限。
(4)数据库管理员dbadatauser:可对数据库表数据进行备份和恢复,完成对表的备份/恢复,表空间的备份/恢复以及用户级别备份恢复。
(5)数据库管理员dbsysuser:可创建数据库用户,并为用户授权、创建数据库对象,创建表空间,删除数据库对象等。
以上全部用户均有执行存储过程、函数、包等数据库对象的权限。用户表空间和表之间所属关系如图1所示。
全局数据库ORCL表空间tbs_temptbs_maintbs_indextbs_teach_stdtbs_art_fash_busitbs_infor_matitbs_bio_foostaffuser用户dbdatauserdbsysuserstduserteauser分区1分区2分区3表db_teach_coursedb_coursedb_teacherdb_Studentdb_majordb_collegedb_student_permidb_faculty_permidb_grade图1 用户、表空间和表之间的关系
表空间、用户和表的对应关系如表12所示。
表12 表空间、用户及表的对应关系 数据库用户 staffuser 拥有的表 db_college 表的默认表空间 tbs_main 程序对象 触发器、存储过程、7
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 db_major 函数和包 db_student db_teacher db_teach_course db_course tbs_bio_foo db_grade(分区表) tbs_infor_mati tbs_art_fash_busi dbdatauser dbsysuser tbs_main teauser db_faculty_per stduser db_student_per tbs_teach_std 部分应用程序对象 用户与表的权限关系矩阵如表13所示。
表13 用户与表的权限关系矩阵 数据库teausestdusestaffusedbdatause用户表数据 r r r r 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 8
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 INDEX INSERT REFERENCES SELECT UPDATE 索引 插入数据 关联 查询 更新 X I R S U 请按照以上信息,给出创建5个用户的语句及其授权语句,授权语句请说明是哪个用户给哪个用户授权。
(1)staffuser用户 ① 创建staffuser用户 create user staffuser identified by 123123 default tablespace tbs_main ;
alter user staffuser quota unlimited on tbs_bio_foo; alter user staffuser quota unlimited on tbs_infor_mati; alter user staffuser quota unlimited on tbs_art_fash_busi; alter user staffuser account unlock;
② 为用户staffuser授权 grant create session to staffuser; grant create table to staffuser;
grant select,update,insert,delete on db_college to staffuser; grant select,update,insert,delete on db_major to staffuser; grant select,update,insert,delete on db_student to staffuser; grant select,update,insert,delete on db_teacher to staffuser; grant select,update,insert,delete on db_course to staffuser; grant select on db_grade to staffuser;
grant select,update,insert,delete on db_teach_course to staffuser; grant select,update,insert,delete on db_faculty_per to staffuser; grant select,update,insert,delete on db_student_per to staffuser;
(2)teaser用户 ① 创建teauser用户 create user teauser
9
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 identified by 123123
default tablespace tbs_teach_std ;
② 为用户teauser授权 grant create session to teauser; grant select on db_college to teauser; grant select on db_major to teauser; grant select,update on db_teacher to teauser; grant select on db_course to teauser; grant select,update on db_grade to teauser; grant select on db_teach_course to teauser; (3)stduser用户 ① 创建stduser用户 create user stduser identified by 123123 ;
② 为用户stduser授权 grant create session to stduser;
grant select,update on db_student to dbdatauser; grant select on db_course to dbdatauser; grant select,update on db_grade to dbdatauser; grant select on db_teach_course to dbdatauser; (4)dbdatauser用户 ① 创建dbdatauser用户 create user dbdatauser identified by 123123 default tablespace tbs_main ;
alter user dbdatauser account lock;
② 为用户dbdatauser授权
10
alter user teauser account unlock;
grant select,update on db_faculty_per to teauser;
alter user stduser account unlock;
grant select,update on db_student_per to dbdatauser;
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 grant create session to dbdatauser; grant select on db_college to dbdatauser; grant select on db_major to dbdatauser; grant select on db_student to dbdatauser; grant select on db_teacher to dbdatauser; grant select on db_course to dbdatauser; grant select on db_grade to dbdatauser; grant select on db_teach_course to dbdatauser; grant select on db_faculty_per to dbdatauser; grant select on db_student_per to dbdatauser;
(5)dbsysuser用户 ① 创建dbsysuser用户 create user dbsysuser identified by 123123 default tablespace tbs_main ;
alter user dbsysuser account unlock;
② 为用户dbsysuser授权 grant create session to dbsysuser;
grant select,index on db_college to dbsysuser; grant select,index on db_major to dbsysuser; grant select,index on db_student to dbsysuser; grant select,index on db_teacher to dbsysuser; grant select,index on db_course to dbsysuser; grant select,index on db_grade to dbsysuser; grant select,index on db_teach_course to dbsysuser; grant select,index on db_faculty_per to dbsysuser; grant select,index on db_student_per to dbsysuser;
4、完成如下项目,并给出运行结果的截图。
(1)以staffuser登录,创建表7个表:db_college, db_major, db_student, db_teacher, db_course, db_grade和db_teach_course,并向表插入数据。插入的数据见附件。注意创建表时,需要考虑E-R图中或表1-表6中定义的主键、外键和相关约束。
数据库表
11
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案
视图
数据插入
12
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案
(2)使用staffuser用户登录查询“计算机科学与技术专业”学生的平均分。
select avg(final_grade) from system.db_course c,system.db_major m,system.db_grade g
where c.major_no=m.major_no and m.college_no=g.college_no and m.major_name='计算机科学与技术';
(3)使用teauser登录,查询专业名称为“通信工程”学生的所选的课程名称。 select course_name from system.db_course c, system.db_major m where c.major_no = m.major_no and m.major_name='通信工程';
13
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案
5、以staffuser登录,创建一个函数fun_std_avg_gra,用于返回某个学生(以学号为参数)所选课程的数目。并用学号“201231000078”测试函数,给出测试结果截图。 create function fun_std_avg_gra(registerno number) return number as re number(10); begin
select count(*) into re from system.db_course c,system.db_student s where c.major_no = s.major_no and register_no = registerno; return re; end;
select fun_std_avg_gra(201231000078) from dual;
6、以staffuser登录,创建一个触发器tri_set_makeup_flag,当向表db_grade插入学生成绩记录时,为成绩低于60分的记录自动设置补考标志为’1’。并插入测试数据验证触发器的功能,给出测试结果截图。
create trigger tri_set_makeup_flag before insert on db_grade for each row begin
if (:new.final_grade < '60') then :new.makeup_flag:= 1; end if;
14
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案 end;
二、你了解数据挖掘的概念吗?请查阅数据挖掘的相关资料,谈谈数据挖掘的思想,并阐述数据挖掘与本课程内容之间的关联性体现在哪些方面?
从技术层面上看,数据挖掘就是从大量数据中提取有用信息的过程,从商业层面上看,数据挖掘是一种商业信息处理技术,其主要特点是对大量业务数据进行抽取、转换、分析和建模处理,从中提取辅助商业决策的关键性数据。数据挖掘思想来自于:机器学习、模式识别、统计和数据库系统。关系数据库是数据挖掘的主要对象之一,当数据挖掘应用于关系数据库时,可以进一步探索趋势 或数据模式。
信你自己罢!只有你自己是真实的,也只有你能够创造你自己
15
因篇幅问题不能全部显示,请点此查看更多更全内容