DDL

2019. 4. 25. 15:24DataBase

DDL - Data Definition Language

 

데이터베이스의 구조나 스키마를 가진 오브젝트를 다루는(생성, 삭제, 변경 등) 데이터베이스 언어

 

  • 하나의 데이터베이스는 여러 개의 데이터파일을 가질 수 있다.
  • 하나의 데이터파일은 반드시 하나의 데이터베이스에 소속한다.
  • 하나의 데이터파일에는 여러 개의 테이블 스페이스가 존재할 수 있다.
  • 하나의 테이블 스페이스에는 여러 개의 데이터파일을 이용할 수 있다.
  • 하나의 테이블 스페이스에는 여러 개의 테이블이 존재할 수 있다.
  • 하나의 테이블은 반드시 한 테이블 스페이스에 소속한다.
  • 하나의 테이블에는 여러 개의 뷰가 생성될 수 있다.
  • 하나의 뷰는 여러 개의 테이블을 이용하여 생성될 수 있다.

테이블 스페이스 - 각종 오브젝트(테이블, 뷰, 인덱스, 시퀀스)를 저장하는 공간

 

테이블 스페이스의 특징

  1. 공간 관리, 데이터의 사용 가능 관리, 입출력 성능 개선, 경합 감소, 부분 백업 등에 사용
  2. 하나 이상의 파일로 구성
  3. DB 실행 동안 온라인될 수 있다.
  4. 시스템 테이블 스페이스나 활동 롤백 세그먼트를 갖는 테이블 스페이스를 제외하고 오프라인될 수 있다.
  5. 읽기-쓰기 또는 읽기-전용 으로 변경될 수 있다.
  6. 데이터베이스는 최소 하나의 테이블 스페이스로 구성

테이블 스페이스 생성

 

CREATE TABLESPACE tablespace_name

DATAFILE '파일 경로'

DEFAULT STORAGE (

INITIAL 

NEXT

...

);

 

테이블 스페이스 삭제 - DROP TABLESPACE tablespace_name

 

트랜잭션 컨트롤

트랜잭션이란 논리적인 작업 단위를 말한다.

SQL 문장에서 트랜잭션 처리는 데이터베이스에 반영하는 COMMIT과 ROLLBACK이 있다.

 

오라클에서 트랜잭션을 종료시키는 경우

  • COMMIT이나 ROLLBACK이 실행될 때
  • DML 문장이 실행되었고 트랜잭션이 종료되지 않았는데 CREATE, DROP, RENAME, ALTER와 같은 DDL 문장이 실행되는 경우 DML 문장은 자동으로 COMMIT 된다.
  • 트랜잭션이 종료되지 않았는데 사용자가 오라클 접속에서 빠져나갈 때 트랜잭션은 자동으로 COMMIT 된다.
  • 비정상적으로 시스템이 종료되는 경우 현 트랜잭션은 ROLLBACK 된다.

 

트랜잭션 컨트롤 문장은 COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION 으로 분류할 수 있다.

COMMIT - 데이터베이스에 DML 작업 내용을 반영한다.

ROLLBACK - 데이터베이스에 DML 작업 내용을 취소한다.

SAVEPOINT - 긴 트랜잭션 중간중간에 롤백을 대비하여 기록한다.

SET TRANSACTION - 트랜잭션의 종류를 읽기 전용으로 할 것인지 읽기/쓰기로 할 것인지 저장한다.

 

 

'DataBase' 카테고리의 다른 글

오라클 SQL  (0) 2019.04.24
물리 설계 - 데이터베이스 구축  (0) 2019.04.17
모델링 검토 - 2  (0) 2019.04.16
모델링 검토 - 1  (0) 2019.04.16
프로세스 모델링  (0) 2019.04.15