DDL과 DML
COMMIT과 ROLLBACK
컬럼속성( 무결성 제약조건 )
- Drop table 테이블명
- 테이블의 존재 자체가 삭제
- Truncate table 테이블명;
- 데이터만 통으로 삭제
- 테이블을 Drop 했다가 Create 하기 때문에, 모든 행을 삭제하는 데에는
가장 빠르고 효율적인 방법이다.
- DDL
- delete from 테이블명 where ~ ;
- 데이터를 골라서 삭제
- DML
- 내부 방식이 다르기 때문이다. delete는 한 줄 한 줄 삭제가 된다.
- 로그( log )
< Table 생성 예제 및 DELETE >
- 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어이다.
- 트랜잭션의 처리 과정을 데이터베이스에 반영하기 위해서,
변경된 내용을 모두 영구 저장한다.
- commit을 수행하면, 하나의 트랜잭션 과정을 종료하게 된다.
- transaction 작업 내용을 실제 DB에 저장한다.
- 이전 데이터가 완전히 update 된다.
- 모든 사용자가 변경한 데이터의 결과를 볼 수 있다.
- 자동 commit 옵션
< COMMIT의 기본 원리 >
- 작업 중 문제가 발생했을 때, 트랜잭션의 처리 과정에서 발생한 변경 사항을
취소하고, 트랜잭션 과정을 종료시킨다.
- 트랜잭션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다.
- transaction 작업 내용을 취소한다.
- 이전 commit 한 위치까지만 복구한다.
- 트랜잭션 작업 중 하나라도 문제가 발생하면, 모든 작업을 취소해야 하기 때문에
하나의 논리적인 작업 단위로 구성해 놓아야 한다. 문제가 발생하면, 논리적인
작업의 단위를 모두 취소해 버리면 되기 때문이다.
- 비정상적인 종료
- DDL문( CREATE, ALTER, DROP, TRUNCATE )
- DCL문( GRANT, REVOKE ) 사용권한
- INSERT, UPDATE, DELETE 작업 후 COMMIT을 하지 않고 오라클 정상 종료 시,
COMMIT 명령어를 입력하지 않아도 정상 COMMIT 후 오라클 종료
< COMMIT, ROLLBACK과 NOT NULL 컬럼속성 >
- NOT NULL : 널값이 입력되지 못하게 하는 조건
- UNIQUE : 중복된 값이 입력되지 못하게 하는 조건
- CHECK : 주어진 값만 허용하는 조건
- PRIMARY KEY : NOT NULL + UNIQUE의 의미
- FOREIGN KEY : 외래키, 다른 테이블의 필드(컬럼)을 참조해서
무결성을 검사하는 조건
< UNIQUE와 동시 컬럼속성 >