Oracle数据库实验报告.doc
《Oracle数据库实验报告.doc》由会员分享,可在线阅读,更多相关《Oracle数据库实验报告.doc(70页珍藏版)》请在咨信网上搜索。
______________________________________________________________________________________________________________ 《Oracle数据库原理》考核 学号:2014XXXXXX 《Oracle数据库原理》实验报告 姓名 XXXX 院系 计算机与信息技术学院 专业 计算机科学与技术 教师 XXX 2016年10月实验一:SQL语言 实验目的 1. 掌握SQL*PLUS、SQL Developer或PL/SQL Developer的使用; 2. 理解并掌握SQL语言; 3. 理解并掌握oracle的特殊对象和高级SQL命令; 实验时间 6学时 实验步骤 (这一部分务必认真填写,注意事项:1. 完成实验要求的工作,需列出执行命令和执行结果;2. 对执行结果的详细分析和解释;3. 错误以及错误原因;4. 文档格式清晰。) 1. 定义表student,要求具有列:学号(类型为number,主键)、姓名(类型为varchar2,长度为50个字符)、性别(类型为varchar2,长度为10个字符)、家庭住址(类型为varchar2,长度为500个字符); 2.在建立的student表中插入自己的学号、姓名、性别和家庭住址,并提交; 3.向student表中加入新列:电话(类型为number); 4.向student表插入学号为自己学号、姓名、性别、家庭住址和电话号码的新行; 5.显示目前表student中的所有行(需要使用4.4节的select语句); 6.向表student中添加一行:123456789、张三、男、山西太原、13100000000; 7.从student表中删除学号为123456789的行; 8.再次向表student中添加信息:123456789、张三、男、山西太原、13100000000; 9.再次向表student中添加信息:123456789、张三、男、山西太原、13100000000,查看能否成功,如果不成功,请解释原因; 不成功,违反唯一约束条件。 10.更新学号为123456789的学生信息,将其电话号码改为13300000000; 11.删除表student。 实验内容二: 1. 定义表student,要求具有列:学号(类型为number,主键)、姓名(类型为varchar2,长度为50个字符)、职位(类型为varchar2,长度为50个字符)、性别(类型为varchar2,长度为10个字符)、数学(类型为number)、英语(类型为number)、语文(类型为number)、总成绩(类型为number); 2.在建立的student表中插入以下信息并提交: 3.在student表中找出总成绩大于等于200分的学生学号、姓名以及总成绩; 4.在student表中找出数学、英语和语文成绩都大于等于60且总成绩大于等于200分的学生学号、姓名、数学成绩、英语成绩、语文成绩和总成绩; 5.找出student表中所有李姓和刘姓学生的姓名、学号和总成绩; 6.找出student表中数学成绩在[60,80]范围内的学生姓名、学号和数学成绩; 7.学生最终数学成绩定义为数学成绩开根号乘10,显示所有学生学号、姓名、数学成绩和最终数学成绩(提示:参考4.6.3节的数值函数); 8.计算student表中数学、英语和语文成绩的均值和方差; 9.计算不同职位学生数学成绩的均值和方差(提示:参考4.4.5节的聚集计算和4.4.6节的分组查询); 10.计算不同性别学生数学成绩的均值和方差(提示:参考4.4.5节的聚集计算和4.4.6节的分组查询)。 实验内容三 参考教材4.4.7~4.4.9,完成以下实验操作(可以使用SQL*PLUS、SQL Developer或PL/SQL Developer完成),并将实验步骤(含过程截图)记录到实验报告中。 1. 找出student表中满足以下条件的学生学号和姓名:数学成绩、英语成绩和语文成绩均大于student表中的某一学生的数学成绩、英语成绩和语文成绩; 2.新建address表,要求具有列:学号(类型为number,主键)、姓名(类型为varchar2,长度为50个字符)、籍贯(类型为varchar2,长度为200个字符); 3.将student表中所有学生的学号和姓名添加到address表中; 4.为address表中的学生添加籍贯信息如下: 5.根据表student和address,查询所有山西学生的学号、姓名和总成绩; 6.根据表student和address,查询所有山西和陕西学生的学号、姓名和总成绩(要求使用集合查询); 7.查询student表中总成绩大于平均总成绩的学生学号、姓名和总成绩。 实验内容四 参考教材4.5,完成以下实验操作(可以使用SQL*PLUS、SQL Developer或PL/SQL Developer完成),并将实验步骤(含过程截图)记录到实验报告中。 1. 使用SQL语句计算18*1.05的值; 2.新建表name,要求具有列:学号、姓名和性别,列类型与student表中相应列的类型一致; 3.新建表score,要求具有列:学号、姓名、数学、英语、语文和总成绩,列类型与student表中相应列的类型一致; 4.使用insert all语句将student表的信息分解到name表和score表中; 5.新建表student_shanxi和student_henan,表中列信息与student表的列信息一致; 6.结合student表和address表,使用insert first语句将student表中籍贯为山西的学生信息插入到表student_shanxi中,籍贯为河南的学生信息插入到表student_henan中; 7.新建表student_math,要求具有列:学号(类型为number,主键)、姓名(类型为varchar2,长度为50个字符)、数学(类型为varchar2,长度为10个字符); 8.将表student中籍贯为山西的学生学号、姓名和数学成绩插入到表student_math,要求数学成绩使用五档制,即分数在[90,100]范围内的记为A,在[80,90)内的记为B,在[70,80)内的记为C,在[60,70)内的记为D,60分以下的记为E(提示:可以使用case when语句,参考4.6.6); 9.使用merge into语句将student表中没有插入到student_math表中的信息插入到student_math表中。 实验内容五 层次查询 1. 显示student表中总成绩排名前10的学生学号和姓名(提示:使用rownum伪列); 2.新建表sc_district,要求具有列:id(类型为number),parent_id(类型为number),name(类型为varchar2,长度为255字符) 3.向表sc_district插入以下信息: _ 4.执行以下SQL语句: 解释上述SQL语句和执行结果(提示:参考4.7.2); 5.执行以下SQL语句: 解释上述SQL语句和执行结果(提示:参考4.7.2); 6.执行以下SQL语句: 解释上述SQL语句和执行结果(提示:参考4.7.2); 7.执行以下SQL语句: 解释上述SQL语句和执行结果(提示:参考4.7.2,并通过网络查找并了解 sys_connect_by_path函数的含义); 8.执行以下SQL语句: 解释上述SQL语句和执行结果(提示:参考4.7.2,并通过网络查找并了解sys_connect_by_path函数的含义); 9.执行以下SQL语句: 解释上述SQL语句和执行结果(提示:参考4.7.2,并通过网络查找并了解sys_connect_by_path函数的含义); 精品资料 实验二 Oracle数据类型 实验目的 1. 掌握Oracle中的数据类型 2. 了解Oracle大对象类型的概念、特点和使用方法 实验时间 2学时 实验步骤 1. 执行以下SQL语句: 解释上述SQL语句的执行结果; 2. 执行以下SQL语句: 解释上述SQL语句的执行结果; 3. 执行以下SQL语句: 解释上述SQL语句的执行结果; 4. 执行以下SQL语句: 解释上述SQL语句的执行结果; 5. 设计数据表验证以下结果: 6. 执行以下SQL语句: 解释上述SQL语句的执行结果; 7. 执行以下SQL语句: 解释上述SQL语句的执行结果; 8. 执行以下SQL语句: 解释上述SQL语句的执行结果; 9. 执行以下SQL语句: 解释上述SQL语句的执行结果(注意修改语句中的日期,以便于实验时的日期相匹配); 10. 执行以下SQL语句: 解释上述SQL语句的执行结果(注意修改语句中的日期,以便于实验时的日期相匹配); 11. 执行以下SQL语句: 解释上述SQL语句的执行结果; 12. 执行以下SQL语句: 解释上述SQL语句的执行结果; 13. 执行以下SQL语句: 解释上述SQL语句的执行结果; 14. 执行以下SQL语句: 解释上述SQL语句的执行结果(注意修改语句中的日期,以便于实验时的日期相匹配); select * from t_date where col=to_date('2016-11-25','yyyy-mm-dd'); select * from t_date where trunc(col)=to_date('2016-11-25','yyyy-mm-dd'); 15. 执行以下SQL语句: 解释上述SQL语句的执行结果; 16. 执行以下SQL语句: 解释上述SQL语句的执行结果; 17. 执行以下SQL语句: 解释上述SQL语句的执行结果; 18. 执行以下SQL语句: 解释上述SQL语句的执行结果; 19. 执行以下SQL语句: 解释上述SQL语句的执行结果; 20. 新建表t_lob,要求具有列:bcol(类型为BLOB)、ccol(类型为CLOB)、fcol(类型为BFILE); 21. 在t_lob中插入一行,要求在bcol中加入一个图片、在ccol中加入两行文本、在fcol中加入一个文件; 提示:添加BFILE文件可能需要新建目录项以支持非默认目录: 实验三 Oracle中的数据库对象管理 实验目的 1. 了解表空间; 2. 掌握Oracle中的数据表类型,包括堆表、索引组织表、外部表、临时表、嵌套表和对象表; 3. 掌握Oracle中的视图类型,包括关系视图和物化视图; 4. 掌握Oracle中的索引类型,包括B*索引、反转键索引、位图索引和函数索引; 5. 掌握Oracle中的序列 实验时间 4学时 实验步骤 实验内容1:表空间和表 1. 创建表空间ts,要求: a) 使用两个数据文件,大小均为1000M,均可以自动扩展,每次扩展100M,最大不超过2000M; b) 默认使用日志记录; c) 使用自动段管理和本地区管理,其中区大小自动分配; 显示创建表空间ts的SQL语句,并解释该语句; 2. 创建一个索引组织表it,要求: a) 具有列:学号(类型为number,主键)、姓名(类型为varchar2,长度为50个字符)、附加数据(类型为varchar2,长度为4000个字节); b) 百分比阈值设为45; c) 包含列:姓名; 显示创建该索引组织表的SQL语句,并解释该语句; 3. 创建两个csv文件,内容为: 然后创建一个外部表EXTERNAL_TABLE,要求: a) 具有列:编号(类型为number)、国家(类型为varchar2); b) 为上述两个文件所在的目录建立目录类型; c) 类型为ORACLE_LOADER; d) 访问参数为:FIELDS TERMINATED BY ','optionally enclosed BY '"'; e) 文件为上述两个文件; 显示创建该索引组织表的SQL语句,并解释该语句; 4. 修改文件1.csv或2.csv,查看外部表EXTERNAL_TABLE中的数据是否相应更改; 5. 创建类型person和employee: 执行以下SQL语句,并显示执行结果: 6. 执行以下SQL语句: 执行并解释以下SQL语句: 然后执行并解释以下SQL语句: 实验内容2:视图 1. 参考教材6.1.3,创建关系视图,要求满足: a) SQL查询为:SELECT s.学号,s.姓名,s.性别,a.籍贯,s.总成绩FROM student s, address where s.学号=a.学号; b) 创建时强制执行; c) 查询限制选择WITH CHECK OPTION 显示创建该关系视图的SQL语句,并解释该语句; 2. 参考教材6.3.1,创建实体化视图,要求满足: a) SQL查询为:SELECT s.学号,s.姓名,s.性别,a.籍贯,s.总成绩FROM student s, address where s.学号=a.学号; b) 需要时完全刷新; c) 立即生成视图 显示创建该实体化视图的SQL语句,并解释该语句; 实验内容3:索引、序列、同义词和数据字典 1. 参考教材6.4,定义表student_i,要求: a) 具有列:学号(类型为number)、姓名(类型为varchar2,长度为50个字符)、性别(类型为varchar2,长度为10个字符)、籍贯(类型为varchar2,长度为500个字符); b) 将学号指定为主键; c) 为性别创建位图索引; 将student和address表中相应的信息填入student_i; 2. 参考教材6.7,定义序列seq,要求: a) 初始化值为1; b) 步长值为1; c) 最大值设为NOMAXVALUE; d) 最小值设为1; e) 序列不循环; f) 无需缓冲。 显示并解释创建序列seq的SQL语句。接下来删除表student_i中的所有行,并执行以下SQL: insert into student_i select seq.nextval, s.姓名,s.性别,a.籍贯 from student s, address a where s.学号=a.学号 显示执行结果,并解释上述SQL语句的含义; 3. 参考教材6.8,为student表和address表分别创建同义词s和a,然后执行SQL语句: insert into student_i select seq.nextval, s.姓名,s.性别,a.籍贯 from s, a where s.学号=a.学号 4. 参考教材6.9,执行以下SQL语句: select * from dict where instr(comments,’index’)>=0 显示执行结果,并解释上述SQL语句的含义(提示:dict为dictionary的同义词,dictionary视图中存放了全部数据字典表的名称和解释); 5. 参考教材6.9,执行以下SQL语句: select * from dict_columns where table_name=’USER_INDEXES’ 显示执行结果,并解释上述SQL语句的含义(提示:dict_columns视图中存放了全部数据字典表里字段名称和解释) 实验四 PL/SQL 实验目的 1. 掌握PL/SQL代码组织方式与运行过程; 2. 掌握PL/SQL程序控制结构 实验时间 4学时 实验步骤 1. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果 2. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 3. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 4. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 5. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 6. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 7. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 8. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 9. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 10. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 11. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 12. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 13. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 14. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 15. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果;1-20 16. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; Declare Type t_stus is varray(5) of address%rowtype; stus t_stus:=t_stus(null,null,null,null,null); Begin for i in 10..15 loop select * into stus(i-9) from address where 学号=i; dbms_output.put_line('学号:'||stus(i-9).学号||chr(13)|| '姓名:'||stus(i-9).姓名||chr(13)|| '籍贯:'||stus(i-9).籍贯); End loop; End; 17. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; Declare Type t_stus is varray(5) of address%rowtype; Stus t_stus:=t_stus() ; Begin Stus.extend(5); For i in 10..15 loop Select * into stus(i-9) from address where 学号=i; dbms_output.put_line('学号:'||stus(i-9).学号||chr(13)|| '姓名:'||stus(i-9).姓名||chr(13)|| '籍贯:'||stus(i-9).籍贯); End loop; End; 18. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 19. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 20. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 21. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; 22. 执行以下PL/SQL代码: 解释以上代码,并显示执行结果; Welcome To Download !!! 欢迎您的下载,资料仅供参考!- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 实验 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文