oracle实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

华北电力大学科技学院实验报告实验名称学生选课数据库的设计与管理课程名称Oracle11g数据库应用专业班级:网络08学生姓名:学号:成绩:指导教师:黄建才实验日期:2011-12-9华北电力大学科技学院实验报告第页共页一、实验目的及要求1、熟悉ORACLE的环境2、用SQLPLUS创建用户,并赋予其管理员权限。3、登陆创建的用户4、设计教师表、课程表、学生表,及其建立各个表之间的约束5、用数据定义语言建立三个表及其约束6、运用SQL,对上述三个表插入一定数量的记录(至少每个表要求插入10条记录);用SQL语句至少教两门课的教师信息的查询、至少选修了两门课的学生信息的查询、某个学生信息的查询、某个教师信息的查询、某门课程信息的查询、某个学生不及格的课程信息的查询。7、运用PL/SQL,查询教师的信息、学生的信息和课程的信息。8、将上面的所有的插入操作和查询操作按照不同的内容划分到不同的文件中,当到某个操作时,在SQLPLUS下运行该文件即可。9、设计函数或过程,统计学生的总成绩、平均成绩等内容。二、所用仪器、设备OracleOraHome81Agent服务,SQLPLUS运行环境,文本文档做脚本文件。三、实验方法与步骤按照要求将实验环境配置处理好,启动服务开始进行实验。四、实验代码实现及结果输出1、实验代码及输出:(1)创建用户语句(在脚本中):createtablespacestudentdatafile'd:\mydatafile.DBF'size20Mautoextendonnext5Mmaxsize100M;createuserxxidentifiedbyxxdefaulttablespacestudentquota100Monstudent;(2)为用户赋予权限grantcreatesession,dbatoxx;(3)表的结构设计及约束设计代码:Course表:createtablexx.course(Cnonumber(5)primarykey,Cnamevarchar2(20),Ccreditnumber(2));运行结果:华北电力大学科技学院实验报告第页共页Student表:createtablexx.student1(Snonumber(5),Snamevarchar2(8),Ssexchar(2),Sagenumber(3),Sdeptvarchar2(4),Cnonumber(5),constraintscforeignkey(Cno)referencescourse(Cno),Gradenumber(3));结果:Teacher表:createtablexx.teacher(Tnonumber(5)notnull,Tnamevarchar2(8),Tsexchar(2),Tagenumber(3),Cnonumber(5),constrainttcforeignkey(Cno)referencescourse(Cno));结果:华北电力大学科技学院实验报告第页共页(3)表中数据的插入代码Course表:insertintocoursevalues(1,'数据库',2);insertintocoursevalues(2,'高数',3);insertintocoursevalues(3,'信息系统',1);insertintocoursevalues(4,'操作系统',4);insertintocoursevalues(5,'数据结构',3);insertintocoursevalues(6,'计算机网络',2);insertintocoursevalues(7,'法语',2);insertintocoursevalues(8,'软件体系结构',3);insertintocoursevalues(9,'编程语言',4);insertintocoursevalues(10,'大学写作',1);运行结果:Student表:insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95001,'李勇','男',20,'CS',1,90);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95001,'李勇','男',20,'CS',2,90);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95001,'李勇','男',20,'CS',3,90);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95002,'李白','男',20,'CS',4,59);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95003,'刘琛','男',20,'CS',5,90);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95002,'李白','男',20,'CS',1,50);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95004,'王敏','女',19,'CS',6,92);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95005,'章立','男',21,'CS',1,90);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)华北电力大学科技学院实验报告第页共页values(95006,'杨国','男',20,'CS',9,80);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95006,'杨国','男',20,'CS',1,70);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95007,'杨晓','女',20,'CS',10,90);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95008,'赵瑜','女',23,'CS',10,50);insertintoxx.student1(Sno,Sname,Ssex,Sage,Sdept,Cno,Grade)values(95009,'陆游','男',22,'CS',8,100);运行结果:Teacher表:insertintoteachervalues(10001,'李刚','男',35,1);insertintoteachervalues(10001,'李刚','男',35,3);insertintoteachervalues(10001,'李刚','男',35,4);insertintoteachervalues(10002,'李大钊','男',30,2);insertintoteachervalues(10003,'毕淑敏','女',32,10);insertintoteachervalues(10004,'朱自清','男',54,5);insertintoteachervalues(10005,'鲁迅','男',35,6);insertintoteachervalues(10006,'高强','男',42,7);insertintoteachervalues(10007,'杨澜','女',29,8);insertintoteachervalues(10008,'姚雪曼','女',26,9);运行结果:华北电力大学科技学院实验报告第页共页用SQL语句进行查询的代码及运行结果:至少选修了两门课的学生信息的查询至少教两门课的教师信息的查询:某个学生信息的查询、某个教师信息的查询、某门课程信息的查询、运用PL/SQL,查询教师的信息、学生的信息和课程的信息。代码及运行结果:华北电力大学科技学院实验报告第页共页用游标完成某学生信息的查询:setserveroutputondeclare华北电力大学科技学院实验报告第页共页cursorstu_cursor(stu_snonumber)isselectSno,Sname,Ssex,Sage,Sdept,Cno,Gradefromstudent1whereSno=stu_sno;Typestu_typeisrecord(Snonumber(5),Snamevarchar2(8),Ssexchar(2),Sagenumber(3),Sdeptvarchar2(4),Cnonumber(5),Gradenumber(3));one_stustu_type;beginopenstu_cursor(95001);loopfetchstu_cursorintoone_stu;exitwhenstu_cursor%notfound;DBMS_OUTPUT.PUT_LINE('当前检索第'||stu_cursor%rowcount||'行'||'查询的学生学号为:'||one_stu.Sno||'查询的学生姓名为:'||one_stu.Sname||'查询的学生性别为:'||one_stu.Ssex||'查询的学生年龄为:'||one_stu.Sage||'查询的学生所在系为:'||one_stu.Sdept||'查询的学生所选课程为:'||one_stu.Cno||'查询的学生所选课程的得分为:'||one_stu.Grade);endloop;closestu_cursor;end;/运行结果:设计函数或过程,统计学生的总成绩、平均成绩等内容。华北电力大学科技学院实验报告第页共页用游标完成函数的设计及调用将上面的所有的插入操作和查询操作按照不同的内容划分到不同的文件中,当到某个操作时,在SQLPLUS下运行该文件即可。华北电力大学科技学院实验报告第页共页五、讨论与结论通过本次实验,我学会了使用Oracle的运行环境,熟练掌握了用SQL语言及PL\SQL语言。本次实验我很认真的完成。

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功