11Copyright © 2006, Oracle. All rights reserved.
Managing Objectswith Data Dictionary Views
Copyright © 2006, Oracle. All rights reserved.11 - 2
Objectives
After completing this lesson, you should be able to do the following: • Use the data dictionary views to research data
on your objects • Query various data dictionary views
Copyright © 2006, Oracle. All rights reserved.11 - 3
The Data Dictionary
Oracle server
Tables containing business data:EMPLOYEESDEPARTMENTSLOCATIONSJOB_HISTORY...
Data dictionary views:DICTIONARYUSER_OBJECTSUSER_TABLESUSER_TAB_COLUMNS...
Copyright © 2006, Oracle. All rights reserved.11 - 4
Data Dictionary Structure
Oracle server
Consists of:– Base tables– User-accessible views
Copyright © 2006, Oracle. All rights reserved.11 - 5
Data Dictionary Structure
View naming convention:
View Prefix PurposeUSER User’s view (what is in your
schema; what you own) ALL Expanded user’s view (what you
can access): 다른 유저의 소유DBA Database administrator’s view
(what is in everyone’s schemas): 관리자 소유
V$ Performance-related data: 실시간 누적 통계 )
Copyright © 2006, Oracle. All rights reserved.11 - 6
How to Use the Dictionary Views
Start with DICTIONARY. It contains the names and descriptions of the dictionary tables and views.DESCRIBE DICTIONARY
SELECT *FROM dictionaryWHERE table_name = 'USER_OBJECTS';
Copyright © 2006, Oracle. All rights reserved.11 - 7
USER_OBJECTS and ALL_OBJECTS Views
USER_OBJECTS:• Query USER_OBJECTS to see all of the objects
that are owned by you• Is a useful way to obtain a listing of all ob-
ject names and types in your schema, plus the following information:– Date created– Date of last modification– Status (valid or invalid)
ALL_OBJECTS:• Query ALL_OBJECTS to see all objects to
which you have access
Copyright © 2006, Oracle. All rights reserved.11 - 8
USER_OBJECTS View
SELECT object_name, object_type, created, statusFROM user_objectsORDER BY object_type;
…
Copyright © 2006, Oracle. All rights reserved.11 - 9
Table Information
USER_TABLES:DESCRIBE user_tables
SELECT table_nameFROM user_tables;
…
Copyright © 2006, Oracle. All rights reserved.11 - 10
Column Information
USER_TAB_COLUMNS:DESCRIBE user_tab_columns
…
Copyright © 2006, Oracle. All rights reserved.11 - 11
Column Information
SELECT column_name, data_type, data_length, data_precision, data_scale, nullableFROM user_tab_columnsWHERE table_name = 'EMPLOYEES';
Copyright © 2006, Oracle. All rights reserved.11 - 12
Constraint Information
• USER_CONSTRAINTS describes the constraint def -initions on your tables.
• USER_CONS_COLUMNS describes columns that are owned by you and that are specified in con-straints.DESCRIBE user_constraints
…
Copyright © 2006, Oracle. All rights reserved.11 - 13
Constraint Information
SELECT constraint_name, constraint_type, search_condition, r_constraint_name, delete_rule, statusFROM user_constraintsWHERE table_name = 'EMPLOYEES';
Copyright © 2006, Oracle. All rights reserved.11 - 14
Constraint Information
DESCRIBE user_cons_columns
SELECT constraint_name, column_nameFROM user_cons_columnsWHERE table_name = 'EMPLOYEES';
…
Copyright © 2006, Oracle. All rights reserved.11 - 15
View Information
DESCRIBE user_views
SELECT DISTINCT view_name FROM user_views;
SELECT text FROM user_views WHERE view_name = 'EMP_DETAILS_VIEW';
1
2
3
Copyright © 2006, Oracle. All rights reserved.11 - 16
Sequence Information
DESCRIBE user_sequences
Copyright © 2006, Oracle. All rights reserved.11 - 17
Sequence Information
• Verify your sequence values in the USER_SEQUENCES data dictionary table.
• The LAST_NUMBER column displays the next available sequence number if NOCACHE is specified.
SELECT sequence_name, min_value, max_value, increment_by, last_number
FROM user_sequences;
Copyright © 2006, Oracle. All rights reserved.11 - 18
Synonym Information
DESCRIBE user_synonyms
SELECT * FROM user_synonyms;
Copyright © 2006, Oracle. All rights reserved.11 - 19
Adding Comments to a Table
• You can add comments to a table or col-umn by using the COMMENT statement:
• Comments can be viewed through the data dictionary views:– ALL_COL_COMMENTS– USER_COL_COMMENTS– ALL_TAB_COMMENTS– USER_TAB_COMMENTS
COMMENT ON TABLE employeesIS 'Employee Information';Comment created.
Copyright © 2006, Oracle. All rights reserved.11 - 20
Summary
In this lesson, you should have learned how to find information about your objects through the following dictionary views:• DICTIONARY• USER_OBJECTS• USER_TABLES• USER_TAB_COLUMNS• USER_CONSTRAINTS• USER_CONS_COLUMNS• USER_VIEWS• USER_SEQUENCES• USER_TAB_SYNONYMS
Copyright © 2006, Oracle. All rights reserved.11 - 21
Practice 11: Overview
This practice covers the following topics:• Querying the dictionary views for table and
column information• Querying the dictionary views for con-
straint information• Querying the dictionary views for view in-
formation• Querying the dictionary views for sequence
information• Querying the dictionary views for synonym
information• Adding a comment to a table and querying
the dictionary views for comment informa-tion