10.1 Dictionary(메타정보)란
- ORACLE SERVER에 의해서 생성되고 유지보수
- 데이터베이스에 대한 정보를 가짐
- 읽기 전용으로만 제공되는 뷰(VIEW)와 테이블의 집합
- 데이터 사전( Data Dicitionary ) 테이블은 SYS 사용자가 소유
Dictionary의 예
- ORACLE SERVER 사용자명
- 사용자에게 허가된 권한
- 데이터베이스 객체명( TABLE, SEQUENCE, VIEW, INDEX 등 )
- 테이블 제약조건
- 감사(Auditing) 정보
10.2 Dictionary View의 종류
데이터 사전 뷰( Dictionary View )는 4가지의 종류가 있는데, 각기 다른 접두어를 써서 구분한다
접두어( prefix ) | 설 명 |
USER_ | 사용자가 소유한 객체에 관한 정보를 저장 |
ALL_ | 사용자에게 액세스가 허용된 객체에 관한 정보를 저장 |
DBA_ | DBA권한을 가진 사용자가 액세스 할 수 있는 정보를 저장 |
V$ | 서버의 성능과 Locking에 관한 정보를 저장. 일반적으로 DBA에게만 허용됨 |
다른 몇가지 데이터 사전 뷰는 위에서 나열된 접두어를 쓰지 않고 동의어( SYNONYMS )을 이용
뷰 이름 | 설 명 |
DICTIONARY | 모든 데이터 사전 테이블, 뷰, 동의어 저장 |
TABLE_ PRIVILEGES |
사용자가 권한을 부여했거나( GRANTOR ) 부여받은( GRNTEE ) 오브젝트에 대한 권한 |
IND | USER_INDEXES의 동의어( SYNONYMS ) |
10.3 Dictionary 검색
DESC dictionary
SELECT *
FROM dictionary ;
SELECT *
FROM dictionary
WHERE table_name LIKE 'USER%';
Dictionary 검색 예시
SELECT object_name -- 사용자가 소유한 모든 테이블 조회
FROM user_objects
WHERE object_type = 'TABLE'; -- 대문자
SELECT constraint_name, constraint_type,
search_condition, r_constraint_name
FROM user_constraints -- S_EMP의 테이블레벨 제한 검색
WHERE table_name = 'S_EMP'; -- 대문자
SELECT constraint_name, column_name
FROM user_cons_columns -- S_EMP의 컬럼레벨 제한 검색
WHERE table_name = 'S_EMP'; -- 대문자
'SQL > 기초' 카테고리의 다른 글
SQL 정리 11일차 데이터 정의어(DDL) (0) | 2023.09.01 |
---|---|
SQL 정리 9일차 TRANSACTION CONTROL (0) | 2023.08.29 |
SQL 정리 8일차 CONSTRAINT (0) | 2023.08.27 |
SQL 정리 7일차 SubQUERY (0) | 2023.08.25 |
SQL 정리 6일차 JOIN (0) | 2023.08.16 |