首页 > 数据库 > Oracle > 正文
Oracle中的数据字典
2017-06-19 09:33:38       个评论    来源:  
收藏    我要投稿

Oracle中的数据字典
数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。它是随着数据库的建立而建立的,当数据库执行特定动作时数据字典也会自动更新。数据一览与数据字典来记录、校验和管理正在进行的操作。
oracle中、sys用户是数据字典的拥有者,数据字典保证在所有数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。也就是说数据字典只能查询,不能手动进行修改。

包括:
基本表:描述数据库信息,只 能由数据库服务器进行修改
用户表:用户自定义表

数据字典命名规则

前缀 说明
USER 用户自己的
ALL 用户可以访问的
DBA 管理员视图
V$ 性能相关的数据

如何使用数据字典视图
从DICTIONARY开始,这个数据对象包含了数据字典的表名和说明

DESCRIBE DICTIONARY

SELECT *
FROM   dictionary
WHERE  table_name = 'USER_OBJECTS';

USER_OBJECTS 和ALL_OBJECTS
USER_OBJECTS:
通过查询USER_OBJECTS可以确定当前用户所有创建的对象
可以获得如下信息:
Date created
Date of last modification
Status (valid or invalid)

SELECT object_name, object_type, created, status
FROM   user_objects
ORDER BY object_type;

ALL_OBJECTS:
可以通过查询ALL_OBJECTS来确定当前用户能访问的数据对象

表的信息

DESCRIBE user_tables

SELECT table_name
FROM   user_tables;

列的信息

DESCRIBE user_tab_columns

SELECT column_name, data_type, data_length,
       data_precision, data_scale, nullable
FROM   user_tab_columns
WHERE  table_name = 'EMPLOYEES'; 

约束
USER_CONSTRAINTS:当前用户表上的约束
USER_CONS_COLUMNS 当前用户创建的列约束

DESCRIBE user_constraints

SELECT constraint_name, constraint_type,
       search_condition, r_constraint_name, 
       delete_rule, status
FROM   user_constraints
WHERE  table_name = 'EMPLOYEES'; 


DESCRIBE user_cons_columns

SELECT constraint_name, column_name
FROM   user_cons_columns
WHERE  table_name = 'EMPLOYEES'; 

视图

DESCRIBE user_views

SELECT DISTINCT view_name FROM user_views;

SELECT text FROM user_views 
WHERE view_name = 'EMP_DETAILS_VIEW';

序列

DESCRIBE user_sequences

通过USER_SEQUENCES查询序列信息

SELECT  sequence_name, min_value, max_value, 
    increment_by, last_number
FROM    user_sequences;

LAST_NUMBER表示当没有使用NOCAHCE时,下一个可用的值

同义词

DESCRIBE user_synonyms

SELECT * 
FROM   user_synonyms;

给表添加注释
使用COMMENT语句给表或者列,添加注释:

COMMENT ON TABLE employees
IS 'Employee Information';

注释相关的视图:
ALL_COL_COMMENTS
USER_COL_COMMENTS
ALL_TAB_COMMENTS
USER_TAB_COMMENTS
查询表的注释
select * from user_tab_comments where table_name= ‘???’;

点击复制链接 与好友分享!回本站首页
上一篇:Oracle中常见的数据库对象
下一篇:Oracle那些事(10)-scott用户的简单使用
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 |
版权所有: 88bifa.com--致力于做实用的IT技术学习网站