数据库对象

所有对象都有名称,所有对象都属于某个人。" 某个人"就是数据库用户,例如HR。用户拥有的对象就是它们的模式(schema)。对象的名称必须符合某些规则。

用户是能够连接到数据库的人,用户有用户名和口令。

模式是一个容器,包含用户拥有的对象。

创建用户时,也会创建他们的模式。模式是用户拥有的对象。最初是空的。用户若从未创建对象,模式一直是空的。


模式对象是有所有者的对象。特定类型对象的唯一标识符不是它的名称,而是前面加上它所属的模式名称。表hr.abc 是名为abc的表,归用户hr所有。

而另外一个w.abc,它是另外一个完全不同的表(也许结构和内容不同),它归w所有,驻留在该用户的模式里。


使用DML 命令不能修改SYS模式中的对象。

对象名称总是区分大小写的。下面示例两个表完全不同:

SQL> create table lower(c1 date);

表已创建。

SQL> create table "lawer"(col1 varchar2(2));

表已创建。

SQL> select table_name from dba_tables where lower(table_name)='lower';

TABLE_NAME
------------------------------
lower
LOWER


查询列出某个特定数据库中存在的对象类型,并计算有多少种:从视图DBA_OBJECTS 中检索对象。每个对象在数据库中都有一行。

SQL> select object_type,count(object_type) from dba_objects group by object_type order by object_type;

OBJECT_TYPE         COUNT(OBJECT_TYPE)
------------------- ------------------
CLUSTER                             10
CONSUMER GROUP                       5
CONTEXT                              2
DIRECTORY                            3
EVALUATION CONTEXT                  11
FUNCTION                           229
INDEX                             1105
INDEX PARTITION                     99
INDEXTYPE                            6
JAVA CLASS                       15937
JAVA DATA                          299

OBJECT_TYPE         COUNT(OBJECT_TYPE)
------------------- ------------------
JAVA RESOURCE                      766
JOB                                  6
JOB CLASS                            2
LIBRARY                            136
LOB                                479
LOB PARTITION                        1
OPERATOR                            51
PACKAGE                            574
PACKAGE BODY                       547
PROCEDURE                           69
PROGRAM                              3

OBJECT_TYPE         COUNT(OBJECT_TYPE)
------------------- ------------------
QUEUE                               21
RESOURCE PLAN                        3
RULE                                 4
RULE SET                            13
SCHEDULE                             1
SEQUENCE                           115
SYNONYM                          18746
TABLE                             1051
TABLE PARTITION                     90
TRIGGER                             51
TYPE                              1315

OBJECT_TYPE         COUNT(OBJECT_TYPE)
------------------- ------------------
TYPE BODY                          136
UNDEFINED                            6
VIEW                              3097
WINDOW                               2
WINDOW GROUP                         1
XML SCHEMA                          24

已选择39行。




--确定HR模式中各种类型的对象有多少个?user_objects视图列出当前会话连接的模式(这里是hr)拥有的所有对象
select object_type,count(*) from user_objects group by object_type;

--确定hr有权访问的对象总数,ALL_objects 视图列出用户能够访问的所有对象
select object_type,count(*) from all_objects group by object_type;

--确定谁拥有HR能够看见的对象
select distinct owner from all_objects;


另外:USER_OBJECTS 它会显示你拥有的所有对象。

            ALL_OBJECTS 显示你能够访问的所有对象(包括自己拥有的对象)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值