oracle的数据库对象

上传人:muw****50 文档编号:244783409 上传时间:2024-10-06 格式:PPT 页数:29 大小:379.51KB
返回 下载 相关 举报
oracle的数据库对象_第1页
第1页 / 共29页
oracle的数据库对象_第2页
第2页 / 共29页
oracle的数据库对象_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,第四章,数据库对象,回顾,锁用于保护多用户环境下被修改的数据,锁分为两种级别,即行级锁和表级锁,表分区允许将一个表划分成几部分,以改善大型应用系统的性能,分区方法包括范围分区、散列分区、复合分区和列表分区,分区维护操作包括添加、删除、截断、合并和拆分分区,目标,使用同义词,使用序列,创建视图,创建索引,数据库对象简介,Oracle,数据库对象又称模式对象,数据库对象是逻辑结构的集合,最基本的数据库对象是表,其他数据库对象包括:,数据库对象,同义词,序列,视图,索引,同义词,3,-1,同义词是现有对象的一个别名。,简化,SQL,语句,隐藏对象的名称和所有者,提供对对象的公共访问,同义词共有两种类型:,同义词,私有同义词,公有同义词,私有同义词只能在其模式内访问,且不能与当前模式的对象同名。,(,比如,scott,用户的,emp,表,scott,用户不能创建与,emp,同名的私有同义词,),公有同义词可被所有的数据库用户访问。,同义词,3,-,2,CREATE SYNONYM,emp,FOR,SCOTT.emp,;,SCOTT.emp,的别名,模式名,表名,私有同义词,公有同义词,CREATE PUBLIC SYNONYM,emp_syn,FOR,SCOTT.emp,;,同义词名称,同义词,3,-,3,创建或替换现有的同义词,CREATE OR REPLACE SYNONYM,emp_syn,FOR,SCOTT.emp,;,替换现有的同义词,SQL DROP SYNONYM,emp,;,SQL DROP PUBLIC SYNONYM,emp_syn,;,删除同义词,序列,序列是用于生成唯一、连续序号的对象,序列可以是升序的,也可以是降序的,使用,CREATE SEQUENCE,语句创建序列,SQL CREATE SEQUENCE,toys_seq,START WITH 10,INCREMENT BY 10,MAXVALUE 2000,MINVALUE 10,NOCYCLE,CACHE 10;,指定第一个序号从,10,开始,指定序号之间的间隔为,10,表示序列的最大值为,2000,表示序列的最小值为,10,在达到最大值后停止生成下一个值,指定内存中预先分配的序号数,访问序列,通过序列的伪列来访问序列的值,NEXTVAL,返回序列的下一个值,CURRVAL,返回序列的当前值,SQL INSERT INTO toys(toyid,toyname,toyprice),VALUES(toys_seq.NEXTVAL,TWENTY,25);,SQL INSERT INTO toys(toyid,toyname,toyprice),VALUES(toys_seq.NEXTVAL,MAGIC PENCIL,75);,指定序列的下一个值,SQL SELECT,toys_seq.CURRVAL,FROM dual;,检索序列的当前值,更改和删除序列,SQL ALTER SEQUENCE,toys_seq,MAXVALUE 5000 CYCLE;,不能包含,start with,参数值,使用,ALTER SEQUENCE,语句修改序列,,不能更改序列的,START WITH,参数,使用,DROP SEQUENCE,语句删除序列,SQL DROP SEQUENCE,toys_seq,;,视图,视图以经过定制的方式显示来自一个或多个表的数据,视图可以视为“虚拟表”或“存储的查询”,创建视图所依据的表称为“基表”,视图的优点有:,提供了另外一种级别的表安全性,隐藏的数据的复杂性,简化的用户的,SQL,命令,隔离基表结构的改变,通过重命名列,从另一个角度提供数据,创建视图,3-1,studno,studname,studmarks,subno,studcaste,1,Rob,45,2,Open,2,James,33,4,SC,3,Jesica,40,5,Open,Stud_details,Stud_view,studno,studname,subno,1,Rob,2,2,James,4,3,Jesica,5,创建视图,CREATE VIEW,stud_view,AS SELECT,studno,studname,subno,FROM,Stud_details,;,创建视图,3-2,创建视图的语法:,CREATE OR REPLACE FORCE VIEW,view_name,(alias,alias.),AS,select_statement,创建视图,3-3,使用,ORDER BY,子句创建视图,CREATE OR REPLACE VIEW,ord_ven,AS,SELECT*FROM,vendor_master,ORDER BY,venname,;,创建带有错误的视图,CREATE FORCE VIEW,ven,AS,SELECT*FROM,venmaster,;,联接视图,2,-1,Studno,Studname,Submrks,Subno,1,Rob,45,2,2,James,33,4,3,Jesica,40,4,Subno,Subname,2,English,4,Maths,5,Science,Stud_details,Sub_details,Studno,Studname,Submrks,Subname,1,Rob,45,English,2,James,33,Maths,3,Jesica,4,0,Maths,CREATE VIEW Stud_sub_view AS,SELECT Studno,Studname,Submrks,Subname,FROM Stud_details,Sub_Details,WHERE,Stud_details.Subno,=,Sub_details.Subno,;,Stud_sub_view,联接视图,联接视图,2,-2,创建外联接视图,CREATE VIEW ven_ord_outj_view AS,SELECT vm.vencode,venname,orderno,odate,ostatus,FROM vendor_master vm,order_master om,WHERE vm.vencode=om.vencode(+);,SELECT,vm.vencode,venname,orderno,odate,ostatus,FROM,vendor_master,vm,LEFT OUTER JOIN,order_master,om,ON,vm.vencode,=,om.vencode,;,视图上的,DML,语句,在视图上也可以使用修改数据的,DML,语句,如,INSERT,、,UPDATE,和,DELETE,视图上的,DML,语句有如下限制:,只能修改一个底层的基表,如果修改违反了基表的约束条件,则无法更新视图,如果视图包含连接操作符、,DISTINCT,关键字、集合操作符、聚合函数或,GROUP BY,子句,则将无法更新视图,如果视图包含伪列或表达式,则将无法更新视图,键保留表,Studno,Studname,Submrks,Subno,1,Rob,45,2,2,James,33,4,3,Jesica,40,4,Subno,Subname,2,English,4,Maths,5,Science,Stud_details,Sub_details,Studno,Studname,Submarks,Subno,Subname,1,Rob,45,2,English,2,James,33,4,Maths,3,Jesica,40,4,Maths,键保留表,因为,Studno,既是,Stud_details,中的主键,,也是联接结果中的主键,Stud_details,为什么,是键保留表?,联接视图,视图中可以使用单行函数、分组函数和表达式,使用,DROP VIEW,语句删除视图,视图中的函数,CREATE VIEW,item_view,AS,SELECT,itemcode,LOWER(itemdesc,),item_desc,FROM,itemfile,;,SQL DROP VIEW,toys_view,;,索引,3,-1,索引是与表相关的一个可选结构,用以提高,SQL,语句执行的性能,减少磁盘,I/O,使用,CREATE INDEX,语句创建索引,在逻辑上和物理上都独立于表的数据,Oracle,自动维护索引,索引,3-2,索引有各种类型,除了标准索引外,还有一些特殊类型的索引:,索引的类型,基于函数的索引,反向键索引,位图索引,唯一索引,组合索引,索引,3-3,SQL CREATE INDEX,item_index,ON,itemfile,(,itemcode,),TABLESPACE,index_tbs,;,创建标准索引,重建索引,SQL ALTER INDEX,item_index,REBUILD;,删除索引,SQL DROP INDEX,item_index,;,唯一索引,SQL CREATE UNIQUE INDEX,item_index,ON,itemfile,(,itemcode,);,唯一索引确保在定义索引的列中没有重复值,Oracle,自动在表的主键列上创建唯一索引,使用,CREATE UNIQUE INDEX,语句创建唯一索引,组合索引,SQL CREATE INDEX,comp_index,ON,itemfile(p_category,itemrate,);,组合索引是在表的多个列上创建的索引,索引中列的顺序是任意的,如果,SQL,语句的,WHERE,子句中引用了组合索引的所有列或大多数列,则可以提高检索速度,反向键索引反转索引列键值的每个字节,通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上,创建索引时使用,REVERSE,关键字,反向键索引,SQL CREATE INDEX,rev_index,ON,itemfile,(,itemcode,)REVERSE;,SQL ALTER INDEX,rev_index,REBUID NOREVERSE;,位图索引,SQL CREATE BITMAP INDEX,bit_index,ON,order_master,(,orderno,);,位图索引适合创建在低基数列上,位图索引不直接存储,ROWID,,而是存储字节位到,ROWID,的映射,减少响应时间,节省空间占用,基于函数的索引,SQL CREATE INDEX,lowercase_idx,ON toys(,LOWER(toyname,);,基于一个或多个列上的函数或表达式创建的索引,表达式中不能出现聚合函数,不能在,LOB,类型的列上创建,创建时必须具有,QUERY REWRITE,权限,SQL SELECT,toyid,FROM toys,WHERE,LOWER(toyname,)=doll;,获取索引的信息,SQL SELECT INDEX_NAME,TABLE_NAME,COLUMN_NAME,FROM USER_IND_COLUMNS,ORDER BY INDEX_NAME,COLUMN_POSITION;,与索引有关的数据字典视图有:,USER_INDEXES,用户创建的索引的信息,USER_IND_COLUMNS,与索引相关的表列的信息,总结,同义词是现有数据库对象的别名,序列用于生成唯一、连续的序号,视图是基于一个或多个表的虚拟表,索引是与表相关的一个可选结构,用于提高,SQL,语句执行的性能,索引类型有标准索引、唯一索引、反向键索引、位图索引和基于函数的索引,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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