데이터 사전의 종류

 

*개요

-다수의 사용자가 동일한 데이터를 공유

-읽기 전용 뷰로 구성

-데이터베이스 관리자나 사용자에게 데이터 사전에 저장된 정보 조회 허용

-용도에 따라 USER, ALL, DBA 접두어를 사용하여 분류

 

[표11.1] 접두어 종류에 따른 데이터 사전 뷰

 

 

데이터 사전

 

*데이터 사전의 관리 정보

-데이터베이스의 물리적 구조와 객체의 논리적 구조

-오라클 사용자 이름과 스키마 객체 이름

-사용자에게 부여된 접근 권한과 롤

-무결성 제약조건에 대한 정보

-칼럼별로 지정된 기본값

-스키마 객체에 할당된 공간의 크기와 사용 중인 공간의 크기 정보

-객체 접근 및 갱신에 대한 감사 정보

-데이터베이스 이름, 버전, 생성날짜, 시작모드, 인스턴스 이름 정보

 

 

데이터 사전

 

*개요

-사용자와 데이터베이스 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블의 집합

-사전 내용의 수정은 오라클 서버만 가능

  。오라클 서버는 데이타베이스의 구조, 감사, 사용자 권한, 데이터 등의 변경 사항을 반영하기 위해 지속적 수정 및 관리

-데이타베이스 관리자나 일반 사용자는 읽기 전용 뷰에 의해 데이터 사전의 내용을 조회만 가능

-실무에서는 테이블, 칼럼, 뷰 등과 같은 정보를 조회하기 위해 사용

 

 

주석 추가

 

*사용 예

-주소록 테이블에서 '고객 주소록 관리하기 위한 테이블'이라는 주석을 추가하여라.

SQL> COMMENT    ON  TABLE    address

    2          IS        '고객 주소록을 관리하기 위한 테이블' ;

주석이 생성되었습니다. 

 

*사용 예

-주소록 테이블의 name 칼럼에 '고객이름' 이라는 주석을 추가하여라.

SQL>  COMMENT   ON COLUMN   address.name

   2             IS       '고객 이름' ;

주석이 생성되었습니다.

 

 

주석 추가

 

*기능

-테이블이나 칼럼에 최대 2,000 바이트까지 주석을 추가

-COMMENT ON TABLE...IS 명령문 이용

-추가된 주석 확인

   。ALL_COL_COMMENTS, USER_COL_COMMENTS,

      ALL_TAB_COMMENTS 데이터 사전 질의

 

*사용법 : 테이블에 주석 추가

COMMENT    ON   TABLE   table

                IS     'content  of   comment' ;

 

*사용법 : 칼럼에 주석 추가

COMMENT   ON   COLUMN   table.column

                  IS    'content   of    comment' ;

 

 

 

DELETE, DROP, TRUNCATE의 비교

 

*DELETE/TRUNCATE/DROP의 비교

 

테이블 정의는 DROP 명령어를 사용한 테이블 삭제일 경우만 가능하며, 나머지의 경우는 테이블의 정의가 남는다.

DELETE를 제외하고 TRUNCATE, DROP은 사용공간(저장공간)을 반납하여 다른 곳에서 해당 공간을 재사용 가능하다.

(Drop...Purge 경우)

작업 속도는 DELETE를 이용한 데이터 삭제의 경우 삭제되는 행마다 로그를 기록하기 때문에 속도가 저하된다.

 

 

DELETE, DROP, TRUNCATE의 비교

 

3. TRUNCATE 명령어 사용

 

SQL 명령어 TRUNCATE를 사용하여 TABLE의 모든 행을 삭제할 수 있다.

예를 들어 EMP TABLE을 잘라내는 명령문은 다음과 같다.

 

SQL>TRUNCATE TABLE emp;

 

◈TRUNCATE 명령어는 TABLE이나 CLUSTER에서 모든 행을 삭제하는 빠르고 효율적인 방법이다.

TRUNCATE 명령어는 어떤 ROLLBACK 정보도 만들지 않고 즉시 COMMIT 한다.

TRUNCATE 명령어는 DDL 명령문으로 ROLLBACK될 수 없다.

TRUNCATE 명령문은 잘라 버릴 TABLE과 관련된 구조(CONSTRAINT, TRIGGER 등)과 권한에 영향을 주지 않는다.

TRUNCATE 명령문이 TABLE에서 ROW를 삭제하면 해당 TABLE에 걸려 있는 TRIGGER는 실행되지 않는다.

◈AUDIT 기능이 ENABLE되어 있으면, TRUNCATE 명령문은 DELETE 문에 해당하는 AUDIT 정보를 생성하지 않는다. 대신 발생한 TRUNCATE 명령문에 대한 단일 AUDIT RECORD를 생성한다.

 

 

DELETE, DROP, TRUNCATE의 비교

 

2. DROP과 CREATE 명령어 사용

 

TABLE을 삭제한 다음 재생성할 수 있다.

예를 들어 EMP TABLE을 삭제하고 재생성하는 명령문을 다음과 같다.

 

SQL>DROP TABLE emp;

SQL>CREATE TABLE emp(.....);

 

◈TABLE이나 CLUSTER를 삭제하고 재생성하면 모든 관련된 INDEX, CONSTRAINT, TRIGGER도 삭제되며, 삭제된 TABLE이나 CLUSTERED TABLE에 종속된 OBJECTS는 무효화된다.

◈삭제된 TABLE이나 CLUSTERED TABLE에 부여된 권한도 삭제된다.

 

+ Recent posts