oracle课程设计实验文档格式.docx
《oracle课程设计实验文档格式.docx》由会员分享,可在线阅读,更多相关《oracle课程设计实验文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
![oracle课程设计实验文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/25/9c306d9e-2977-4bd3-ab29-88dd3f48f399/9c306d9e-2977-4bd3-ab29-88dd3f48f3991.gif)
逻辑设计
..........................................................................................5
3.1
........................................................................................................6
3.2
3.3
3.4
........................................................................................................7
3.5
3.6
4
实现
..................................................................................................8
测试数据
........................................................................................10
5.1
......................................................................................................10
5.2
......................................................................................................11
5.3
......................................................................................................12
5.4
......................................................................................................13
6
数据库备份
....................................................................................14
7
心得体会
........................................................................................14
8
参考资料
........................................................................................15
功能需求分析
高校学生课程成绩管理系统主要实现课程开设,教师授课,学生选课管理。
每学期学校可以开设若干门课程,每门课程可以有多个教学班组成,每个老师
可以选择若干个教学班进行授课,每个学生只能参加相同课程的一个教学班选
课,但可以选择多个不同课程教学班。
高校学生课程成绩管理系统主要功能如
下:
(1)
教师管理。
主要实现教师信息的管理,包括课程信息添加,修改,
删除和查询等任务。
(2)
课程管理。
主要实现按教学计划开设课程的管理。
包括课程信息添
加,修改,删除和查询等任务。
(3)
学生管理。
主要实现在校学生信息管理。
包括学生信息添加,修改,
(4)
课程开设管理。
主要实现每学期的教学任务。
每门课程将分成若干
个教学班进行教学。
(5)
教师选择教学任务管理。
主要实现教师选择教学班,实现教学任务
的分配。
(6)
学生选课管理。
主要实现学生选择教学班。
达到学生选课目的。
(7)
学生成绩管理。
主要实现学生选修课程成绩录入,修改,删除和查
询等功能。
(8)
统计管理。
按教师,课程,时间统计教师在一个时间所授课程的平
均成绩;
按课程时间统计学校在一个时间该课程所有学生的平
均成绩。
概要设计
根据高校学生课程成绩管理系统的功能需求分析,设计
个实体对象
分别是:
教师,学生,课程和开设课程。
教师对象描述教师的基本信息,
包括教师号,姓名,性别和联系电话;
课程对象描述课程的基本信息,包
括课程号,课程名,学分,系别;
学生对象描述学生的基本信息,包括学
号,姓名,性别,出生年月,系别和联系电话。
实体之间存在
个关系,
分别是讲授,开设和选课。
讲授描述教师和开设课程之间的关系,开设描
述课程和开设课程的关系,选课描述学生和开设课程之间的关系。
高校学
生课程成绩管理系统
E-R
图如图
(1)
。
姓
名
性
别
时
间
成
绩
学
号
11
M
M
n
教师讲授开设可程选课学生
教
师
联
系
电
话
开设
课程
出
生
年
月
课
程
分
图
1
逻辑设计
根据高校学生课程成绩管理系统概要设计。
设计关系模型数据库。
该系统
设计
个实体对象表,1
个关系表和
个视图,分别是
teacher
教师表,
student
学生表,course
课程表,KC
开设课程表,SC
学科表,avg_v
视图
和
cou_v
视图。
字段名
属性
类型
约束
sname
姓名
Char(20)
Not
null
sex
性别
Char
(2)
Check(sexin(n
男女))
sno
Char(12)
Primary
key
sdept
系别
sphone
联系电话
Char(11)
brithday
出生年月
Date
Check(sex
in(n
tno
教师号
tphone
cno
课程号
Number(6)
cname
课程名
unique
credit
学分
Number(2,1)
3.1teacher
教师表包含
个字段。
教师号为主键,性别字段只能为
“男”或“女”。
如下表
教师表所示.
教师表
3.2student
学生表包含
学生对象学号作为主键,性别字段
只能为“男”或“女”。
学生表所示.
学生表
3.3course
课程表包含
课程对象用课程号作为主键,且课
程名唯一。
course
课程表所示。
课程表
grade
成绩
number(2
)
not
foreign
key,reference
student(cno)
key,reference
KC(tno,cnoshijian)
shijian
时间
char(20)
teacher(tno)
course(cno)
3.4KC
开设课程表包含
KC
开设课程表用
shijian,tno
和
cno
作为主键。
开设课程表所示。
开设课程表
3.5SC
选课表包含
SC
sno,tno,cno
shijian
作为表的主键。
选课表所示。
选课表
3.6为了实现高校学生课程成绩管理系统的统计管理功能,设计
avg_v
视图和
Avg_v
视图包含教师名,课程名,时间和平均
成绩
个字段,通过查询
教师表,course
课程表和
选课,在
教师号和课程号字段上等值链接,并且按照教师名,课程名和时间分组,
实现教师所授课程的平均成绩。
Cou_v
视图包含时间,课程和平均成绩
3
选课表,在课程号字段上等值链接,
并且按照时间和课程名分组,实现统计学习在某个时间课程的平均成绩。
在
选课表上创建索引,索引建立在
选课表的学号,课程号,
教师号和时间字段上。
课程号和教师号按升序排列,学号和时间按降序排
列。
实现
--创建表空间
test
CREATE
TABLESPACE
test
DATAFILE
‘c:
\app\john\oradata\orcl\test01.dbf’
SIZE
10M;
--创建用户
manager
USER
manager
IDENTIFIED
BY
abc123
DEFAULT
QUOTA
5M
ON
test;
--授权系统权限
GRANT
SESSION,CREATE
TABLE
TO
manager;
--用
账号登陆
CONNECT
manager/abc123
--创建
teacher(
tname
CHAR(20)
NOT
NULL,
sex
CHAR
(2)
CHECK(sex
in
(‘男’,’女’)),
tno
CHAR(12)
PRIMARY
KEY,
tphone
NULL);
(
cname
UNIQUE,
NUMBER(6)
credit
NUMBER(2,1)
sdept
CHAR(12));
sname
sno
CHAR(12),
sphone
CHAR(11),
birthday
DATA));
REFERENCES
teacher(tno)
DELETE
CASCADE,
NUMBER
(2)
course(cno)
CHAR(20)
KEY(shijian,
tno,
cno));
表
NUMBER(12)
student(sno)
NUMBER(6),
CHAR(20),
grade
FOREIGN
cno)
KC(shijian,
cno)
cno,sno));
--创建视图
avg_v
VIEW
avg_v(tname,cname,shijian,Gavg)
AS
SELECT
tname,cname,shijian,avg(grade)
FROM
a,course
b,SC
c
WHERE
a.tno=c.tno
AND
o=o
GROUP
(tname,cname,shijian);
cou_v
(shijian,cname,Gavg)
shijian,
cname,avg(grade)
a,SC
b
o=
o
(shijian,
cname);
--创建索引
UNIQUE
INDEX
SCno
on
SC(sno
DESC,tno
ASC,cno
ASC,shijian
DESC);
--用户登录的存储过程
tname
教师一
男
2012112601
1310000001
教师二
2012112602
1310000002
教师三
女
2012112603
1310000003
教师四
2012112604
1310000004
教师五
2012112605
1310000005
create
or
replace
procedure
denglu(flag
out
number,username
varchar2,upwd
number)---登录
as
i
varchar2(20);
p
number;
begin
flag:
=0;
select
t.ename
into
from
scott.yonghu
t
where
t.ename=username;
if
is
null
then
=1;
t.eno
t.ename=username
and
t.eno=upwd;
upwd
flag
:
=
2;
----登录成功
else
1;
-----密码不正确
end
if;
0;
------用户不存在
commit;
exception
when
no_data_found
rollback;
end;
测试数据
teacher
教师表测试数据如下:
代码如下:
INSERT
INTO
teacher(tname,sex,tno,tphone)
VALUES(‘教师一’,’
男’,’
2012112601’,’1310000001’);
VALUES(‘教师二’,’
2012112602’,’1310000002’);
birthday
学生一
200901010121
计算机
151000001
1989-07-15
学生二
200901010148
网络工程
151000002
1990-04-09
学生三
200901010114
电子信息
151000003
1988-10-12
学生四
200901010141
自动化
151000004
1990-07-27
学生五
200901010125
数学
151000005
1990-08-24
学生六
200901010144
151000006
1988-08-25
VALUES(‘教师三’,’
女’,’
2012112603’,’1310000003’);
VALUES(‘教师四’,’
2012112604’,’1310000004’);
VALUES(‘教师五’,’
2012112605’,’1310000005’);
student
表测试数据如下:
student(sname,sex,sno,sdept,sphone,birthday)
VALUES(‘学生一’,’
200901010121’,’
计算机’,’151000001’,
to_data(’
1989-07-
15’,’yyyy-mm-dd’));
VALUES(‘学生二’,’
200901010148’,’
网络工程’,’151000001’,to_data(’
1990-04-
09’,’yyyy-mm-dd’));
VALUES(‘学生三’,’
200901010114’,’
电子信息’,’151000003’,
1988-10-
12’,’yyyy-mm-dd’));
VALUES(‘学生四’,’
200901010141’,’
自动化’,’151000004’,
1990-07-
27’,’yyyy-mm-dd’));
VALUES(‘学生五’,’
200901010144’,’
计算机’,’151000006’,
1988-08-
25’,
’yyyy-mm-dd’));
15’,
time
112601
2011-2012
第二学期
2011-2013
第一学期
112602
112603
112604
2012-2013
2010-2011
112605
KC