Oracle实验报告Word文档格式.docx

上传人:b****4 文档编号:16814001 上传时间:2022-11-26 格式:DOCX 页数:13 大小:124.33KB
下载 相关 举报
Oracle实验报告Word文档格式.docx_第1页
第1页 / 共13页
Oracle实验报告Word文档格式.docx_第2页
第2页 / 共13页
Oracle实验报告Word文档格式.docx_第3页
第3页 / 共13页
Oracle实验报告Word文档格式.docx_第4页
第4页 / 共13页
Oracle实验报告Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Oracle实验报告Word文档格式.docx

《Oracle实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle实验报告Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

Oracle实验报告Word文档格式.docx

返回某门课学生的平均成绩(该课名称由参数传递)

11.设计过程显示某位教师所教的学生(该教师名通过参数进行传递)。

一、实验目的及要求

熟悉ORACLE的环境

二、所用仪器、设备

PC机和oracle编译软件

三、实验方法与步骤

用户管理:

创建用户和用户授权:

createuserliyun1identifiedbyliyun1;

grantsysdbatoliyun1;

grantcreatesessiontoliyun1;

创建表:

1.创建教师表:

在教师表中,教师的tno号是唯一确定一位教师的,因此在表中设置为主键。

教师表中包含教师的一些基本信息,教师号,教师名字,教师年龄,教师性别。

createtableteacher

tnovarchar2(20)primarykey,

tnamevarchar2(20)notnull,

tagevarchar2(10),

tsexvarchar2(5)check(tsexin('

男'

'

女'

))

);

插入教师数据:

insertintoteachervalues('

95001'

海丰'

35'

95002'

巩燕'

32'

95003'

王涛'

41'

95004'

秦始皇'

'

95005'

冯艳艳'

40'

95006'

胖大海'

39'

95007'

王晓楠'

48'

95008'

李大钊'

51'

95009'

张柏芝'

95010'

林志玲'

37'

2.创建学生表

学生表中的学生号也是唯一选定一位学生的,因此也将学生号设置成为主键,该学生表中有学生号,学生姓名,学生年龄,学生性别属性。

createtablestudent(

snovarchar(20)primarykey,

snamevarchar(20)notnull,

sagevarchar(10),

ssexvarchar(5)check(ssexin('

))

插入学生数据:

insertintostudentvalues('

10001'

李小龙'

22'

10002'

曾志伟'

23'

10003'

科比'

21'

10004'

李宁'

10005'

司马光'

24'

10006'

钱多'

20'

10007'

黄飞鸿'

10008'

神马'

10009'

送高祖'

10010'

周杰伦'

25'

10011'

小小'

10012'

娜迦'

3.创建课程表:

课程表中课程号唯一确定课程,设置为主键,课程表中有课程的号码,课程的名字,课程的上课时间和上课地点。

createtablecourse(

cnovarchar(20)primarykey,

cnamevarchar(20)notnull,

ctimevarchar(10),

cplacevarchar(50)

插入课程数据:

insertintocoursevalues('

50001'

数据库管理'

教3_301'

50002'

面向对象设计'

教3_211'

50003'

人工智能'

教4_311'

50004'

计算机英语'

44'

教4_313'

50005'

软件工程'

13'

教3_305'

50006'

跆拳道'

11'

体育馆'

50007'

古希腊文化'

54'

教3_321'

50008'

中国历史'

52'

教3_101'

50009'

舞蹈'

34'

音乐管'

50010'

音乐'

31'

音乐馆'

50011'

c++'

教3_205'

50012'

sql语言'

14'

教3_102'

50013'

网页设计'

教3_106'

4.创建关系表:

在关系表中设置的是以上三个表的关系,在关系表中学生号,教师号,课程号,都设置为外键,以用来连接几个表。

同时关系表中还有学生的课程成绩。

createtablesele(

snovarchar(20),

cnovarchar(20),

tnovarchar2(20),

gradeint,

foreignkey(sno)referencesstudent(sno),

foreignkey(cno)referencescourse(cno),

foreignkey(tno)referencesteacher(tno)

插入关系数据:

insertintoselevalues('

80'

58'

89'

100'

95'

83'

76'

66'

57'

59'

75'

72'

91'

88'

93'

92'

77'

82'

78'

对库进行一些关系查询:

1.用SQL语句查询至少教两门课的教师信息;

查询至少教两门课的教师信息:

select*fromteacher

wheretnoin(

selecttnofromsele

groupbytno

havingcount(distinct(cno))>

=2);

查询某个学生信息:

selectsname,sage,sno,&

&

temp

fromstudentwheresno=&

temp;

2.显示所有教师的信息:

Setserveroutputon

Declare

cursormy_cursoris

select*fromteacher;

Begin

forcurrent_cursorinmy_cursor

loop

dbms_output.put_line('

教师号:

||current_cursor.tno);

教师姓名:

||current_cursor.tname);

教师年龄:

||current_cursor.tage);

教师性别:

||current_cursor.tsex);

endloop;

End;

/

3.过程实现如下功能:

createorreplaceproceduresearch_avg(in_conino%type)

as

out_gradeint;

selectavg(grade)intoout_grade

fromsele,course

whereo=oandcname=in_con;

dbms_output.put_line('

学生平均成绩:

||out_grade);

Endsearch_avg;

调用过程:

executesearch_avg('

4.设计过程显示某位教师所教的学生(该教师名通过参数进行传递)。

createorreplaceproceduremyserach(preinnumber)

selectsno,sname,sage,ssexfromstudentwheresnoin(selectsnofromselewheretno=pre);

学生号:

||current_cursor.sno);

学生姓名:

||current_cursor.sname);

学生年龄:

||current_cursor.sage);

学生性别:

||current_cursor.ssex);

Endmyserach;

executemyserach('

删除过程:

dropproceduremyserach;

四、实验结果与数据处理

用户创建和授权:

教师表:

学生表:

课程表(一部分):

关系表:

查询至少教两门课的教师信息

显示所有教师信息(一部分):

用临时变量查询某个学生信息:

返回某门课学生的平均成绩:

显示某位教师所教的学生:

五、讨论与结论.

通过这次对学生选课数据库的设计,以及对数据库的安装和配置,我对oracle有了更深的理解。

对于oracle的配置也有了了解。

学习到了如何在数据库中管理表对象,管理表中的数据以及根据系统业务规则处理表中的数据。

在以后的学习中应当更加努力。

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

当前位置:首页 > PPT模板 > 节日庆典

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

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