풀스택 과정 day11_DBMS
2022.4.20.(수)
DDL과 DML
COMMIT과 ROLLBACK
컬럼속성( 무결성 제약조건 )
1. Drop vs Truncate vs Delete
1-1. Drop
- Drop table 테이블명
- 테이블의 존재 자체가 삭제
1-2. Truncate
- Truncate table 테이블명;
- 데이터만 통으로 삭제
- 테이블을 Drop 했다가 Create 하기 때문에, 모든 행을 삭제하는 데에는
가장 빠르고 효율적인 방법이다.
- DDL
1-3. Delete
- delete from 테이블명 where ~ ;
- 데이터를 골라서 삭제
- DML
- 내부 방식이 다르기 때문이다. delete는 한 줄 한 줄 삭제가 된다.
- 로그( log )
< Table 생성 예제 및 DELETE >
2. COMMIT
- 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어이다.
- 트랜잭션의 처리 과정을 데이터베이스에 반영하기 위해서,
변경된 내용을 모두 영구 저장한다.
- commit을 수행하면, 하나의 트랜잭션 과정을 종료하게 된다.
- transaction 작업 내용을 실제 DB에 저장한다.
- 이전 데이터가 완전히 update 된다.
- 모든 사용자가 변경한 데이터의 결과를 볼 수 있다.
2-1. auto commit
- 자동 commit 옵션
< COMMIT의 기본 원리 >
3. ROLLBACK
- 작업 중 문제가 발생했을 때, 트랜잭션의 처리 과정에서 발생한 변경 사항을
취소하고, 트랜잭션 과정을 종료시킨다.
- 트랜잭션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다.
- transaction 작업 내용을 취소한다.
- 이전 commit 한 위치까지만 복구한다.
- 트랜잭션 작업 중 하나라도 문제가 발생하면, 모든 작업을 취소해야 하기 때문에
하나의 논리적인 작업 단위로 구성해 놓아야 한다. 문제가 발생하면, 논리적인
작업의 단위를 모두 취소해 버리면 되기 때문이다.
3-1. 자동 ROLLBACK 되는 경우
- 비정상적인 종료
3-2. 자동 COMMIT 되는 경우
- DDL문( CREATE, ALTER, DROP, TRUNCATE )
- DCL문( GRANT, REVOKE ) 사용권한
- INSERT, UPDATE, DELETE 작업 후 COMMIT을 하지 않고 오라클 정상 종료 시,
COMMIT 명령어를 입력하지 않아도 정상 COMMIT 후 오라클 종료
< COMMIT, ROLLBACK과 NOT NULL 컬럼속성 >
4. 컬럼속성( 무결성 제약조건 )
- NOT NULL : 널값이 입력되지 못하게 하는 조건
- UNIQUE : 중복된 값이 입력되지 못하게 하는 조건
- CHECK : 주어진 값만 허용하는 조건
- PRIMARY KEY : NOT NULL + UNIQUE의 의미
- FOREIGN KEY : 외래키, 다른 테이블의 필드(컬럼)을 참조해서
무결성을 검사하는 조건
< UNIQUE와 동시 컬럼속성 >
Author And Source
이 문제에 관하여(풀스택 과정 day11_DBMS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@doby98/풀스택-과정-day11DBMS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)