---------模式概念:
在oracle 11g数据库中,数据库对象是以模式为单位进行组织与管理的。所谓模式是指一系列逻辑数据结构或对象的集合。
模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。通常情况下,用户所创建的数据库对象
都保存在与自己同名的模式中。在同一个模式中,数据库对象的名称必须唯一;而在不同模式中的数据库对象可以同名。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
例如,数据库用户 usera 和 userb 都在数据库中创建一个名为 test 的表,因为用户 usera 和 userb 分别对应 usera 和userb 模式,故
usera 用户创建的 test 表放在 usera 的模式中,而 userb 创建的 test 表放在 userb 模式中。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在默认情况下,用户引用的对象是与自己同名模式中的对象,如果要引用其他模式中的对象,则需要在该对象名之前指明对象所属模式。
例如:如果用户 usera 要引用 userb 模式中的 test 表,则必须使用 userb.test 形式来表示;
如果用户 usera 要引用 usera 模式中的test 表,则必须使用 usera.test 形式或者直接引用 test 来表示
oracle 数据库中并不是所有的对象都是模式对象。表、索引、索引化表、分区表、物理化视图、视图、数据库链接、序列、同义词、
PL/SQL 包、存储函数与过程、java类与其他 java 等属于特定的模式,称为模式对象。表空间、用户、角色、目录、概要文件及上下文等
数据库对象不属于任何模式,称为非模式对象。
-------------案例数据库模式的创建:
为了方便案例数据库中数据库对象的应用与管理,在 HUMAN_RESOURCE 数据库中创建一个名为 human 的用户,以该用户登陆数据库并
创建各种数据库对象,这些对象将成为 human 模式的对象。
创建 human 用户,并为其授权,方法诶为:
创建用户的语句:create user 用户名 identified by 密码 default tablespace users;
SQL> connect sys/tiger @HUMAN_RESOURCE as sysdba;
SQL>create user human identified by human default tablespace users;
SQL>grant connect , resource , create view to human;
以后,就可以以 human 用户登陆 HUMAN_RESOURCE 数据库,并创建各种数据库对象。
SQL> connect human/human @HUMAN_RESOURCE