版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
索引序列和同义词第1页,共56页,2023年,2月20日,星期六第5章使用其它方案对象课程描述介绍Oracle数据库常用对象的管理方法。包括序列管理、索引管理、视图管理和同义词管理等。第2页,共56页,2023年,2月20日,星期六本章知识点
序列管理索引管理视图管理同义词管理第3页,共56页,2023年,2月20日,星期六7.5序列管理
创建序列修改序列删除序列序列的使用第4页,共56页,2023年,2月20日,星期六序列概念序列(SEQUENCE)是一数据库对象,利用它可生成唯一的整数,最多可有38个数字。在oracle中sequence就是所谓的序列号。序列的作用是自动生成整型数值,作为表中标识字段的值标识字段的值由系统自动生成,每插入一条新记录,此字段的值自动加1(默认)。第5页,共56页,2023年,2月20日,星期六创建序列
建立序列命令
CREATESEQUENCE[user.]sequence_name
[incrementbyn]
[startwithn]
[maxvaluen|nomaxvalue]
[minvaluen|nominvalue];
其中:
INCREMENTBY:指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
STARTWITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
MAXVALUE:指定序列可生成的最大值。
NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
MINVALUE:指定序列的最小值。
NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。第6页,共56页,2023年,2月20日,星期六创建序列
CREATESEQUENCE语句创建序列。【例】创建序列SEQ_USERS_USERID:CREATESEQUENCESEQ_USERS_USERIDMINVALUE1--序列的最小值为1NOMAXVALUE--序列没有最大值限制
STARTWITH1--序列的初始值为1INCREMENTBY1--序列间隔为1NOCYCLE—不循环生成序列值
CACHE20;--高速缓存大小为20第7页,共56页,2023年,2月20日,星期六序列的使用得到序列的新值:SEQ_USERS_USERID.NEXTVAL创建表CREATETABLEUsers1(UserId Number,TelVarchar2(15));例如,向表USERS中插入一个新的记录:INSERTINTOUSERS1(USERID,Tel)VALUES(SEQ_USERS_USERID.NEXTVAL,);第8页,共56页,2023年,2月20日,星期六序列的使用序列号的生成独立与表,所以,同一序列生成器可用于一个或多个表。所生成的序列号可用于生成唯一的主键。创建表CREATETABLEUsers2(UserId Number,TelVarchar2(15));例如,向表USERS中插入一个新的记录:INSERTINTOUSERS2(USERID,TEL)VALUES(SEQ_USERS_USERID,);//再向USERS1表中插值INSERTINTOUSERS1(USERID,TEL)VALUES(SEQ_USERS_USERID,);第9页,共56页,2023年,2月20日,星期六更改序列ALTERSEQUENCE[user.]sequence_name
[INCREMENTBYn]
[MAXVALUEn|NOMAXVALUE]
[MINVALUEn|NOMINVALUE];
修改序列可以:
1、修改未来序列值的增量。
2、设置或撤消最小值或最大值。
3、改变缓冲序列的数目。
4、指定序列号是否是有序。第10页,共56页,2023年,2月20日,星期六更改序列更改序列SEQ_USERS_USERID,设置序列的增量为2,最大值为100,可循环。ALTERSEQUENCESEQ_USERS_USERIDINCREMENTBY2MAXVALUE100CYCLE;第11页,共56页,2023年,2月20日,星期六删除序列删除序列命令
DROPSEQUENCE[user.]sequence_name;【例】删除序列SEQ_USERS_USERID:DROPSEQUENCESEQ_USERS_USERID;第12页,共56页,2023年,2月20日,星期六创建序列序列管理页面搜索序列创建序列序列基本信息第13页,共56页,2023年,2月20日,星期六创建序列创建序列页面第14页,共56页,2023年,2月20日,星期六修改序列编辑序列第15页,共56页,2023年,2月20日,星期六删除序列确认删除页面第16页,共56页,2023年,2月20日,星期六7.4索引管理
索引的概念索引管理页面创建索引修改索引删除索引第17页,共56页,2023年,2月20日,星期六索引的概念UserName索引的存储和工作情况索引是对数据库表中一个或多个列的值进行排序的结构.索引提供指针指向存储在表中指定列的数据值利用索引可以快速访问数据库表中的特定信息第18页,共56页,2023年,2月20日,星期六索引的概念使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。搜索索引以找到特定值,然后顺指针找到包含该值的行。索引需要存储空间。在插入、更新和删除表中数据的时候,数据库将自动维护索引。作为通用规则,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引占用磁盘空间,并且降低添加、删除和更新行的速度。在多数情况下,索引用于数据检索的速度优势大大超过它的。第19页,共56页,2023年,2月20日,星期六创建索引创建表CREATETABLEUsers2(UserId Number,TelVarchar2(15));CREATEINDEX语句创建索引。【例】为表Users的列UserId创建索引,索引名为index_userid:CREATEINDEXindex_user1_useridONUsers2(UserId)查看用户创建的索引。Selectindex_name,table_namefromuser_indexes第20页,共56页,2023年,2月20日,星期六创建索引创建主键索引:在创建表的时候,使用PRIMARYKEY关键词指定主键列。CREATETABLEUsers1(UserId NumberPrimaryKey,TelVarchar2(15));CREATEPRIMARYKEYINDEXindex_users1_telONUsers1(userid);第21页,共56页,2023年,2月20日,星期六创建索引创建惟一索引:使用CREATEUNIQUEINDEX。【例】为表Users1的列Tel创建索引,索引名为index_users1_tel(确认Tel列没有重复值)CREATEUNIQUEINDEXindex_users2_telONUsers2(Tel);创建表时,使用UNIQUE关键词指定惟一索引。CREATETABLEUsers2(UserId NumberPrimaryKey,TelVarchar2(15)NOTNULLUNIQUE);
第22页,共56页,2023年,2月20日,星期六修改索引ALTERINDEX语句可以修改索引。【例】设置索引index_user_tel不可用:ALTERINDEXindex_users1_telUNUSABLE;ALTERINDEX中使用REBUILD关键词可重新使用索引index_users1_tel
:ALTERINDEXindex_users1_telREBUILD;RENAMETO子句可以重命名索引。【例】将索引名index_users1_tel重命名为index_users1:ALTERINDEXindex_users1_telRENAMETOindex_users1; 第23页,共56页,2023年,2月20日,星期六删除索引当索引不在需要时,删除,回收使用空间。语句:【例】将索引名index_users1_tel重命名为index_users1:
DROPINDEXindex_users1第24页,共56页,2023年,2月20日,星期六索引管理页面索引管理页面第25页,共56页,2023年,2月20日,星期六创建索引创建索引页面1.输入索引名称,选择方案和表空间3.置入列4.设置排序和顺序2.选择表第26页,共56页,2023年,2月20日,星期六创建索引索引选项页面保存选择索引类型选择执行选项第27页,共56页,2023年,2月20日,星期六删除索引DROPINDEX语句删除指定索引。【例】删除索引index_users1:DROPINDEXindex_users1;单击此按钮确认删除索引第28页,共56页,2023年,2月20日,星期六视图管理
视图的基本概念视图管理页面创建视图修改视图删除视图第29页,共56页,2023年,2月20日,星期六视图的基本概念视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。第30页,共56页,2023年,2月20日,星期六视图的基本概念视图是一个虚拟的表,在物理上并不存在.视图可以看成是一个存储的查询,可以限制用户能看到和能修改的数据.视图并不包含数据,只是从基表中读取数据视图特点着重于特定数据,增强数据的安全性简化数据操作:每次生成报表时无需写或提交基础查询,只是查询视图.自定义数据:允许用户以不同的方式查看数据组合分区数据:将不同表的数据组合成单一的结果集第31页,共56页,2023年,2月20日,星期六视图管理页面视图管理页面视图基本信息搜索视图第32页,共56页,2023年,2月20日,星期六创建视图“创建视图向导”窗口单击此图标,可以选择方案输入SQL语句选中此复选框,如果覆盖同名视图单击“确定”按钮保存第33页,共56页,2023年,2月20日,星期六创建视图CREATEVIEW语句创建视图:create[orreplace][force|noforce]view[user.]view_name[column1[,column2]…]asquery[withcheckoption[constraintconstraint_name][withreadonly]其中:orreplace:表示如果同名的视图存在,则使用新视图替代已有的视图Force:强制创建视图,不考虑基表是否存在以及是否具有使用基表数据的权限Noforce:只有基表存在并具有权限才可以创建视图User:创建视图的用户名view_name:视图名Column:指定视图中的列名Query:生成视图的select语句withcheckoption:指定检查通过视图修改数据的操作constraint_name:指定的约束名称withreadonly:表示创建的视图只能检索数据,不能修改数据第34页,共56页,2023年,2月20日,星期六创建视图【例】创建员工信息视图V_EMP:Connsys/oracleassysdba授予用户创建视图的权限GRANTCREATEVIEWTOSCOTT;Connscott/oracle;创建视图CREATEVIEWusers_view(id,name,newsalary)ASSELECTuserid,username,salary*1.1Fromusers;
第35页,共56页,2023年,2月20日,星期六创建视图查看用户定义的视图Selectview_namefromuser_views查看视图定义Selectview_name,textFromuser_viewsWhereview_name=‘USERS_VIEW’;查看视图结构Descusers_view
第36页,共56页,2023年,2月20日,星期六修改视图在CREATEVIEW语句中增加ORREPLACE子句,修改视图的定义。如果要在users_view中增加一列createorreplaceViewusers_view(id,name,type,newsal)AsSELECTuserid,username,usertype,salary*1.1Fromusers;第37页,共56页,2023年,2月20日,星期六修改视图编辑视图页面单击“确定”按钮保存修改SQL语句第38页,共56页,2023年,2月20日,星期六删除视图DROPVIEW语句删除指定视图。【例】删除视图HR.V_EMP:DROPVIEWusers_view;单击此按钮确认删除索引第39页,共56页,2023年,2月20日,星期六视图中的约束视图不仅可以限制能够看到的列,还可以限制可以返回的行创建薪水超过2500的用户的视图CREATEVIEWusers_view(id,name,sal)ASSELECTuserid,username,salaryFromusersWheresalary>2500;第40页,共56页,2023年,2月20日,星期六连接视图基于多个基表的视图Createviewusertype_viewAsSelectu.username,t.typenameFromusersu,uesertypetWhereu.usertype=t.typeidWithreadonly—只读(即不能此视图执行insert、update或delete)第41页,共56页,2023年,2月20日,星期六验证视图以下操作将导致视图无效改变列名,或从基本表或视图中完全删除列删除构建视图的基本表或视图改变基本表或视图,使其无效,将导致视图无效使视图由无效变为有效的方法使用alterviewview_namecompile命令重新编译视图使用createorreplaceview命令重新创建视图修正视图所基于的基本表或视图第42页,共56页,2023年,2月20日,星期六验证视图【例】修改基表,致使视图无效,重新编译基表,使其有效查询视图的状态Selectobject_name,statusFromuser_objectsWhereobject_name=‘USERS_VIEW’;结果为:valid(有效)修改基表usersAltertableusersModify(usernamevarchar2(50));第43页,共56页,2023年,2月20日,星期六验证视图使视图有效Alterviewusers_viewCompile;查询视图的状态Selectobject_name,statusFromuser_objectsWhereobject_name=‘USERS_VIEWs’;结果为:valid(无效)第44页,共56页,2023年,2月20日,星期六强制创建视图当创建视图时,ORACLE会验证视图的有效性使用FORCE选项定义视图,无论视图是否有效创建基表不存在的视图Createforceviewinvalid_viewAsSelect*Fromtable_not_exist查看Selectview_namefromuser_views查看视图状态Selectobject_name,statusFromuser_objectsWhereobject_name=‘INVALID_VIEW’创建此类视图的原因基表由A创建,而视图由B创建,使B的工作不依赖于A用户想在一个没有select权限的表上创建视图第45页,共56页,2023年,2月20日,星期六修改视图数据视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些视图可以修改对应的基表,有些则不能(仅仅能查询)。
第46页,共56页,2023年,2月20日,星期六通过视图更新数据通过视图修改用户编号Updateusers_viewSetuserid=8Whereuserid=2通过视图修改用户工资,必须满足指定的约束条件Updateusers_viewSetsalary=800Whereuserid=2第47页,共56页,2023年,2月20日,星期六同义词概念欲查询users表中的内容connsys/orclassysdba;
已连接。select*fromusers;
未选定行select*fromuserman.users;第48页,共56页,2023年,2月20日,星期六同义词的基本概念同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。优点:应用程序开发可以不管数据库的具体对象名避免应用程序直接访问数据库对象,提高数据库安全性。第49页,共56页,2023年,2月20日,星期六同义词管理页面同义词管理页面同义词基本信息搜索同义词第50页,共56页,2023
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年化学药品制剂项目合作计划书
- 新疆省直辖行政单位(2024年-2025年小学五年级语文)人教版阶段练习(上学期)试卷及答案
- 新疆吐鲁番地区(2024年-2025年小学五年级语文)人教版能力评测((上下)学期)试卷及答案
- 建筑架子工安全合同范本
- 校服采购合同范本
- 高新区转让合同范本
- 体育馆游泳课安全监督制度
- 店铺摆摊合同范本
- 云南省迪庆藏族自治州(2024年-2025年小学五年级语文)统编版能力评测(上学期)试卷及答案
- 疫情期间居家办公健康管理制度
- 《红楼梦》深入研读学习任务群设计
- 消毒供应中心专科试题
- 12劳动安全与工业卫生
- 加油站两体系制度
- 医养康养中心设备配备清单
- TRIZ理论-创新方法课件
- 人教版六年级上学期科学4.14《风能和水能》教学课件
- 沥青混凝土面层夜间施工安全专项方案
- 客户满意度及设备使用情况调查表
- 国家开放大学《政治学原理》章节自检自测题参考答案
- 人体五脏六腑 课件
评论
0/150
提交评论