데이터베이스에서 무결성과 제약 조건은 반드시 지켜져야 하는 약속이다.

 

무결성

개체 무결성 

- 기본 키(primary key)로 선택된 열은 고유해야 하며 null 값을 가질 수 없음

 

참조 무결성

- 기본 키와 외래 키의 관계 외래 키가 있는 테이블의 경우에는 기본 키와 외래 키 간의 관계가 항상 유지됨을 보장

참조하는 외래 키가 존재하면 행은 삭제될 수 없고 기본 키도 변경될 수 없음

 

영역 무결성

- 데이터 형태, 범위, 기본값, 유일성에 관한 제한 주어진 속성 값은 그 속성이 정의된 도메인에 속한 값이어야 함

 

비즈니스 무결성

- 사용자의 업무 규칙에 따른 비즈니스적인 제약 조건

 

제약조건

- 정해 놓은 규칙에 맞는 데이터만 입력받고 규칙에 어긋나는 데이터는 거부하여 데이터 무결성을 지키는 방법

 

기본 키 제약 조건

- UNIQUE + NOT NULL을 만족해야함 테이블을 대표하여 각 행을 유일하게 식별하는 값이어야 함

 

외래 키 제약조건

- 열 값이 부모 테이블의 참조 열의 값을 반드시 참조해야 함 참조된 열은 UNIQUE하거나 기본 키 이다.

 

유일 키

- 중복된 값을 허용하지 않음 유일한 값으로 존재해야 함(null 값 허용 가능)

 

NOT NULL

- null 값을 허용하지 않음 값 반드시 입력

 

CHECK

- 범위나 조건 등 지정된 값만 허용

 

트랜잭션 

- 삽입, 갱신, 삭제와 관련된 논리적인 작업

- commit, lock, rollback

 

트랜잭션 특징(ACID)

원자성

- 트랜잭션의 처리가 완전히 끝나지 않았을 경우에는 전혀 이루어지지 않은 것과 같아야 한다

 

일관성

- 트랜잭션의 실행이 성공적으로 완료되면 데이터베이스는 모순 없이 일관성이 보존된 상태여야 한다.

 

고립성

- 어떤 트랜잭션도 다른 트랜잭션의 부분적 실행 결과를 볼 수 없다.

 

지속성

- 트랜잭션이 성공하면 트랜잭션의 결과를 영구적으로 보장해야 한다.

 

commit 

- 트랜잭션의 모든 미결정 데이터를 영구적으로 반영함으로써 트랙잭션을 종료함(저장과 유사)

 

rollback

- 트랙잭션의 모든 미결정 데이터 변경을 포기함으로써 트랜잭션을 종료함(되돌리기와 유사)

 

모두의 SQL 누구나 쉽게 배우는 데이터 분석 기초

김도연 지음 길벗

+ Recent posts