资源描述:
《201258014009杨玉玲实验六》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、重庆文理学院软件工程学院实验报告册专业:软件工程班级:软件工程1班______________学号:201258014009__________姓名:杨玉玲__________________课程名称:oracle数据库指导教师:李瑞2014年12月08日实验序号6实验名称创建视图,索引,事务,数据字典实验地点SC303实验日期2014年12月08日实验内容1.在hr方案中,创建视图Managers_1,该视图用于显示出所有部门经理的信息。2.创建视图Managers_2,该视图显示出所有部门经理的信息,其中部门显示的不是部门编码,而是
2、部门名称。提示:要从employees表和departments表中联合查询,连接条件是两个表中的department_id字段相同。3.修改视图Managers_2中的id=121记录中的工资=10000。4.删除视图Managers_1;5.在emploues表的emplouee_id列上建立索引edu_emp_lx,查看index_stats表中的pct_used列的值,删除索引edu_emp_lx。6.转账。创建表account(nonumber,banlancenumber(7,2),插入两组数据(1,1500),(2,300
3、),如果账户1的banlance多于500元,则从账户1的banlance中减少300元,同时加到账户2的banlance上,但是还要确保转账后的账户1的banlance多于转账后的账户2的banlance。7.进入hr方案,查看user_tables,all_tables,all_objects,查看会话信息,查看db_recovery_file_dest中的参数值。8.查看dba_views中的信息,查看dba_objects中数据对象的个数。实验过程及步骤1.在hr方案中,创建视图Managers_1,该视图用于显示出所有部门经理
4、的信息。createviewManagers_1asselect*fromemployeeswhereJOB_IDin(selectJOB_IDfromjobswhereJOB_TITLElike'%Manager%');2.创建视图Managers_2,该视图显示出所有部门经理的信息,其中部门显示的不是部门编码,而是部门名称。提示:要从employees表和departments表中联合查询,连接条件是两个表中的department_id字段相同。createviewManagers_2asselecte.employee_id,e.
5、first_name,e.last_name,e.email,e.phone_number,e.hire_date,e.job_id,e.salary,e.commission_pct,e.manager_id,d.department_namefromemployeese,departmentsdwheree.JOB_IDin(selectJOB_IDfromjobswhereJOB_TITLElike'%Manager%')ande.department_id=d.department_id;select*fromManagers_
6、2;3.修改视图Managers_2中的id=121记录中的工资=10000。updateManagers_2setSALARY=10000whereEMPLOYEE_ID=121;select*fromManagers_2whereEMPLOYEE_ID=121;4.删除视图Managers_1。dropviewManagers_1;5.在emploues表的emplouee_id列上建立索引edu_emp_lx,查看index_stats表中的pct_used列的值,删除索引edu_emp_lx。问题:解决方法:查看此列已存在的索引
7、:select*fromuser_ind_columnsuwhereu.TABLE_NAME='EMPLOYEES'andu.COLUMN_NAME='EMPLOYEE_ID';创建一个与employees相同的表:在myEmployees表的emplouee_id列上建立索引edu_emp_lxcreateindexedu_emp_lxonmyEmployees(EMPLOYEE_ID);查看index_stats表中的pct_used列的值:analyzeindexedu_emp_lxvalidatestructure;select
8、PCT_USEDfromindex_statswhereNAME='EDU_EMP_LX';删除索引edu_emp_lx6.转账。创建表account(nonumber,banlancenumber(7,2