视图和索引操作课件讲义

上传人:沈*** 文档编号:240909184 上传时间:2024-05-17 格式:PPTX 页数:47 大小:1.92MB
返回 下载 相关 举报
视图和索引操作课件讲义_第1页
第1页 / 共47页
视图和索引操作课件讲义_第2页
第2页 / 共47页
视图和索引操作课件讲义_第3页
第3页 / 共47页
点击查看更多>>
资源描述
2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程第第6 6章章 视图和索引操作视图和索引操作主编:刘志成主编:刘志成2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程本章学习导航本章学习导航本章学习导航本章学习导航本章学习导航本章学习导航 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程本章学习要点本章学习要点本章学习要点本章学习要点(1)视图的基本知识。)视图的基本知识。(2)OEM创建、修改、查看和删除创建、修改、查看和删除视图视图。(3)PL/SQL创建、修改、查看和删除创建、修改、查看和删除视图视图。(4)使用视图。)使用视图。(5)索引的概述。)索引的概述。(6)OEM创建、修改、查看和删除创建、修改、查看和删除索引索引。(7)创建、修改和删除聚集。)创建、修改和删除聚集。建议课时:建议课时:4课时课时2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.1 6.1 视图概述视图概述 视图定义视图定义l视图(视图(View)是从一个或多个表(其他视图)中导出的表,其结构和)是从一个或多个表(其他视图)中导出的表,其结构和数据是建立在对表的查询基础之上的。所以视图不是真实存在的基础表,数据是建立在对表的查询基础之上的。所以视图不是真实存在的基础表,而是一张虚表。视图所对应的数据并不实际地以视图结构存储在数据库而是一张虚表。视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。中,而是存储在视图所引用的表中。l 视图一经定义便存储在数据库中,与其相对应的数据并没有像表一样视图一经定义便存储在数据库中,与其相对应的数据并没有像表一样在数据库中另外存储一份,通过视图看到的数据只是存放在基表中的数在数据库中另外存储一份,通过视图看到的数据只是存放在基表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一据。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)和删除。定的限制)和删除。l 当对视图中的数据进行修改时,相应的基表的数据也要发生变化,同当对视图中的数据进行修改时,相应的基表的数据也要发生变化,同时,如果基表的数据发生变化,则这种变化也可以自动地反映到视图中。时,如果基表的数据发生变化,则这种变化也可以自动地反映到视图中。2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.1 6.1 视图概述视图概述 视图特点视图特点(1)视点集中,减少对象大小)视点集中,减少对象大小视图让用户能够着重于他们所需要的特定数据或所负责的特定要求,如视图让用户能够着重于他们所需要的特定数据或所负责的特定要求,如用户可以选择特定行或特定列。用户可以选择特定行或特定列。(2)从异构源组织数据)从异构源组织数据可以在连接两个或多个表的复杂查询的基础上创建视图,这样可以将单可以在连接两个或多个表的复杂查询的基础上创建视图,这样可以将单个表显示给用户。个表显示给用户。(3)隐藏数据的复杂性,简化操作)隐藏数据的复杂性,简化操作视图向用户隐藏了数据库设计的复杂性,这样如果开发者改变数据库设视图向用户隐藏了数据库设计的复杂性,这样如果开发者改变数据库设计,不会影响到用户与数据库交互。另外,用户可将经常使用的连接查计,不会影响到用户与数据库交互。另外,用户可将经常使用的连接查询、嵌套查询或联合查询定义为视图。询、嵌套查询或联合查询定义为视图。(4)简化用户权限的管理)简化用户权限的管理可以将视图的权限授予用户,而不必将基表中某些列的权限授予用户,可以将视图的权限授予用户,而不必将基表中某些列的权限授予用户,这样就简化了用户权限的定义。这样就简化了用户权限的定义。2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.1 6.2.1 课堂案例课堂案例11使用使用OEMOEM管理视图管理视图 掌握Oracle中应用OEM创建视图、修改视图、查看视图和删除视图的方法和基本步骤。案例学习目标案例学习目标 视图的定义、OEM创建视图、OEM修改视图、OEM查看视图和OEM删除视图。案例知识要点案例知识要点 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.1 6.2.1 课堂案例课堂案例11使用使用OEMOEM管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字1使用使用OEM创建视图创建视图(1)进入)进入OEM后,依次选择后,依次选择“方案方案”、“视图视图”,进,进入入“视图视图”页面页面 (2)单击)单击“创建创建”按钮,进入按钮,进入“创建视图创建视图”页面页面 添加添加标标题题文字文字教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.1 6.2.1 课堂案例课堂案例11使用使用OEMOEM管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字2使用使用OEM修改视图修改视图(1)重命名视图)重命名视图重命名视图在重命名视图在OEM中不能直接完成,只能先删除原有的中不能直接完成,只能先删除原有的视图,再新建对应的视图。视图,再新建对应的视图。(2)修改视图定义)修改视图定义(a)在指定方案的)在指定方案的“视图视图”页面中,选择要编辑的视页面中,选择要编辑的视图,单击图,单击“编辑编辑”按钮,进入按钮,进入“编辑视图编辑视图”页面页面(b)在)在“查询文本查询文本”中可以完成视图对应的中可以完成视图对应的SQL语句语句的修改操作,修改完成后,单击的修改操作,修改完成后,单击“编译编译”按钮可以进行按钮可以进行编译编译(c)在完成视图编辑和编译后,单击)在完成视图编辑和编译后,单击“应用应用”按钮,按钮,完成对指定视图的修改操作。完成对指定视图的修改操作。添加添加标标题题文字文字教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.1 6.2.1 课堂案例课堂案例11使用使用OEMOEM管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字3使用使用OEM查看视图查看视图(1)在指定方案的)在指定方案的“视图视图”页面中,选择要编辑的视图,页面中,选择要编辑的视图,单击单击“查看查看”按钮,进入按钮,进入“查看视图查看视图”页面页面(2)在视图的)在视图的“查看查看”页面中,可以查看到视图的名称、页面中,可以查看到视图的名称、视图的方案、别名、视图状态和查询文本等视图的方案、别名、视图状态和查询文本等 添加添加标标题题文字文字教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.1 6.2.1 课堂案例课堂案例11使用使用OEMOEM管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字4使用使用OEM删除视图删除视图(1)在指定方案的)在指定方案的“视图视图”页面中,选择要编辑的视图,页面中,选择要编辑的视图,单击单击“删除删除”按钮,进入按钮,进入“确认删除确认删除”页面页面(2)单击)单击“是是”按钮,将删除指定的视图按钮,将删除指定的视图 添加添加标标题题文字文字教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图 掌握Oracle中应用PL/SQL创建视图、修改视图、查看视图和删除视图的基本语句和使用方法。案例学习目标案例学习目标 PL/SQL创建简单视图、PL/SQL创建只读视图、PL/SQL创建检查视图、PL/SQL创建连接视图、PL/SQL创建复杂视图、PL/SQL创建强制视图、PL/SQL修改视图、PL/SQL查看视图和PL/SQL删除视图。案例知识要点案例知识要点 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字1使用使用PL/SQL创建视图创建视图(1)创建简单视图。)创建简单视图。l【例例2-1】经常需要了解经常需要了解“热点热点”商品的商品号(商品的商品号(g_ID)、)、商品名称(商品名称(g_Name)、类别号()、类别号(t_ID)、商品价格)、商品价格(g_Price)、商品折扣()、商品折扣(g_Discount)和商品数量)和商品数量(g_Number)信息,可以创建一个)信息,可以创建一个“热点热点”商品的视图。商品的视图。CREATE OR REPLACE VIEW SCOTT.vw_HotGoodsASSELECT g_ID AS 商品号商品号,g_Name AS 商品名称商品名称,t_ID AS 类别号类别号,g_Price AS 价格价格,g_Discount AS 折扣折扣,g_Number AS 数量数量FROM SCOTT.GoodsWHERE g_Status=热点热点;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字(2)创建只读视图。)创建只读视图。在创建视图时,可以使用在创建视图时,可以使用WITH READ ONLY选项创建只读选项创建只读视图。视图。l【例例2-2】经常需要了解员工的编号(经常需要了解员工的编号(e_ID)、名称)、名称(e_Name)、家庭地址()、家庭地址(e_Address)、邮政编码)、邮政编码(e_PostCode)和手机号码()和手机号码(e_Mobile)信息,要求能够)信息,要求能够通过视图来查询这些信息(但不能通过视图更改这些信息)。通过视图来查询这些信息(但不能通过视图更改这些信息)。CREATE VIEW SCOTT.vw_emp_readonlyASSELECT e_ID,e_Name,e_Address,e_PostCode,e_MobileFROM SCOTT.employeesWITH READ ONLY;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字(3)创建检查视图。)创建检查视图。在创建视图时,可以使用在创建视图时,可以使用WITH CHECK OPTION选项创建选项创建检查视图。检查视图。l【例例2-3】经常需要了解海尔公司商品的商品号(经常需要了解海尔公司商品的商品号(g_ID)、)、商品名称(商品名称(g_Name)、商品价格()、商品价格(g_Price)、商品折扣)、商品折扣(g_Discount)和商品数量()和商品数量(g_Number)信息,可以创建)信息,可以创建一个关于海尔商品的视图。一个关于海尔商品的视图。CREATE OR REPLACE VIEW SCOTT.vw_HaierGoodsASSELECT g_ID,g_Name,g_Price,g_Discount,g_NumberFROM SCOTT.GoodsWHERE g_Name LIKE%海尔海尔%WITH CHECK OPTION;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字(4)创建连接视图)创建连接视图连接视图是指基于多个表所创建的视图,即定义视图的查询连接视图是指基于多个表所创建的视图,即定义视图的查询是一个连接查询。使用连接视图的主要目的是为了简化连接是一个连接查询。使用连接视图的主要目的是为了简化连接查询。查询。l【例例2-4】经常需要了解商品的商品号(经常需要了解商品的商品号(g_ID)、商品名)、商品名称(称(g_Name)、类别名称()、类别名称(t_Name)和商品价格)和商品价格(g_Price)信息,可以创建一个关于这类商品的视图。)信息,可以创建一个关于这类商品的视图。CREATE OR REPLACE VIEW SCOTT.vw_TNameGoodsASSELECT g_ID,g_Name,t_Name,g_PriceFROM SCOTT.GoodsJOIN TypesON Goods.t_ID=Types.t_IDWITH CHECK OPTION 教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字(5)创建复杂视图。)创建复杂视图。复杂视图是指包含函数、表达式或分组数据的视图,主要目复杂视图是指包含函数、表达式或分组数据的视图,主要目的是为了简化查询。的是为了简化查询。l【例例2-5】经常需要了解某一类商品的类别号(经常需要了解某一类商品的类别号(t_ID)和该)和该类商品的最高价格信息,可以创建一个关于这类商品的视图。类商品的最高价格信息,可以创建一个关于这类商品的视图。CREATE OR REPLACE VIEW SCOTT.vw_MaxPriceGoodsASSELECT t_ID,Max(g_Price)AS MaxPriceFROM SCOTT.GoodsGROUP BY t_ID教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字(6)强制创建视图)强制创建视图正常情况下,如果基表不存在,创建视图就会失败。但是可正常情况下,如果基表不存在,创建视图就会失败。但是可以使用以使用FORCE选项强制创建视图(前提是创建视图的语句选项强制创建视图(前提是创建视图的语句没有语法错误),但此时该视图处于失效状态。没有语法错误),但此时该视图处于失效状态。l【例例2-6】创建并验证基于创建并验证基于Test表的强制视图表的强制视图(a)在)在Test表不存在的情况下,创建基于该表的强制视图表不存在的情况下,创建基于该表的强制视图vw_TestForce。CREATE FORCE VIEW SCOTT.vw_TestForceASSELECT c1,c2 FROM Test;以上语句执行后,视图创建成功,但会出现警告信息,视图以上语句执行后,视图创建成功,但会出现警告信息,视图状态为状态为INVALID状态。状态。教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字在实际应用中,随着查询要求的改变和数据源的变化:在实际应用中,随着查询要求的改变和数据源的变化:l更改视图只是改变数据字典中对该视图的定义信息,视图更改视图只是改变数据字典中对该视图的定义信息,视图的所有基础对象都不会受到任何影响;的所有基础对象都不会受到任何影响;l更改视图之后,依赖于该视图的所有视图和更改视图之后,依赖于该视图的所有视图和PL/SQL程序都程序都将变为将变为INVALID(失效失效)状态;状态;l如果以前的视图中具有如果以前的视图中具有WITH CHECK OPTION选项,但是选项,但是重定义时没有使用该选项,则以前的此选项将自动删除。重定义时没有使用该选项,则以前的此选项将自动删除。2使用使用PL/SQL修改视图修改视图(1)重命名视图)重命名视图l【例例2-7】重命名用户方案重命名用户方案SCOTT的视图的视图vw_MaxPriceGoods为为vw_MaxPrice。rename vw_MaxPriceGoods TO vw_MaxPrice;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字2使用使用PL/SQL修改视图修改视图(2)修改视图定义)修改视图定义l【例例2-8】对于已创建的视图对于已创建的视图vw_HotGoods,现在需要删,现在需要删除其中的折扣(除其中的折扣(g_Discount)信息,使之仅包含商品的商品)信息,使之仅包含商品的商品号(号(g_ID)、商品名称()、商品名称(g_Name)、类别号()、类别号(t_ID)、价)、价格(格(g_Price)和数量()和数量(g_Number)信息。)信息。CREATE OR REPLACE VIEW SCOTT.vw_HotGoodsASSELECT g_ID AS 商品号商品号,g_Name AS 商品名称商品名称,t_ID AS 类别号类别号,g_Price AS 价格价格,g_Number AS 数量数量FROM SCOTT.GoodsWHERE g_Status=热点热点教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字(3)重新编译视图)重新编译视图可以使用可以使用PL/SQL的的ALTER VIEW语句重新编译视图。语句重新编译视图。ALTER VIEW 视图名视图名 COMPILE;当视图依赖的基表改变后,视图会当视图依赖的基表改变后,视图会“失效失效”。为了确保这种。为了确保这种改变改变“不影响不影响”视图和依赖于该视图的其他对象,应该使用视图和依赖于该视图的其他对象,应该使用ALTER VIEW 语句明确的重新编译该视图,从而在运行视图语句明确的重新编译该视图,从而在运行视图前发现重新编译的错误。视图被重新编译后,若发现错误,前发现重新编译的错误。视图被重新编译后,若发现错误,则依赖该视图的对象也会失效;若没有错误,视图会变为则依赖该视图的对象也会失效;若没有错误,视图会变为“有效有效”。教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字3使用使用PL/SQL查看视图查看视图Oracle的的PL/SQL语句提供了语句提供了DESCRIBE命令用来查看视图命令用来查看视图的信息,其基本语法格式为:的信息,其基本语法格式为:DESCRIBE 用户方案用户方案.视图名视图名;l【例例2-9】查看用户方案查看用户方案SCOTT的视图的视图VW_HOTGOODS的信息。的信息。DESC SCOTT.VW_HOTGOODS;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.2.2 6.2.2 课堂案例课堂案例22使用使用PL/SQLPL/SQL管理视图管理视图案例完成步骤案例完成步骤 添加添加标标题题文字文字4使用使用PL/SQL删除视图删除视图Oracle的的PL/SQL语句提供了语句提供了DROP VIEW命令来删除视图(必命令来删除视图(必须保证当前用户具有须保证当前用户具有DROP ANY VIEW的系统权限),其基本的系统权限),其基本语法格式为:语法格式为:DROP VIEW 用户方案用户方案.视图名视图名;【例例2-10】删除用户方案删除用户方案SCOTT的视图的视图.VW_TNAMEGOODS的信息。的信息。DROP VIEW SCOTT.VW_TNAMEGOODS;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例33使用视图使用视图 掌握Oracle中通过视图进行查询和DML操作的基本方法和注意事项。案例学习目标案例学习目标 通过视图查询数据、通过视图添加数据、通过视图修改数据、通过视图删除数据。案例知识要点案例知识要点 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例33使用视图使用视图案例完成步骤案例完成步骤 添加添加标标题题文字文字6.3.1视图查询操作视图查询操作【例例3-1】需要了解价格在需要了解价格在2000元以上的促销商品信息,元以上的促销商品信息,为了简化查询操作,可以在视图为了简化查询操作,可以在视图vw_SaleGoods中进行中进行查询。查询。SELECT*FROM SCOTT.vw_SaleGoodsWHERE 价格价格2000;视图上执行查询操作的视图上执行查询操作的步骤和原理步骤和原理:(1)将针对视图的)将针对视图的SQL语句与视图的定义语句语句与视图的定义语句(保存在保存在数据字典中数据字典中)“合并合并”成一条成一条SQL语句;语句;(2)在内存结构的共享)在内存结构的共享SQL区中区中“解析解析”(并优化并优化)合并合并后的后的SQL语句;语句;(3)“执行执行”合并、解析后的合并、解析后的SQL语句。语句。教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例33使用视图使用视图案例完成步骤案例完成步骤 添加添加标标题题文字文字【例例3-2】需要统计每类商品的平均价格(显示类别名需要统计每类商品的平均价格(显示类别名和该类别的平均价格),为了简化查询操作,可以在视和该类别的平均价格),为了简化查询操作,可以在视图图vw_TNameGoods中进行查询。中进行查询。SELECT t_Name 类别名称类别名称,AVG(g_Price)平均价格平均价格FROM SCOTT.vw_TNameGoodsGROUP BY t_Name;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例33使用视图使用视图案例完成步骤案例完成步骤 添加添加标标题题文字文字6.3.2 视图视图DML操作操作 当向视图中插入、修改或者删除数据时,实际上是对视当向视图中插入、修改或者删除数据时,实际上是对视图所引用的基表执行数据的插入、修改或者删除操作对图所引用的基表执行数据的插入、修改或者删除操作对于这些操作,于这些操作,Oracle有如下的一些有如下的一些限制限制:l 用户应该具有操作视图的权限,同时具有操作视图所用户应该具有操作视图的权限,同时具有操作视图所引用的基表或其他视图的权限;引用的基表或其他视图的权限;l 在一个语句中,一次不能修改一个以上的视图基表;在一个语句中,一次不能修改一个以上的视图基表;l 对视图中所有列的修改必须遵守视图基表中所定义的对视图中所有列的修改必须遵守视图基表中所定义的各种数据约束条件;各种数据约束条件;l 不允许对视图中的计算列进行修改,也不允许对视图不允许对视图中的计算列进行修改,也不允许对视图定义中包含有统计函数或者定义中包含有统计函数或者GROUP BY子句的视图进行子句的视图进行更新操作。更新操作。教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例33使用视图使用视图案例完成步骤案例完成步骤 添加添加标标题题文字文字l【例例3-3】通过视图通过视图vw_Users向表向表Users中增加一个用户。中增加一个用户。(1)首先建立一个视图)首先建立一个视图vw_Users,要求将,要求将Users表中的英表中的英文的列名换成汉字的列名。文的列名换成汉字的列名。CREATE OR REPLACE VIEW SCOTT.vw_UsersASSELECT u_ID AS 编号编号,u_Name AS 用户名用户名,u_Type AS 用用户组户组,u_Password AS 用户密码用户密码FROM SCOTT.Users;(2)通过视图)通过视图vw_Users实现记录的添加。实现记录的添加。INSERT INTO SCOTT.vw_UsersVALUES(05,view,普通普通,view);教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例33使用视图使用视图案例完成步骤案例完成步骤 添加添加标标题题文字文字l【例例3-4】通过视图通过视图vw_Users将用户将用户“amy”的所属用户组的所属用户组修改为修改为“查询查询”。UPDATE SCOTT.vw_UsersSET 用户组用户组=查询查询WHERE 用户名用户名=amy;l【例例3-5】试着通过视图试着通过视图vw_emp_readonly(视图定义见(视图定义见6.2.2)删除名称为)删除名称为“刘丽丽刘丽丽”的员工。的员工。DELETE FROM SCOTT.vw_emp_readonlyWHERE e_Name=刘丽丽刘丽丽;语句执行后,将会显示语句执行后,将会显示“无法对只读视图进行无法对只读视图进行DML操作操作”的的错误提示错误提示 教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.4 6.4 索引概述索引概述 索引概念索引概念l索引(索引(Index)是一个)是一个单独的单独的、物理的物理的数据结构,在这个数据结构中包数据结构,在这个数据结构中包括表中一列或若干列的值以及相应的指向表中物理标识这些值的数据页括表中一列或若干列的值以及相应的指向表中物理标识这些值的数据页的逻辑指针的集合。的逻辑指针的集合。l索引提供了数据库中索引提供了数据库中编排表中数据编排表中数据的内部方法。索引依赖于数据库的的内部方法。索引依赖于数据库的表,作为表的一个组成部分,一旦创建后,由数据库系统自身进行维护。表,作为表的一个组成部分,一旦创建后,由数据库系统自身进行维护。一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部用来分存放索引页面,索引就存放在索引页面上。部用来分存放索引页面,索引就存放在索引页面上。l索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。从某种程度上可以把数据库看作一本读取数据。从某种程度上可以把数据库看作一本书书,把索引看作书的,把索引看作书的目目录录,通过目录查找书中的信息,显然比没有目录的书更方便、快捷。,通过目录查找书中的信息,显然比没有目录的书更方便、快捷。2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.4 6.4 索引概述索引概述 索引分类索引分类1B树索引树索引B树索引是最常见的索引结构,默认建立的索引就是这种类型的索引。树索引是最常见的索引结构,默认建立的索引就是这种类型的索引。2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.4 6.4 索引概述索引概述 索引分类索引分类2反向索引反向索引反向索引是反向索引是B树索引的一个分支,它的设计是为了运用在某些特定的环树索引的一个分支,它的设计是为了运用在某些特定的环境下。境下。3降序索引降序索引降序索引是降序索引是B树的另一个衍生物,它的变化就是列在索引中的存储方式树的另一个衍生物,它的变化就是列在索引中的存储方式从升序变成了降序,在某些场合下降序索引将会起作用。创建降序索引从升序变成了降序,在某些场合下降序索引将会起作用。创建降序索引时,时,Oracle已经把数据都按降序排好了已经把数据都按降序排好了。4位图索引位图索引位图索引主要用于决策支持系统或静态数据,不支持行级锁定。位图索引主要用于决策支持系统或静态数据,不支持行级锁定。5函数索引函数索引基于函数的索引有索引计算列的能力,它易于使用并且提供计算好的值,基于函数的索引有索引计算列的能力,它易于使用并且提供计算好的值,在不修改应用程序的逻辑上提高了查询性能。在不修改应用程序的逻辑上提高了查询性能。2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.1 6.5.1 课堂案例课堂案例44使用使用OEMOEM管理索引管理索引 掌握Oracle中应用OEM创建索引、修改索引、查看索引和删除索引的方法和基本步骤。案例学习目标案例学习目标 OEM创建索引图、索引的选择、OEM修改索引、OEM查看索引和OEM删除索引。案例知识要点案例知识要点 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.1 6.5.1 课堂案例课堂案例44使用使用OEMOEM管理索引管理索引案例完成步骤案例完成步骤 添加添加标标题题文字文字1使用使用OEM创建索引创建索引(1)进入)进入OEM后,依次选择后,依次选择“方案方案”、“索引索引”,进入,进入“索引页面索引页面”(2)单击)单击“创建创建”按钮,进入按钮,进入“创建索引创建索引”页面,输入页面,输入索引名称(如:索引名称(如:ix_GoodName),指定用户方案为),指定用户方案为SCOTT,并指定索引对应的表和顺序,并指定索引对应的表和顺序(3)单击)单击“确定确定”按钮,如果创建的索引没有错误,进按钮,如果创建的索引没有错误,进入入“确认确认”页面,并显示页面,并显示“已成功创建已成功创建 索引索引 SCOTT.IX_GOODNAME”消息,并显示当前方案消息,并显示当前方案(SCOTT)中的索引列表)中的索引列表 教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.1 6.5.1 课堂案例课堂案例44使用使用OEMOEM管理索引管理索引案例完成步骤案例完成步骤 添加添加标标题题文字文字2使用使用OEM修改索引修改索引 3使用使用OEM查看和删除索引查看和删除索引 教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.2 6.5.2 课堂案例课堂案例55使用使用PL/SQLPL/SQL管理索引管理索引 掌握Oracle中应用PL/SQL创建索引、修改索引、查看索引和删除索引的方法和基本步骤。案例学习目标案例学习目标 CREATE INDEX 创建索引、索引的选择、ALTER INDEX修改索引、通过数据字典查看索引和DROP INDEX删除索引。案例知识要点案例知识要点 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.2 6.5.2 课堂案例课堂案例55使用使用PL/SQLPL/SQL管理索引管理索引案例完成步骤案例完成步骤 添加添加标标题题文字文字1使用使用PL/SQL创建索引创建索引【例例4-1】创建关于员工表的员工名称列的唯一索引。创建关于员工表的员工名称列的唯一索引。CREATE UNIQUE INDEX SCOTT.ix_EmpName ON SCOTT.Employees(e_Name);【例例4-2】建立关于商品表的商品类别编号列的索引。建立关于商品表的商品类别编号列的索引。CREATE INDEX SCOTT.ix_TypeIDON SCOTT.Goods(t_ID);【例例4-3】建立关于订单明细表的订单编号列和产品编号建立关于订单明细表的订单编号列和产品编号列的复合索引。列的复合索引。CREATE INDEX SCOTT.ix_OID_GIDON SCOTT.ORDERDETAILS(O_ID,G_ID);教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.2 6.5.2 课堂案例课堂案例55使用使用PL/SQLPL/SQL管理索引管理索引案例完成步骤案例完成步骤 添加添加标标题题文字文字2使用使用PL/SQL修改索引修改索引【例例4-4】修改索引修改索引ix_EmpName,重新调整,重新调整INITRANS和和MAXTRANS参数的值。参数的值。ALTER INDEX SCOTT.ix_EmpNameINITRANS5MAXTRANS10;3使用使用PL/SQL删除索引删除索引利用利用DROP INDEX 命令可以删除一个或多个当前数据库命令可以删除一个或多个当前数据库中的索引。其语句格式如下:中的索引。其语句格式如下:DROP INDEX 用户方案用户方案.,.n【例例4-5】删除员工表中为员工名称创建的唯一索引删除员工表中为员工名称创建的唯一索引IX_EMPNAME。DROP INDEX SCOTT.EMPLOYEES.IX_EMPNAME;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程6.5.2 6.5.2 课堂案例课堂案例55使用使用PL/SQLPL/SQL管理索引管理索引案例完成步骤案例完成步骤 添加添加标标题题文字文字4查看索引查看索引 教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例66聚集操作聚集操作 掌握Oracle中应用聚集的基本概念、创建聚集、修改聚集和删除聚集的方法和基本步骤。案例学习目标案例学习目标 创建聚集本身、创建聚集中的表、创建聚集键上的索引、修改聚集和删除聚集。案例知识要点案例知识要点 2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例66聚集操作聚集操作聚集概述聚集概述 添加添加标标题题文字文字1索引聚集索引聚集索引聚集是保存数据表的一种可选方案。索引聚集在同一个索引聚集是保存数据表的一种可选方案。索引聚集在同一个数据块中将多个不同表的相关行存储在一起,从而改善相关数据块中将多个不同表的相关行存储在一起,从而改善相关操作的存取时间。共享公共列的表可以聚集在该列的周围,操作的存取时间。共享公共列的表可以聚集在该列的周围,从而加速对这些行的存取。索引聚集有利于聚集数据上的连从而加速对这些行的存取。索引聚集有利于聚集数据上的连接,因为所有的数据在一个接,因为所有的数据在一个I/O操作中被检索。操作中被检索。2哈希聚集哈希聚集哈希聚集类似于索引聚集,但它使用哈希函数而非索引来引哈希聚集类似于索引聚集,但它使用哈希函数而非索引来引用聚集键。哈希聚集在同一数据块中将相关的行存储在一起,用聚集键。哈希聚集在同一数据块中将相关的行存储在一起,依据是这些行的哈希函数结果。在创建哈希聚集时,依据是这些行的哈希函数结果。在创建哈希聚集时,Oracle为聚集的数据段分配初始数量的存储空间。为聚集的数据段分配初始数量的存储空间。教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例66聚集操作聚集操作案例完成步骤案例完成步骤-创建聚集创建聚集 添加添加标标题题文字文字1创建聚集本身创建聚集本身【例例5-1】创建一个包含创建一个包含column0l的聚集的聚集testclu。CREATE CLUSTER SCOTT.testclu(column0l VARCHAR(20);2创建聚集中的表创建聚集中的表【例例5-2】创建聚集为创建聚集为testclu的两个测试表的两个测试表testa和和testb。CREATE TABLE SCOTT.testa(a01 VARCHAR(20),a02 VARCHAR(20)CLUSTER SCOTT.testclu(a01);CREATE TABLE SCOTT.testb(b01 VARCHAR(20),b02 VARCHAR(20)CLUSTER SCOTT.testclu(b01);教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例66聚集操作聚集操作案例完成步骤案例完成步骤 添加添加标标题题文字文字3创建聚集键上的索引创建聚集键上的索引【例例5-3】为聚集为聚集testclu创建聚集键。创建聚集键。CREATE INDEX SCOTT.ix_testclu ON CLUSTER SCOTT.testclu;创建聚集索引后,就可以使用聚集了。创建聚集索引后,就可以使用聚集了。【例例5-4】输入测试数据。输入测试数据。-testa表添加两条记录表添加两条记录INSERT INTO SCOTT.testa VALUES(01,01);INSERT INTO SCOTT.testa VALUES(02,02);-testb表添加两条记录表添加两条记录INSERT INTO SCOTT.testb VALUES(01,01);INSERT INTO SCOTT.testb VALUES(02,02);【例例5-5】测试聚集。测试聚集。通过通过autotrace 检查两个表是不是都采用索引检查两个表是不是都采用索引index_test来检索数据。来检索数据。SELECT*FROM SCOTT.testa WHERE a01=01;SELECT*FROM SCOTT.testb WHERE b01=01;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程课堂案例课堂案例66聚集操作聚集操作案例完成步骤案例完成步骤-修改聚集修改聚集 添加添加标标题题文字文字修改聚集修改聚集【例例5-6】修改聚集修改聚集testclu,指定从范围中解除分配的未使,指定从范围中解除分配的未使用空间的数量,并指定保持的未使用空间数量为用空间的数量,并指定保持的未使用空间数量为100K。ALTER CLUSTER testclu DEALLOCATE UNUSED KEEP 100K;删除聚集删除聚集DROP TABLE SCOTT.testb;DROP TABLE SCOTT.testa;DROP CLUSTER SCOTT.testclu;教教师师演演示示讲讲解解2024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程根据需要,在根据需要,在BookData数据库中创建以下视图并完成基于视图的操作数据库中创建以下视图并完成基于视图的操作(1)创建出版社编号为)创建出版社编号为“001”的图书信息的视图的图书信息的视图vw_Book001,结果要求如下图,结果要求如下图所示。所示。(2)在)在vw_Book003中查询包含中查询包含“设计设计”字样的图书信息。字样的图书信息。(3)创建存放地址为)创建存放地址为“03-03-01”的图书信息的视图的图书信息的视图vw_Book030301,要求显示条,要求显示条形码、图书编号、存放位置、图书状态、图书的名称、出版社名称、作者和价格信形码、图书编号、存放位置、图书状态、图书的名称、出版社名称、作者和价格信息,结果要求如下图所示。息,结果要求如下图所示。任务任务1 12024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程(4)在)在vw_Book030301中查询已借出的图书信息。中查询已借出的图书信息。(5)创建所有读者的借书信息的视图)创建所有读者的借书信息的视图vw_ReadersAll,要求显示借书人、,要求显示借书人、借书日期、还书日期、书名和还书状态,结果要求如下图所示。借书日期、还书日期、书名和还书状态,结果要求如下图所示。(6)在)在vw_ReadersAll中查询中查询“王周应王周应”的借书信息,并按借书日期升序的借书信息,并按借书日期升序排列排列 任务任务1 12024/5/17O Or ra ac cl le e数数据据库库管管理理与与应应用用实实例例教教程程根据需要,在BookData数据库中创建以下索引并完成索引相关的操作(1)在BookInfo表中创建基于b_Name的唯一索引ix_BookName。(2)在BookInfo表中创建基于b_Date的非聚集索引ix_BookDate。(3)查看BookInfo表中的索引情况。(4)在ReaderInfo表中创建基于r_Name的唯一索引ix_ReaderName。(5)查看ReaderInfo表中的索引情况。任务任务2 29、春去春又回,新桃换旧符。在那桃花盛开的地方,在这醉人芬芳的季节,愿你生活像春天一样阳光,心情像桃花一样美丽,日子像桃子一样甜蜜。5月-245月-24Friday,May 17,202410、人的志向通常和他们的能力成正比例。04:06:3204:06:3204:065/17/2024 4:06:32 AM11、夫学须志也,才须学也,非学无以广才,非志无以成学。5月-2404:06:3204:06May-2417-May-2412、越是无能的人,越喜欢挑剔别人的错儿。04:06:3204:06:3204:06Friday,May 17,202413、志不立,天下无可成之事。5月-245月-2404:06:3204:06:32May 17,202414、Thank you very much for taking me with you on that splendid outing to London.It was the first time that I had seen the Tower or any of the other famous sights.If Id gone alone,I couldnt have seen nearly as much,because I wouldnt have known my way about.。17五月20244:06:32上午04:06:325月-2415、会当凌绝顶,一览众山小。五月244:06上午5月-2404:06May 17,202416、如果一个人不知道他要驶向哪头,那么任何风都不是顺风。2024/5/174:06:3204:06:3217 May 202417、一个人如果不到最高峰,他就没有片刻的安宁,他也就不会感到生命的恬静和光荣。4:06:32上午4:06上午04:06:325月-24谢谢观看THE END
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!