oracle课程设计实验.docx
- 文档编号:3144995
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:16
- 大小:55.42KB
oracle课程设计实验.docx
《oracle课程设计实验.docx》由会员分享,可在线阅读,更多相关《oracle课程设计实验.docx(16页珍藏版)》请在冰豆网上搜索。
oracle课程设计实验
学号
武汉理工大学华夏学院
ORACLE应用期末考查报告
题目:
高校学生课程成绩据库设计
专业软件工程
班级1111
姓名
成绩
教师
《oracle应用》课程考试要求
考核拟采用大作业报告形式,将学生的学习成果心得体会以文档的形式提交。
请批准。
本次考核要求每个学生完成的内容如下:
⑴选定某一主题,创建一个oracle数据库,对其进行日常管理及应用(全部用SQL语句实现):
创建数据库实例,数据库表空间,创建管理员,普通用户,并分别授予相应权限;
至少建立5个表,以及表间关系,使用到序列,索引,视图,同义词,约束,每个表至少插入相关信息10条记录;
要求使用sqlplus,pl/sql建立存储过程,触发器和程序包等代码,其中要求用到游标,异常,各种语句等对表中数据进行处理,建立报表;
有实力的同学加入界面,连接数据库;
要有操作截图展示,字数要求4000字左右;
⑵对oracle数据库的认识及心得体会,要求字数1000字以上。
【3】以班级体刻盘,每人以自己的名字命名文件夹;
成绩评定方法:
1、平时成绩占30%,大作业及报告占70%。
1功能需求分析
高校学生课程成绩管理系统主要实现课程开设,教师授课,学生选课管理。
每学期学校可以开设若干门课程,每门课程可以有多个教学班组成,每个老师可以选择若干个教学班进行授课,每个学生只能参加相同课程的一个教学班选课,但可以选择多个不同课程教学班。
高校学生课程成绩管理系统主要功能如下:
(1)教师管理。
主要实现教师信息的管理,包括课程信息添加,修改,删除和查询等任务。
(2)课程管理。
主要实现按教学计划开设课程的管理。
包括课程信息添加,修改,删除和查询等任务。
(3)学生管理。
主要实现在校学生信息管理。
包括学生信息添加,修改,删除和查询等任务。
(4)课程开设管理。
主要实现每学期的教学任务。
每门课程将分成若干个教学班进行教学。
(5)教师选择教学任务管理。
主要实现教师选择教学班,实现教学任务的分配。
(6)学生选课管理。
主要实现学生选择教学班。
达到学生选课目的。
(7)学生成绩管理。
主要实现学生选修课程成绩录入,修改,删除和查询等功能。
(8)统计管理。
按教师,课程,时间统计教师在一个时间所授课程的平均成绩;按课程时间统计学校在一个时间该课程所有学生的平均成绩。
2概要设计
根据高校学生课程成绩管理系统的功能需求分析,设计4个实体对象分别是:
教师,学生,课程和开设课程。
教师对象描述教师的基本信息,包括教师号,姓名,性别和联系电话;课程对象描述课程的基本信息,包括课程号,课程名,学分,系别;学生对象描述学生的基本信息,包括学号,姓名,性别,出生年月,系别和联系电话。
实体之间存在3个关系,分别是讲授,开设和选课。
讲授描述教师和开设课程之间的关系,开设描述课程和开设课程的关系,选课描述学生和开设课程之间的关系。
高校学生课程成绩管理系统E-R图如图
(1)。
图1
3逻辑设计
根据高校学生课程成绩管理系统概要设计。
设计关系模型数据库。
该系统设计4个实体对象表,1个关系表和2个视图,分别是teacher教师表,student学生表,course课程表,KC开设课程表,SC学科表,avg_v视图和cou_v视图。
3.1teacher教师表包含4个字段。
教师号为主键,性别字段只能为“男”或“女”。
如下表teacher教师表所示.
teacher教师表
字段名
属性
类型
约束
sname
姓名
Char(20)
Notnull
sex
性别
Char
(2)
Check(sexin(n男女))
tno
教师号
Char(12)
Primarykey
tphone
联系电话
Char(20)
Notnull
3.2student学生表包含6个字段。
学生对象学号作为主键,性别字段只能为“男”或“女”。
如下表student学生表所示.
student学生表
字段名
属性
类型
约束
sname
姓名
Char(20)
Notnull
sex
性别
Char
(2)
Check(sexin(n男女))
sno
学号
Char(12)
Primarykey
sdept
系别
Char(12)
sphone
联系电话
Char(11)
brithday
出生年月
Date
3.3course课程表包含4个字段。
课程对象用课程号作为主键,且课程名唯一。
如下表course课程表所示。
course课程表
字段名
属性
类型
约束
cno
课程号
Number(6)
Primarykey
cname
课程名
Char(20)
unique
credit
学分
Number(2,1)
sdept
系别
Char(12)
3.4KC开设课程表包含3个字段。
KC开设课程表用shijian,tno和cno作为主键。
如下表KC开设课程表所示。
KC开设课程表
字段名
属性
类型
约束
shijian
时间
char(20)
tno
教师号
foreignkey,referenceteacher(tno)
cno
课程号
foreignkey,referencecourse(cno)
3.5SC选课表包含5个字段。
SC开设课程表用sno,tno,cno和shijian作为表的主键。
如下表SC选课表所示。
SC选课表
字段名
属性
类型
约束
grade
成绩
number
(2)
notnull
sno
学号
foreignkey,referencestudent(cno)
tno
教师号
foreignkey,referenceKC(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
CREATETABLESPACEtestDATAFILE
‘c:
\app\john\oradata\orcl\test01.dbf’SIZE10M;
--创建用户manager
CREATEUSERmanagerIDENTIFIEDBYabc123
DEFAULTTABLESPACEtest
QUOTA5MONtest;
--授权系统权限
GRANTCREATESESSION,CREATETABLETOmanager;
--用manager账号登陆
CONNECTmanager/abc123
--创建teacher教师表
CREATETABLEteacher(
tnameCHAR(20)NOTNULL,
sexCHAR
(2)CHECK(sexin(‘男’,’女’)),
tnoCHAR(12)PRIMARYKEY,
tphoneCHAR(20)NOTNULL);
--创建course课程表
CREATETABLEcourse(
cnameCHAR(20)UNIQUE,
cnoNUMBER(6)PRIMARYKEY,
creditNUMBER(2,1)
sdeptCHAR(12));
--创建student学生表
CREATETABLEstudent(
snameCHAR(20)NOTNULL,
sexCHAR
(2)CHECK(sexin(‘男’,’女’)),
snoCHAR(12)PRIMARYKEY,
sdeptCHAR(12),
sphoneCHAR(11),
birthdayDATA));
--创建KC开设课程表
CREATETABLEKC(
tnoCHAR(12)REFERENCESteacher(tno)ONDELETECASCADE,
cnoNUMBER
(2)REFERENCEScourse(cno)ONDELETECASCADE,
shijianCHAR(20)
PRIMARYKEY(shijian,tno,cno));
--创建SC表
CREATETABLESC(
snoNUMBER(12)REFERENCESstudent(sno)ONDELETECASCADE,
cnoNUMBER(6),
tnoCHAR(12),
shijianCHAR(20),
gradeNUMBER
(2)NOTNULL,
FOREIGNKEY(shijian,tno,cno)REFERENCESKC(shijian,tno,cno)ONDELETECASCADE,
PRIMARYKEY(shijian,tno,cno,sno));
--创建视图avg_v
CREATEVIEWavg_v(tname,cname,shijian,Gavg)
ASSELECTtname,cname,shijian,avg(grade)
FROMteachera,courseb,SCc
WHEREa.tno=c.tnoANDo=o
GROUPBY(tname,cname,shijian);
--创建视图cou_v
CREATEVIEWcou_v(shijian,cname,Gavg)
ASSELECTshijian,cname,avg(grade)
FROMcoursea,SCb
WHEREo=o
GROUPBY(shijian,cname);
--创建索引
CREATEUNIQUEINDEXSCnoonSC(snoDESC,tnoASC,cnoASC,shijianDESC);
--用户登录的存储过程
createorreplaceproceduredenglu(flagoutnumber,usernamevarchar2,upwdnumber)---登录
as
ivarchar2(20);
pnumber;
begin
flag:
=0;
selectt.enameintoifromscott.yonghutwheret.ename=username;
ifiisnotnullthen
flag:
=1;
selectt.enointopfromscott.yonghutwheret.ename=usernam
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 课程设计 实验