명렁어 종류

명렁어 종류 명령어 설명
DML(데이터 조작어) SELECT, INSERT, UPDATE, DELETE 데이터를 조회하거나 변형을 가하는 종류
DDL(데이터 정의어) CREATE, ALTER, DROP, RENAME, TRUNCATE 데이터 구조를 정의하는 명령어
DCL(데이터 제어어) GRANT, REVOKE 데이터베이스 사용 권한을 주거나 회수하는 명령어
TCL(트랜잭션 제어어) COMMIT, ROLLBACK, SAVEPOINT 논리적인 작업의 단위(트랜잭션)를 묶어서 제어하는 명령어

데이터베이스의 정리

  1. 운영(Operational) : 조직의 존재 목적이나 유용성 면에서 필수적인 데이터의 집합
  2. 저장(Stored) : 컴퓨터가 접근할 수 있는 저장 매체에 저장 된 데이터의 집합
  3. 공용(Shared) : 한 조직에서 여러 응용 프로그램이 공동으로 소유 가능한 데이터
  4. 통합(Intergrated) : 동일 데이터의 중복을 배제하여 중복을 최소화

트랜잭션의 성질

트랜잭션은 데이터베이스 내에서 한꺼번에 수행되어야 할 작업의 단위입니다. 따라서 전부 성공하거나 전부 실패해야 합니다.
트랜잭션이 진행되는 중간 데이터는 볼 수 없습니다.

  1. 원자성(Atomicity) : 분리할 수 없는 하나의 단위
  2. 일관성(Consistency) : 사용되는 모든 데이터는 일관성이 보장되어야 합니다. 성공적으로 수행한 트랜잭션은 정당한 데이터만을 반영해야 합니다.
  3. 격리성(Isolation) : 접근하고 있는 데이터는 다른 트랜잭션으로 부터 격리 되어야 합니다.
  4. 영속성(Durability) : 트랜잭션이 정상 종료(COMMIT)되면 그 결과는 시스템에 영구적으로 적용되어야 합니다.
  5. 순차성(Sequentiality) : 원래 트랜잭션이 수행된 후의 상태로 데이터를 되돌리는 것.

UNDO, REDO

UNDO와 REDO 둘다 복구를 하지만 복구 방식에 차이가 있습니다. UNDO는 사용자가 했던 작업을 반대로 진행해 작업을 원상태로 복구하고,
REDO는 사용자가 했던 작업을 그대로 다시 합니다.
결국 복구는 UNDO를 통해서 ROLLBACK합니다. 시스템 장애가 발생하면 UNDO 데이터도 모두 날아갑니다.
시스템 장애시 REDO 데이터를 이용해서 마지막 CHECK POINT부터 장애까지의 DB Buffer Cache를 복구하게 됩니다. 이게 완료되면, UNDO를 이용하여 COMMIT되지 않은 데이터를 모두 ROLLBACK함으로써 복구를 완료하게됩니다.
결국 REDO가 UNDO를 복구하고, UNDO가 최종적으로 복구를 하게 됩니다.

무결성 제약조건

  1. 무결성 : 데이터 및 네트워크 보안에 있어서 인가된 사람에 의해서만 조작이 가능한 성질
  2. 데이터 무결성 : 데이터를 인가하지 않은 방법으로 변경할 수 없도록 보호하는 성질
  3. 제약조건 : 데이터의 무결성을 위해서 5가지 제약조건(Constraint)를 제공, NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK

FOREGN KEY 옵션

  1. NO ACTION : 자식테이블에 데이터를 변경/삭제할 때 부모테이블에는 변동이 없습니다.
  2. CASCADE : 부모 테이블에서 해당 행이 업데이트되거나 삭제될 때 참조 테이블에서도 해당 행이 업데이트됩니다.
  3. SET NULL : 부모 테이블에서 행을 업데이트하거나 삭제하면 해당 외래 키를 구성하는 모든 값이 NULL로 설정됩니다.
  4. SET DEFAULT : 부모 테이블에서 해당 행을 업데이트하거나 삭제하면 외래 키를 구성하는 모든 값이 기본값으로 설정됩니다.
  5. RESTRICT : 자식테이블에 데이터가 남아있는 경우 부모 테이블의 데이터 수정 또는 삭제를 할 수 없습니다.

댓글남기기