oracle课程设计实验.docx

上传人:b****3 文档编号:3144995 上传时间:2022-11-18 格式:DOCX 页数:16 大小:55.42KB
下载 相关 举报
oracle课程设计实验.docx_第1页
第1页 / 共16页
oracle课程设计实验.docx_第2页
第2页 / 共16页
oracle课程设计实验.docx_第3页
第3页 / 共16页
oracle课程设计实验.docx_第4页
第4页 / 共16页
oracle课程设计实验.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

oracle课程设计实验.docx

《oracle课程设计实验.docx》由会员分享,可在线阅读,更多相关《oracle课程设计实验.docx(16页珍藏版)》请在冰豆网上搜索。

oracle课程设计实验.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1