《《数据库系统》实验大纲 ver5》由会员分享,可在线阅读,更多相关《《数据库系统》实验大纲 ver5(35页珍藏版)》请在金锄头文库上搜索。
1、数据库系统数据库系统实验指导书实验指导书 (本实验指导书尚未定稿,因此会经常改进,建议大家每次上本实验指导书尚未定稿,因此会经常改进,建议大家每次上 机前重新下载,由于尚未定稿,可能存在错误,机前重新下载,由于尚未定稿,可能存在错误,发现后请标注发现后请标注 颜色发给颜色发给 ,非常感谢,非常感谢)总体介绍总体介绍一、一、 实验学时数:实验学时数:9*29*2二、二、 实验环境实验环境数据库系统:oracle 11Oracle 控制台地址:https:/211.87.226.10:1158/emoracle 监听地址端口:211.87.226.10:1521oracle SERVICE_NAM
2、E: orclOracle 实例名:orclFtp 服务器地址:211.87.226.10,用户密码:db/dbsystem主用户/密码:userID/123 (ID 为本人学号,以下相同,例如 user201000300001)备用用户/密码:userbID/123 三、三、 课程的任务课程的任务数据库系统是计算机科学类各专业的专业基础课,通过本课程的实验,使学生将课堂讲解地内容通过实际操作,进一步了解其工作原理,加深、巩固课堂所学内容,主要实验的内容有表的建立/修改/删除/查询、主键的建立/修改/删除、视图的建立/删除、触发器的建立/删除、嵌入 SQL。四、四、 实验要求实验要求1、 准时
3、到达指定机房上机,不迟到早退。2、 每次上机尽量固定使用同一台机器。3、 独立完成实验作业。4、 本验大纲所有 ID 都要填写自己的的学号。5、 每一节实验内容完成后,提交实验并检查你的完成情况。五、五、 特别要求特别要求1、 要把实验当做实际开发工作一样对待,严格按设计要求执行,表名、列名、类型、长度、以及数据等严格按要求,不能够有省略或者简化。实际工作中对数据库的操作不仅仅是一门技术,更是一种技能,为什么是一种技能?你虽然会操作,别人一个小时完成的工作,你需要一天才能够完成,或者完成以后被发现和要求的不一致,还需要重新返工,而且有的时候操作失误可能带来无法挽回的损失。因此,本实验要求大家严
4、格按大纲要求正确输入表名、列名及数据。2、 学习计算机经常出现的现象就是, “一学就全会了,一做就全完成,一验收全错了(张冠李戴、缺斤少两) ,一指点全改了” 。所以,从开始就要严格要求自己,实际工作中,一点点也不能够有错误,从开始就养成一个严谨的好习惯。有时候前面错误会给后来工作带来很大的麻烦,例如:表名、列名错了,往往在发现错误的时候,数据已经输入很多,此时修改,需要先备份、再改表、再恢复数据。六、六、 实验案例实验案例本次课程实验中,使用教师上课及学生选课的案例来贯穿整个实验阶段。其中的实体包括:学生信息、教师信息、课程信息、院系信息,联系包括:学生选课信息、教师授课信息、学生属于一个院
5、系,教师在一个院系中工作。部分 E-R 图如下:院院系系学学生生教教师师课课程程属属于于属属于于选选课课授授课课七、七、 OracleOracle 相关知识简介相关知识简介1、 伪列:所谓伪列就是表中不存的列,可是像使用其他存在的列一样访问这些列。常用的伪列有 today、now、rownum、rowid、sysdate。2、 常用的几个函数:to_char()、to_date(20100101,yyyymmdd) 、求子串substr()。3、 Create table 表名 as select 语句将查询结果自动创建一个新表,当 select 查询语句存在表达式的,可以通过属性更名来指定列
6、名。例如:create table student_avg_score as select sno,sname,avg(score) avg_score from 来指定列名。4、 查询当前用户的所有表 select * from tab,查询所有人的所有表 select * from all_tables5、 Oracle 中没有 except 关键词,与其等价的是 minus 关键词。在使用 minus 时,select 语句不能够使用括号,例如 select * from student where minus select * from student ,错误写法是(select *
7、from student where ) minus (select * from student ) 。6、 表别名的定义不能够有 As,例如正确的写法 select * from student s,错误的写法是 select * from student as s。7、 查询表的列属性的命令 desc pub.student八、八、 数据库空间配额数据库空间配额1、 userID 用户可用空间 200m,userbID 用户可用空间 50m。2、 如果出现错误:“ORA-01536: 超出表空间 USERS 的空间限额” ,请删除已经提交并有成绩的相关作业的表或者数据。九、九、 提交实验
8、、查询成绩提交实验、查询成绩学生按照实验要求完成当天要求的作业后,首先执行 commit 提交所有操作(如果选中自动提交,相当于每条语句执行完成后自动执行 commit),然后通过执行 update dbtest set 实验号=1(1 代表实验一,2 代表实验二)及 commit 提交本周实验,后台系统的数据库实验平台系统会在 5 秒之内自动检查你的作业完成情况,并形成你的本次实验成绩,你可以随时查询你的作业完成情况,只需要通过执行 select * from dbscore。如果验证没有通过,你可以根据错误描述进行修改,再重复上面的提交。十、十、 评分标准评分标准1、 评分标准,实验按时完
9、成计全分,超时完成计 60%。2、 最后按总分数折算计入数据库系统考试成绩。十一、十一、测试数据测试数据由于学生不可能在实验期间插入大量的数据,因此实验课之前老师已经在数据库中建了一个公用用户 pub,在这个用户下建立了实验用表,并且插入了大量的实验数据,本实验主要内容就是根据这些表进行操作。这些表已经授权给所有用户可以进行查询,但是不能够修改里面的数据。表名类型数据行 数说明COURSE表140课程信息DEPARTMENT表7院系信息DEPARTMENT_31表20院系信息 1-实验三专用STUDENT表4000学生信息STUDENT_31表4000学生信息-实验三专用STUDENT_32表
10、3000学生信息-实验三专用STUDENT_41表4000学生信息-实验四专用STUDENT_COURSE表14000学生选课STUDENT_COURSE_42表14000学生选课-实验四专用STUDENT_TRIGGER表0学生信息-实验七专用TEACHER表200教师信息TEACHER_COURSE表40教师授课信息TEST8_INSERT视图嵌入 SQL 实验专用TEST8_SELECT视图嵌入 SQL 实验专用TEST8_UPDATE视图嵌入 SQL 实验专用实验一实验一 熟悉环境、建立熟悉环境、建立/删除用户、建立删除用户、建立/删除表、插删除表、插 入数据入数据(2 学时学时) 一
11、、一、 实验内容实验内容利用 oracle 管理平台登入本人主用户 userID,例如 user201000300001,在主用户下,创建如下 5 个表,合理确定每一个表的主键并建立主键,为表建立必要的索引,并准确输入表格中的 3 行数据。表名采用英文、列名采用中文,有 not null 的列代表不允许为空。1 教师信息(表名:teacher):教师编号 char 6 not null、教师姓名 varchar 10 not null、性别 char 2、年龄 int、院系名称 varchar 10。根据教师名称建立一个索引。2 学生信息(表名:student):学号 char 12 not
12、null、姓名 varchar 10 not null、性别 char 2、年龄 int、出生日期 date(oracle 的 date 类型是包含时间信息的,时间信息全部为零) 、院系名称 varchar 10、班级 varchar(10)。根据姓名建立一个索引。3 课程信息(表名 course):课程号 char 6 not null、课程名 varchar 10 not null、先行课程号 char 6、学分 numeric 2,1。根据课程名建立一个索引。教师编号教师姓名性别年龄院系名称100101100102100103张老师李老师马老师男女男444546计算机学院软件学院计算机学
13、院学号姓名性别年龄出生日期院系名称班级200800020101200800020102200800020103王欣李华赵岩女女男1994-2-21995-3-31996-4-4计算机学院软件学院软件学院2010200920094 学生选课信息(表名:student_course):学号 char 12 not null、课程号 char 6 not null、成绩 numeric 5,1、教师编号 char 6。5 教师授课信息(表名:teacher_course):教师编号 char 6 not null,课程号char 6 not null。二、二、 重点提醒重点提醒1 登入号为 user
14、ID,ID 为本人学号,例如 user201000300001,密码 123。2 Oracle 管理平台一次只能够执行一条语句,如果输入了多条,可以通过选中一条执行。3 执行非 select 前取消“只执行 SELECT” 。4 执行插入删除修改语句前选中“自动提交”,相当于每句话后自动执行了 commit。5 执行完一句话后,一定要看执行结果信息。6 输入日期类型数据:课程号课程名先行课程号学分300001300002300003数据结构数据库操作系统30000130000122.54学号课程号成绩教师编号2008000201012008000201012008000201013000013
15、0000230000391.592.693.7100101100102100103教师编号课程号100101100102100103300001300002300003date2001-2-2格式例如 insert into t1 values(date2012-02-02)或者to_date(20100101,yyyymmdd)函数例如:insert into t1 values(to_date(20120202,yyyymmdd)7 完成作业后,提交本次实验,如果有错误,修改以后重新提交实验。8 如果建表错误,可以通过 drop table tablename 删除对应表后重建。9 将执行
16、完成语句,拷贝到记事本中保存备用。三、三、 实验步骤实验步骤1 启动 oracle 管理平台,浏览器地址输入:https:/211.87.226.10:1158/em2 显示登入画面,使用本人账号/密码:userID/123(ID 为本人学号)登入系统。3 点击 SQL 工作表,系统打开 sql 工作表窗口,就可以执行 SQL 命令了。4 创建上面要求的 5 个表student,course,teacher,student_course,teacher_course,实际工作中建表不能够有一点偏差,因此从现在开始就养成严谨的工作习惯,要求学生严格按上面设计正确输入表名、列名、类型、长度。5 为 5 个表插入表格中要求的 3 行数据,每张表最少插入此 3 行数据,插入的数据可以多于 3 行。如果没有选中自动提交,插入语句执行完成后,只有通过执行 commit 完成提交,数据才会真的写入表中。 (如果上课还没有讲到插入语句,请参考