DDL
2019. 4. 25. 15:24ㆍDataBase
DDL - Data Definition Language
데이터베이스의 구조나 스키마를 가진 오브젝트를 다루는(생성, 삭제, 변경 등) 데이터베이스 언어
- 하나의 데이터베이스는 여러 개의 데이터파일을 가질 수 있다.
- 하나의 데이터파일은 반드시 하나의 데이터베이스에 소속한다.
- 하나의 데이터파일에는 여러 개의 테이블 스페이스가 존재할 수 있다.
- 하나의 테이블 스페이스에는 여러 개의 데이터파일을 이용할 수 있다.
- 하나의 테이블 스페이스에는 여러 개의 테이블이 존재할 수 있다.
- 하나의 테이블은 반드시 한 테이블 스페이스에 소속한다.
- 하나의 테이블에는 여러 개의 뷰가 생성될 수 있다.
- 하나의 뷰는 여러 개의 테이블을 이용하여 생성될 수 있다.
테이블 스페이스 - 각종 오브젝트(테이블, 뷰, 인덱스, 시퀀스)를 저장하는 공간
테이블 스페이스의 특징
- 공간 관리, 데이터의 사용 가능 관리, 입출력 성능 개선, 경합 감소, 부분 백업 등에 사용
- 하나 이상의 파일로 구성
- DB 실행 동안 온라인될 수 있다.
- 시스템 테이블 스페이스나 활동 롤백 세그먼트를 갖는 테이블 스페이스를 제외하고 오프라인될 수 있다.
- 읽기-쓰기 또는 읽기-전용 으로 변경될 수 있다.
- 데이터베이스는 최소 하나의 테이블 스페이스로 구성
테이블 스페이스 생성
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 |