2011년 7월 12일 화요일

[Oracle.8]DML (Data Manipulation Language) - Data Dictionary

DML ( Data Manipulation Language )
테이블의 데이터는 조회 및 추가, 수정, 삭제할 수 있어야 한다. DML은 이와 관련된 명령어를 부르는 용어로 데이터 조작 명령을 통해 테이블 내 데이터를 추가, 수정, 삭제 할 수 있다.
3. Data Dictionary
Data Dictionary라는 사전은 Oracle Database 내 저장된 모든 객체의 정보를 제공 한다. SELECT라는 명령문을 통해 테이블에 저장된 데이터를 볼 수 있다.
Data Dictionary는 데이터베이스 생성 시에 만들어 지며, 크게 3가지로 분류 한다.
1) 접두사 ‘USER_’를 갖는 사전 ( User’s View )
현재 데이터베이스에 접속한 사용자가 소유한 객체의 정보를 제공한다. 즉 사용자가 만든 모든 객체의 정보가 USER_로 시작하는 테이블에 저장되어 있다고 생각하면 된다.
SQL > CONN hr
         SELECT table_name
            FROM user_tables;
2) 접두사 ‘ALL_’을 갖는 사전 ( Expanded User’s View )
사용자가 접근 가능한 모든 스키마의 정보를 제공한다. 다른 사람으로부터 특정 객체에 접근할 수 있는 권한을 부여 받았을 때 이런 객체 정보를 ALL_로 시작하는 테이블에서 제공한다.
권한 부여
SQL > CONN scott
      GRANT SELECT ON salgrade TO hr;
조회
SQL > CONN hr
      SELECT table_name
      FROM all_tables
      WHERE table_name = ‘SALGRADE’;
3) 접두사 ‘DBA_’를 갖는 사전 ( Database Administrator’s View )
DBA_ DBA 권한을 가진 데이터베이스 관리자만이 접근 가능한 테이블이다. 데이터베이스 관리를 위한 정보를 얻을 수 있다.
SQL > CONN system
      SELECT username
      FROM dba_users;
4) 데이터 사전에서 제공하는 내용
- 데이터베이스의 모든 스키마 오브젝트 ( 테이블, View, 시퀀스 등 ) 의 정의
- 스키마 오브젝트에 의해 현재 사용된 공간
- 칼럼들의 기본값
- 제약 조건 정보
- Oracle 사용자 이름
- 각 사용자에게 부여된 권한과 룰
- Auditing 정보
USER_OBJECTS
현재 사용자가 소유하고 있는 모든 객체들의 정보를 보여줍니다.
USER_SOURCE
사용자가 작성한 저장 프로시저의 Text Source 정보를 보여줍니다.
DBA_USERS
모든 사용자의 정보를 보여줍니다.
USER_TABLES
사용자가 소유하고 있는 모든 테이블에 대한 정보를 보여줍니다.
USER_CONSTRAINTS
사용자가 소유한 스키마 내 테이블의 제약 조건에 대한 정보를 보여줍니다.
USER_CONS_COLUMNS
사용자 소유의 테이블 내 어떤 칼럼에 제약 조건이 설정되어 있는지를 보여줍니다.
USER_INDEXES
사용자가 소유한 인덱스의 정보를 보여줍니다.
USER_IND_COLUMNS
사용자 소유의 테이블 내 어떤 칼럼에 인덱스가 설정되어 있는지 보여줍니다.
USER_VIEWS
사용자 소유의 View 정보를 보여줍니다.

*** 참조 문헌 : 10g로 시작하는 오라클 SQL & PL/SQL - 5장 데이터조작의 장애를 제거하라

댓글 없음:

댓글 쓰기

언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 ...