




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩大型数据库技术实验报告实验课程:大型数据库技术(Oracle)专业:计算机与信息工程学院班级:姓名:学号:同组人:无实验日期:2014/5/28实验项目实验九索引、视图、序列和同义词实验类型设计性实验目的要求n 创建索引n 使用索引n 理解什么是视图、序列和同义词n 视图、序列和同义词的设计n 创建视图、序列和同义词n 插入值时在表中使用序列(实验内容及步骤)【实验步骤】9.0 实验准备工作若实验4中的基本表和基础测试数据加入工作沿未完成,请参照以下几步予以完成:(1)创建基本表:(2)加入测试数据:参照上图,在Customer表中插入如下的两条记录:9.1 索引(INDEXES)的创建与删除1索引的创建:索引有助于更快地进入表中的列。索引还可以避免输入到列中的值产生重复现象。语法如下:CREATE INDEX indexnameON tablename(columnname)实验9-1 创建一个名为 idx 的、关于City字段的、Customer表的索引。请给出如下所示的语句:练习9-1在Orders表中的Order_date列上创建一个名为 idx 索引,观察会发生什么情况。可以为多个列创建索引。 这样的索引称为“Composite Indexes”(复合索引)。 实验9-2 在Customer表中的 City 列和 Company 列上创建一个名为“comp”的索引,语句如下所示:2索引的删除:给出下列语句可删除索引。DROP INDEX indexname实验9-3 删除创建的索引“idx”,请给出如下的语句:3基于函数的索引:实验9-4 基于函数的索引:执行下列语句,创建一个基于函数的索引,并删除之。4索引相关数据字典:实验9-5 使用索引相关数据字典:(1) 对employees表创建索引于last_name字段:(2) 查询索引信息:给出查询的结果:(3) 监视索引:a.打开索引监视状态: alter index emp_last_name_idx monitoring usage;b. 监视索引emp_last_name_idx: analyze index emp_last_name_idx validate structure;Select br_rows,br_blks,lf_rows,del_lf_rowsFrom index_statsWhere name= emp_last_name_idx;给出运行结果:9.2 完成教材P282实验指导1234569.3实验准备工作若实验4中的基本表和基础测试数据加入工作沿未完成,请参照以下几步予以完成,若已完成实验4中相关练习,并且数据表没有删除,则请直接进入11.1实验。(1)创建基本表:(2)加入测试数据:参照上图,在Customer表中插入如下的两条记录:9.4 视图视图是一个虚拟表,其内容是借助于查询从表中获取的。在这些表中所作的更改自动反映在视图中。语法如下:CREATE VIEW viewname ASSELECT ;注意:ORDER BY 不能与视图一起使用。实验9-6 建立“上海”客户的视图,并取名“Customer_sh”。上面的查询创建一个名为“Customer_sh”的视图。创建视图之后,您可像查看任何表一样查看该视图。请给出如下所示的语句:实验9-7 建立一个名为Order_Sh的包含所有上海客户订单信息的视图,要求在该视图中包括各客户的公司名称、订单代号和订购日期等属性列。 实验9-8 删除名为 Customer_sh的视图。练习11-1 建立一个名为Avg_price的视图,其中包括产品的类别代号及平均价格两项。(相关表请参照实验4)9.5 序列序列用来生成可用作主键的唯一整数。语法如下:CREATE SEQUENCE sequencenameINCREMENT BY START WITH ;n sequencename 是创建的序列的名称;n 是指定的递增数,默认值是 1;n 是序列的开始数。实验9-9 创建名从3开始、步长为1、名为“seqno”的序列。上面的查询创建名为“seqno”的序列,我们也可以在创建序列之后插入值。格式如下:INSERT INTO tablename(sequence column number, columnnames)VALUES (sequence name.NEXTVAL, values);n Sequence column number 是您生成序列编号的列名称n Column names 是表的其他列。实验9-10 假定数据库中有一个名为new_ptype的表(若无该表,请建立之),其结构和数据如下图所示:请给出如下所示的语句:说明:上面的INSERT语句在new_ptype表中插入了一个Tno为3的记录,因为序列SEQNO是从3 开始的。实验9-11 给出如下所示的语句可删除创建的序列。9.6同义词同义词是 Oracle 对象的别名。此对象可以是表、视图、程序、函数或另一个同义词。同义词不是实际对象,而是对对象的参考。同义词非常有用,这是因为它们隐藏参考的对象的身份。在重命名对象或修改对象的情况下,这十分有用,因为这样就只需要重新定义同义词。这有助于缩短在项目中所花费的重新编译和修改时间。创建同义词的语法如下:CREATE SYNONYM synonymnameFOR tablename实验9-12 创建一个名为“new”(新)的同义词,该同义词参考Customer表。请给出如下所示的语句:上面的查询中创建的同义词可通过给出下列语句进行查看。SELECT * from new;要删除上面创建的同义词,请给出如下语句。DROP SYNONYM new;作业与思考练习题1、完成以下练习,给出相应的代码:1) 在 emp 表的 empno 字段上创建一个索引。 检查是否可以创建。2) 在 emp 表的 sal 上创建一个索引。3) 删除所创建的索引。2完成教材P295实验指导练习123411-2123453. 完成以下练习:1) 创建一个视图,包括所有的雇员信息,但是隐藏薪水和佣金(津贴)create view vEmp asselect EMPNO,ENAME,JOB,MGR,HIREDATE,DEPTNO from emp2) 创建一个视图,包括部门名和各部门的平均薪水create view v72 asselect dname,avg(sal) avg_sal from dept,emp where emp.deptno=dept.deptno group by dname3) 锁住empno为7369的雇员,将其名字改为Clinton。更新这一行后,另行开启一个自己用户的会话,也将empno=7369的雇员deptno改为10(部门变动),观察该窗口的反应,等待片刻后,在原窗口使用commit进行提交。观察两个窗口的结果并进行分析。加锁:select * from emp where empno=7369 for update 更新:update emp set ename=clinto where empno=7369在新窗口中输入update emp set deptno = 10 where empno=7369无反应当原窗口使用commit进行提交后,新窗口才有反应。但数据没更新过来。4) 创建一个视图,显示部门10中的每一个雇员的姓名、部门号和总收入(sal+comm)、不要通过视图修改部门create view v73 asselect ENAME,DEPTNO,SAL+NVL(COMM,0)sumofdept from emp where DEPTNO=10with read only5) 创建一个视图,显示各部门名和各个部门所有雇员收入的总和create view v74 as select dname,sum(sal+nvl(comm,0) all_sal from emp,dept where emp.deptno=dept.deptno group by dname6) 创建一个序列deptid_seq,产生部门ID(Dept表中),创建另一个序列empid_seq,产生雇员ID(emp表中)。使用deptid_seq向dept表中新添加一个部门。现在,将自己作为一个新雇员添加进emp表中,其部门是刚才新添加的empid_seq。生成序列deptid_seq 并产生部门IDcreate sequence deptid_seqincrement by 10start with 40生成序列empid_seq 并产生雇员IDcreate sequence empid_seqincrement by 1start with 1插入一行部门数据insert into emp values(empid_seq.nextval, 何知才 ,manager, 7839, 19-11月 -85,5000,1000, deptid_seq.nextval)4完成以下练习:1) 创建一个包含 1982 年 3 月 31 日之后入职的所有雇员的视图。2) 创建一个包含佣金高于其薪金的雇员的视图。3) 创建一个包含所有雇员的雇员编号、雇员名称、部门名称和薪金的视图。4) 创建一个包含所有无权收取佣金的雇员的视图。5) 创建一个包含各种工作的薪金总和的视图。6) 尝试在创建的第三个视图中插入和更新值。注意:某些插入和更新可能不起作用,因为该视图是以两个表为依据的。为消除此缺点,我们将会在 PL/SQL 课题中看到“INSTEAD OF TRIGGER”。7) 创建一个可用来在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国厨房空调产品认知度提升与市场教育方案
- 2025-2030中国钢结构公共艺术建筑设计与文化表达
- 2026届天津市宝坻区第二中学物理八年级第一学期期末学业质量监测模拟试题含解析
- 2026届安徽省宿州第九中学物理八上期末监测模拟试题含解析
- 嘉兴市重点中学2026届物理八年级第一学期期末调研模拟试题含解析
- 北京市延庆县2026届物理八上期末综合测试试题含解析
- 安徽界首地区2026届物理八年级第一学期期末复习检测试题含解析
- 山东省济南章丘区五校联考2026届八年级物理第一学期期末达标测试试题含解析
- 2026届成都市青羊区物理八上期末复习检测试题含解析
- 物流无人机在快递行业末端配送中的应用场景分析报告
- 纪念抗战胜利80周年1
- 物业客服管理知识培训课件
- 2026届广东省广州市高三上学期8月调研考试语文试题(含答案)
- 2025海南省老干部服务管理中心招聘事业编制人员6人(第1号)考试备考题库及答案解析
- 江苏省南通市如皋市2025-2026学年高三上学期开学考试数学试卷
- 居民体重管理核心知识课件
- 2025-2026学年湘教版(2024)初中数学八年级上册教学计划及进度表
- 2025年江西省公安机关人民警察特殊职位招录考试(网络安全)历年参考题库含答案详解(5卷)
- 2025至2030中国公安行业发展趋势分析与未来投资战略咨询研究报告
- 口腔医疗风险管理实施方案
- 2025互联网营销师三级理论考核试题及答案
评论
0/150
提交评论