oracle模式对象的管理
- 格式:pdf
- 大小:524.44 KB
- 文档页数:15
《Oracle数据库应用》理论课数据库对象⏹本章技能目标◆使用同义词◆使用序列◆创建视图◆创建索引1.数据库对象Oracle 数据库对象又称模式对象。
数据库对象是逻辑结构的集合,最基本的数据库对象是表。
其他数据库对象包括:同义词,序列,视图,索引。
下面我们依次讲解这几个数据库对象的使用。
2.同义词同义词是数据库对象的一个别名,这些对象可以是表,视图,序列,过程,函数,程序包,甚至其它同义词,通过使用同义词,用户可以访问其它模式的数据库对象而无需指定模式前缀,例如用户USER1要访问用户USER2的表EMP,必须使用USER2.EMP,那么USER1就可以使用同义词像访问自己的表一样引用USER2.EMP了。
同义词有以下用途:简化SQL语句隐藏对象的名称和所有者提供对对象的公共访问为分布式数据库德远程对象提供了位置透明性同义词允许应用程序访问数据库对象,不论那个用户或哪个数据库拥有该对象。
但是同义词不能代替权限,在使用同义词之前确保用户已得到访问对象的权限。
可以通过同义词执行SELECT,INSERT,UPDA TE,DELETE,LOCK TABLE ,GRANT和REVOKE 等语句。
同义词只是表的一个别名,因此对它的操作都会影响到表。
同义词共有两种类型:公有同义词。
私有同义词。
2.1私有同义词和公有同义词2私有同义词只能在其模式内访问,且不能与当前模式的对象同名。
要在自身的模式创建私有同义词,用户必须拥有CREATE SYNONYM 系统权限。
要在其它用户模式的创建私有同义词,用户必须CREATE ANY SYNONYM 系统权限.。
创建私有同义词语法如下:OR REPLACE 表示在同义词存在的情况下替换该同义词。
synonym_name 表示要创建的同义词的名称。
object_name 指定要为之创建同义词的对象的名称。
例1:假定两个用户模式:ACCP 和SCOTT ,SCOTT 用户拥有EMP表,ACCP 用户需要频繁引用EMP表,为了简化SQL语句,需要为ACCP 用户创建一个同义词。
Oracle 用户和模式Oracle数据库的安全保护流程可以总结为三个步骤:首先,用户向数据库提供身份识别信息,即提供一个数据库账号。
接下来用户还需要证明他们所给出的身份识别信息是有效的,这是通过输入密码实现的,用户输入的密码会经过数据库的核对,决定用户提供的密码是否正确。
最后,假设密码是正确的,那么数据库认为身份识别信息是可信赖的。
此时,数据库将会在基于身份识别信息的基础上决定用户所拥有的权限,即用户可以数据库执行什么操作。
因此,为了确保数据库的完全,首要的问题就是对用户进行管理。
这里所说的用户并不是数据库的操作人员,而是定义在数据库中的一个名称,更准确地说它是账户,只是习惯上称其为用户。
它是Oracle数据库的基本访问控制机制,当连接到Oracle数据库时,操作人员必须提供正确的用户名和密码。
连接到数据库的用户所具有权限是不相同。
Oracle提供了一些特权用户(SYSDBA或SYSOPER),这类用户主要用于执行数据库维护操作,如启动数据库、关闭数据库、建立数据库,以及执行备份和恢复等操作。
SYSDBA和SYSOPER的区别在于:SYSDBA不仅可以具备SYSOPER的所有权限,而且还可以建立数据库,执行不完全恢复。
在Oracle 11g中,Oracle提供了默认的特权用户SYS,当以特权用户身份登录数据时,必须带有AS SYSDBA 或AS SYSOPER选项。
例如:SQL> conn /as sysdba已连接。
SQL> grant sysdba to system;授权成功。
SQL> conn system/password as sysdba已连接。
与用户密切关联的另一个根念是模式,模式也称为方案(Schema)。
模式或方案实际上是用户所拥有的数据库对象的集合。
在Oracle数据库中,对象是以用户来组织的,用户与模式是一一对应的关系,并且二者名称相同。
如图13-1所示,SYSTEM用户拥用的所有对象都属于SYSEM模式,而SCOTT用户拥有的所有对象都属于SCOTT模式。
Oracle 管理对象权限对象权限指访问其他用户模式对象的权利。
在Oracle数据库中,用户可以直接访问其模式对象,但如果要访问其他用户的模式对象时,必须具有相应的对象权限。
1.对象权限的分类根据不同的对象类型,Oracle数据库设置了不同类型的对象权限。
对象权限及对象之间的对应关系如表13-5所示。
表13-5 对象、对象权限的对应关系ALTE R DELETEEXECUTEINDEXINSERTRREADREFERENCESELECTUPDA TEDIRECTORY√FUNCTION √PROCEDURE√PACKAGE √SEQUENCE √√TABLE √√√√√√√VIEW √√√√其中,“√”表示某种对象所具有的对象权限,空格表示该对象没有某种权限。
例如,对于基本表TABLE,具有ALTER、DELETE、INDEX、INSERT、REFERENCES、SELECT、UPDATE权限,而没有EXECUTE权限。
多种权限组合在一起时,可以使用ALL关键字,表示该对象的全部权限,对于不同的对象,ALL组合的权限数量是不相同的。
对于表TABLE而言,ALL表示ALTER、DELETE、INDEX、INSERT、REFERENCES、SELECT、UPDATE权限;对于存储过程,ALL只代表EXECUTE权限。
2.授予对象权限对象权限由该对象的拥用者为其他用户授权,非对象的拥有者不得向其他用户授予对象授权。
将对象权限授出后,获权用户可以对对象进行相应的操作,没有授予的权限不得操作。
从Oracle 9i开始,DBA用户可以将任何对象权限授予其他用户。
授予对象权限所使用的GRANT语句形式如下:grant { object_priv [ (column_list) ] [,object_priv[(column_list)]]….| ALL [PRIVILEGES] ON [ schema.]objectTO { user | role | PUBLIC} [,{user | role | public}] …[with grant option]其中,OBJECT_PRIV是对象权限,COLUMN_LIST用于标识权限所对应列的列表,SCHEMA表示模式名,USER表示被授权的用户,ROLE表示被授权的角色。
第7章:管理模式对象目的模式是一个数据库对象的集合。
模式为一个数据库用户所有,并具有与该用户相同的名称。
模式对象是由用户创建的逻辑结构,用以包含或引用他们的数据。
模式对象包含诸如表、视图和索引之类的结构。
您可以使用Oracle Enterprise Manager 来创建和操作模式对象。
主题本章讨论了下面几个主题:z访问模式对象z管理表z管理索引z管理视图z管理数据库驻留程序单元z加载数据到表中访问模式对象执行下面的步骤,使用 Enterprise Manager 访问模式对象:1. 打开浏览器,并指定用户名和密码为 SYS ,以登录到 Enterprise Manager Database Console。
单击 Login 。
2. 单击 Administration 并选择 Tables 链接。
3. 选择 flashlight 图标以选择一种特定的模式。
4. 选择 HR 并单击 Select 。
5. 在 Object Name 域中输入 emp 并单击 Go 。
6. 显示出与您的搜索条件相匹配的对象。
管理表表是 Oracle 数据库中数据存储的基本单元。
它们保存了所有用户可访问的数据。
每一个表都包含列和行。
在这一部分中,您将执行以下任务:z查看表的属性z查看表的内容z创建新表z修改表z丢弃表查看表的属性执行下面的步骤,查看 HR.EMPLOYEES 表的属性:1. 选择 EMPLOYEES 表并单击 View 。
2. 出现 Table View 页,其中显示了包含有列、约束和存储选项的表属性。
单击 Tables 链接,返回到 Tables 属性页。
查看表的内容执行下面列出的步骤以查看 HR.EMPLOYEES 表的内容:1. 选择 EMPLOYEES 表并从 Actions 下拉菜单中选择 View Data 。
单击 Go 。
2. 出现View Data For Table 页,其中显示了 Results 区中的行数据。
oracle模式对象的管理【开发语言及实现平台或实验环境】Oracle10g【实验目的】(1)学习基本数据库表的创建,表结构的修改与删除等命令;(2)学习索引的管理命令;(3)学习索引化表的管理命令(4)学习分区表的管理命令(5)学习簇、视图、序列、同义词等的管理命令【实验原理】1.基本表的管理(1)表的创建:Create命令:CREATETABLEtable_name(column_nametype(ize),column_nametype(i ze),…);或CREATETABLEtable_name[(column_name,…)]ASSELECTtatement;表名命名规则所用的表名必须满足下面的条件:a)名字必须以A-Z或a-z的字母开始;b)名字可以包括字母、数字和特殊字母(_)。
字符$和#也是合法的,但是这种用法不提倡;c)名字大小写是一样的;例如EMP、emp和eMp是表示同一个表;d)名字最长不超过30个字符;e)表名不能和其它的对象重名;f)表名不能是SQL保留字。
字段类型:完整性约束:Oracle允许用户为表和列定义完整性约束来增强一定的规则。
可分为:表约束和字段约束约束类型如下:1)NOTNULL约束NOTNULL约束保证字段值不能为NULL。
没有NOTNULL约束的字段,值可以为NULL。
2)UNIQUE约束指定一个字段或者字段的集合为唯一键。
在表中没有两行具有相同的值。
如果唯一键是基于单条记录的,NULL是允许的。
表约束命令格式:,[CONSTRAINTcontraint_name]UN IQUE(Column,Column,…)字段约束命令格式:[CONSTRAINTcontraint_name]UNIQUE例如:CREATETABLEDEPT(DEPTNONUMBER,DNAMEVARCHAR2(9),LOCVARCHAR2(10),CONSTRAINTUNQ_DEPT_LOCUNIQUE(DNAME,LOC));UNQ_DEPT_LOC是一个表约束。
oracle名词解释和简答题名词解释1.对象:对象实际是对一组数据和操作的封装,对象的抽象就是类。
2.并行服务器(OPS):可以允许一个数据库装载到多个数据库实例上并同时被这多个数据库实例打开。
3.DUAL表:该表只包含一个字段和一条记录。
使用它容易解决与表无关的一些查询问题。
4.DML级封锁:用于控制并发事务中的数据操纵,保证数据的一致性和完整性,其封锁对象可以是表或行。
5.触发器:存放在数据库中,它是一种当特定的事件发生时自动执行的存储过程。
6.网格计算:通过利用大量异构计算机的未用资源,将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。
7.模式:一系列逻辑数据结构或对象的集合,模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。
8.索引:一种可选的与表相关的数据库对象,用于提高数据查询效率。
9.视图:视图是一个逻辑表,是查看表的一种方式。
视图是对根据预定义的选择标准、由一个或者多个行的集合建立起来的动态表的静态定义。
简答题1. 简述Oracle系统的体系结构答:Oracle系统体系结构是整个Oracle服务器系统的框架,是管理和应用Ora 数据服务器的基础和核心。
(1) 数据库实例:系统全局区和后台进程(2) 物理存储结构:参数文件、控制文件、数据文件、重做日志文件等;(3) 逻辑存储结构:表空间、段、盘区、数据块等(4) 内存结构:系统全局区域、程序全局区、用户全局区2. 解释冷备份和热备份的不同点以及各自的优点。
答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。
而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。
冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。
第6章对象管理本章主要介绍对常见的Oracle对象(如表、视图、索引、同义词、序列和数据库链接等)进行管理的知识。
6.1 表管理表是数据库中最基本、最重要的对象,是实际存储数据的地方。
对数据库的许多操作和管理,实际上就是对表的操作和管理。
6.1.1 表简介按照存储内容的不同,表分为系统表和用户表。
系统表又称数据字典,用于存储管理用户数据和数据库本身的数据,记录数据、口令、数据文件的位置等。
用户表是由用户建立的,用于存放用户的数据。
按照数据保存时间的长短,表分为永久表和临时表。
永久表指表中的数据可以长期保存,通常所讲的表即指永久表。
临时表是指暂时存放在内存中的表,会话结束时临时表由系统自动删除。
按照表的结构不同,表分为普通表、分区表(Partitioned Table)、簇表(Clusterd Table)、索引组织表(Index-organized Table,IOT)等。
普通表就是最常见的各种应用系统的数据表;分区表中各分区是独立的,可以单独进行管理和操作;簇表是一组表的集合,这些表具有相同的数据块,共享共同的字段,并且经常在一起使用;索引组织表与普通表不同,它的数据是以主键存储方式存储在B-tree索引结构中。
表在关系数据库中代表实体,表的名称用来确定实体名。
在一个数据库中,对于某一个用户,表名是唯一的。
表由行和列组成。
行又称为记录,行的顺序是任意的,一般按照插入数据的先后顺序存放。
行在一个表中应该是唯一的,通常由用户在表中添加主键来保证。
列又称字段,代表实体的属性。
列的顺序也可以任意的。
在一个表中的列有一个唯一的名称和规定的数据类型,但在一个数据库中的不同表中,列名可以是相同的。
表6-1列出了Oracle数据库的表中的列可以使用的主要数据类型。
表6-1 列的主要数据类型用户在创建表时,通常为了实现业务规则,需要为表添加约束条件(Constraint)。
表中的每一行都满足约束条件,约束条件包括以下几种。