第六章 视图、索引、序列和权限设置

第六章 视图、索引、序列和权限设置

ID:38183116

大小:58.00 KB

页数:4页

时间:2019-05-24

第六章 视图、索引、序列和权限设置_第1页
第六章 视图、索引、序列和权限设置_第2页
第六章 视图、索引、序列和权限设置_第3页
第六章 视图、索引、序列和权限设置_第4页
资源描述:

《第六章 视图、索引、序列和权限设置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六章视图、索引、序列和权限设置一.通过学习1.掌握视图(VIEW)在Oracle的应用。2.了解索引的应用。3.了解Oracle中权限机制。4.掌握GRANT和REVOKE命令。二.预备知识1.视图(VIEW)视图是一个“窗口”,通过它可以看或修改数据库表中的数据。视图来源于表或其他视图。视图只存为SELECT语句。它只是一个虚表而不是在物理存储器上的真正存在的数据表。视图没有自己的数据,它的数据来自基表。视图的优点:n限制对数据库的访问。n允许用户对复杂的查询进行简单的查询。n对特别的用户和应用程序提供数据独立性。视图对从多个数据库表中检索数据是透明的。视图也允许不同的用户对同一数据表有不

2、同的数据窗口。生成视图的命令格式:CREATE[ORREPLACE][FORCE]VIEWview-name[(column1,column2,……)]ASSELECTstatement[WITHCHECKOPTION[CONSTRAINTconstraint_name]];a)、ORREPLACE选项:如果ORREPLACE选项存在,那么即使有一个与view-name同名的视图已经存在,视图也将会生成替代老的视图。这个命令将不用删除老视图而生成新视图。b)、FORCE选项:这选项将强制生成视图,即使基表不存在或没有权限访问基表。但只有在基表存在时,视图才能使用。c)、WITHCHECKOPT

3、ION[CONSTRAINT]选项:这选项指定通过视图来INSERT和UPDATE基表,不允许生成视图没有记录。DELETE在下列情况中是受限制的:n连接条件n分组函数nGROUPBY子句nDISTINTCT命令nROWNUMUPDATE在下列情况中是受限制的:n上面DELETE的情况n字段中有表达式(如SAL*12)INSERT在下列情况中是受限制的:n上面DELETE和UPDATE的情况n任何NOTNULL字段删除视图的命令格式:DROPVIEWviewname;1.索引(有待请教)Oracle索引有两个主要的目的:n加快包含主键的记录检索。n增强了在字段数据值中的唯一性,通常是主键值。K

4、INGADAMSALLENBLAKECLARKFORDJAMESJONESKINGMARTINMILLERSCOTTSMITHTURNERWARDBLAKEJAMESMILLERTURNERSMITHALLENWARDJONESMARTINBLAKECLARKSCOTTKINGTURNERADAMSJAMESFORDMILLERROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWIDROWID图5-1B树索引Oracle使用平衡B树索引。这是一个有效的方法。基表EMP的索引如图5-1所示:1)、生成索引命令格式:CREA

5、TE[UNIQUE]INDEXindex_nameONtable(column[,]……);2)、删除索引命令格式:Dropindexindexname;2.序列(SEQUENCE)序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特殊的Oracle程序自动生成,因此序列避免了在应用层实现序列而引起的性能瓶颈。Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。允许设计缺省序列,不需指定任何子句。该序列为上升序列,由1开始,增量为1,没有上限。1)建立序列命令CREAT

6、ESEQUENCE[user.]sequence_name[incrementbyn][startwithn][maxvaluen

7、nomaxvalue][minvaluen

8、nominvalue];INCREMENTBY:指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。STARTWITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。MAXVALUE:指定序列可生成的最大值。NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。

9、MINVALUE:指定序列的最小值。NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。2)更改序列命令ALTERSEQUENCE[user.]sequence_name[INCREMENTBYn][MAXVALUEn

10、NOMAXVALUE][MINVALUEn

11、NOMINVALUE];修改序列可以:l修改未来序列值的增量。l设置或撤消最小值或最大值。l改变缓冲序列的数目。l

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。