分享
2023年ORACLE课程设计实验高校学生课程成绩据库设计.doc
下载文档

ID:518579

大小:37KB

页数:15页

格式:DOC

时间:2023-04-08

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 ORACLE 课程设计 实验 高校学生 课程 成绩 设计
oracle课程设计实验高校学生课程成绩据库设计 学号 ORACLE应用期末考查报告 题 目:高校学生课程成绩据库设计 专 业 软件工程 班 级 姓 名 成 绩 教 师 oracle应用课程考试要求 考核拟采用大作业报告形式,将学生的学习成果心得体会以文档的形式提交。请批准。 本次考核要求每个学生完成的内容如下: ⑴选定某一主题,创立一个oracle数据库,对其进行日常管理及应用〔全部用SQL语句实现〕: 创立数据库实例,数据库表空间,创立管理员,普通用户,并分别授予相应权限; 至少建立5个表,以及表间关系,使用到序列,索引,视图,同义词,约束,每个表至少插入相关信息10条记录; 要求使用sqlplus,pl/sql建立存储过程,触发器和程序包等代码,其中要求用到游标,异常,各种语句等对表中数据进行处理,建立报表; 有实力的同学参加界面,连接数据库; 要有操作截图展示,字数要求4000字左右; ⑵对 oracle数据库的认识及心得体会,要求字数1000字以上。 【3】 以班级体刻盘,每人以自己的名字命名文件夹; 成绩评定方法: 1、平时成绩占30%,大作业及报告占70%。 ORACLE应用期末考查报告 1 1 功能需求分析 4 2概要设计 4 3逻辑设计 5 3.1 6 3.2 6 3.3 6 3.4 7 3.5 7 3.6 7 4实现 8 5测试数据 10 5.1 10 5.2 11 5.3 12 5.4 13 6数据库备份 14 7心得体会 14 8参考资料 15 1 功能需求分析 高校学生课程成绩管理系统主要实现课程开设,教师授课,学生选课管理。每学期学校可以开设假设干门课程,每门课程可以有多个教学班组成,每个老师可以选择假设干个教学班进行授课,每个学生只能参加相同课程的一个教学班选课,但可以选择多个不同课程教学班。高校学生课程成绩管理系统主要功能如下: 〔1〕教师管理。主要实现教师信息的管理,包括课程信息添加,修改,删除和查询等任务。 〔2〕课程管理。主要实现按教学方案开设课程的管理。包括课程信息添加,修改,删除和查询等任务。 〔3〕学生管理。主要实现在校学生信息管理。包括学生信息添加,修改,删除和查询等任务。 〔4〕课程开设管理。主要实现每学期的教学任务。每门课程将分成假设干个教学班进行教学。 〔5〕教师选择教学任务管理。主要实现教师选择教学班,实现教学任务的分配。 〔6〕学生选课管理。主要实现学生选择教学班。到达学生选课目的。 〔7〕学生成绩管理。主要实现学生选修课程成绩录入,修改,删除和查询等功能。 〔8〕统计管理。按教师,课程,时间统计教师在一个时间所授课程的平均成绩;按课程时间统计学校在一个时间该课程所有学生的平均成绩。 2概要设计 根据高校学生课程成绩管理系统的功能需求分析,设计4个实体对象分别是:教师,学生,课程和开设课程。教师对象描述教师的根本信息,包括教师号,姓名,性别和联系 ;课程对象描述课程的根本信息,包括课程号,课程名,学分,系别;学生对象描述学生的根本信息,包括学号,姓名,性别,出生年月,系别和联系 。实体之间存在3个关系,分别是讲授,开设和选课。讲授描述教师和开设课程之间的关系,开设描述课程和开设课程的关系,选课描述学生和开设课程之间的关系。高校学生课程成绩管理系统E-R图如图〔1〕。 教师 讲授 开设可程 选课 学生 姓名 性别 教师号 联系 时间 成绩 姓名 性别 学号 系别 出生年月 联系 开设 课程 系别 课程名 课程号 学分 1 M 1 M n 图1 3逻辑设计 根据高校学生课程成绩管理系统概要设计。设计关系模型数据库。该系统设计4个实体对象表,1个关系表和2个视图,分别是teacher教师表,student学生表,course课程表,KC开设课程表,SC学科表,avg_v视图和cou_v视图。 3.1 teacher教师表包含4个字段。教师号为主键,性别字段只能为“男〞或“女〞。如下表teacher教师表所示. teacher教师表 字段名 属性 类型 约束 sname 姓名 Char(20) Not null sex 性别 Char(2) Check(sex in(n男女)) tno 教师号 Char(12) Primary key tphone 联系 Char(20) Not null 3.2 student学生表包含6个字段。学生对象学号作为主键,性别字段只能为“男〞或“女〞。如下表student学生表所示. student学生表 字段名 属性 类型 约束 sname 姓名 Char(20) Not null sex 性别 Char(2) Check(sexin(n男女)) sno 学号 Char(12) Primary key sdept 系别 Char(12) sphone 联系 Char(11) brithday 出生年月 Date 3.3 course课程表包含4个字段。课程对象用课程号作为主键,且课程名唯一。如下表course课程表所示。 course课程表 字段名 属性 类型 约束 cno 课程号 Number(6) Primary key cname 课程名 Char(20) unique credit 学分 Number(2,1) sdept 系别 Char(12) 3.4 KC开设课程表包含3个字段。KC开设课程表用shijian,tno和cno作为主键。如下表KC开设课程表所示。 KC开设课程表 字段名 属性 类型 约束 shijian 时间 char(20) tno 教师号 foreign key,reference teacher(tno) cno 课程号 foreign key,reference course(cno) 3.5 SC选课表包含5个字段。SC开设课程表用sno,tno,cno和shijian作为表的主键。如下表SC选课表所示。 SC选课表 字段名 属性 类型 约束 grade 成绩 number〔2〕 not null sno 学号 foreign key,reference student(cno) tno 教师号 foreign key,reference KC(tno,cnoshijian) cno 课程号 shijian 时间 3.6 为了实现高校学生课程成绩管理系统的统计管理功能,设计avg_v视图和cou_v视图。Avg_v视图包含教师名,课程名,时间和平均成绩4个字段,通过查询teacher教师表,course课程表和SC选课,在教师号和课程号字段上等值链接,并且按照教师名,课程名和时间分组,实现教师所授课程的平均成绩。Cou_v视图包含时间,课程和平均成绩3个字段,通过查询course课程表和SC选课表,在课程号字段上等值链接,并且按照时间和课程名分组,实现统计学习在某个时间课程的平均成绩。 在SC选课表上创立索引,索引建立在SC选课表的学号,课程号,教师号和时间字段上。课程号和教师号按升序排列,学号和时间按降序排列。 4实现 --创立表空间test CREATE TABLESPACE test DATAFILE ‘c:\app\john\oradata\orcl\test01.dbf’ SIZE 10M; --创立用户manager CREATE USER manager IDENTIFIED BY abc123 DEFAULT TABLESPACE test QUOTA 5M ON test; --授权系统权限 GRANT CREATE SESSION,CREATE TABLE TO manager; --用manager账号登陆 CONNECT manager/abc123 --创立teacher教师表 CREATE TABLE teacher( tname CHAR(20) NOT NULL, sex CHAR(2) CHECK(sex in (‘男’,’女’)), tno CHAR(12) PRIMARY KEY, tphone CHAR(20) NOT NULL); --创立course课程表 CREATE TABLE course ( cname CHAR(20) UNIQUE, cno NUMBER(6) PRIMARY KEY, credit NUMBER(2,1) sdept CHAR(12)); --创立student学生表 CREATE TABLE student ( sname CHAR(20) NOT NULL, sex CHAR(2) CHECK(sex in (‘男’,’女’)), sno CHAR(12) PRIMARY KEY, sdept CHAR(12), sphone CHAR(11), birthday DATA)); --创立KC开设课程表 CREATE TABLE KC ( tno CHAR(12) REFERENCES teacher(tno) ON DELETE CASCADE, cno NUMBER(2) REFERENCES course(cno) ON DELETE CASCADE, shijian CHAR(20) PRIMARY KEY(shijian, tno, cno)); --创立SC表 CREATE TABLE SC ( sno NUMBER(12) REFERENCES student(sno) ON DELETE CASCADE, cno NUMBER(6), tno CHAR(12), shijian CHAR(20), grade NUMBER(2) NOT NULL, FOREIGN KEY(shijian, tno, cno) REFERENCES KC(shijian, tno, cno) ON DELETE CASCADE, PRIMARY KEY(shijian, tno, cno,sno)); --创立视图avg_v CREATE VIEW avg_v(tname,cname,shijian,Gavg) AS SELECT tname,cname,shijian,avg(grade) FROM teacher a,course b,SC c WHERE a.tno=c.tno AND b o=c o GROUP BY (tname,cname,shijian); --创立视图cou_v CREATE VIEW c

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开