본문 바로가기

공부/DATABASE

데이터 무결성과 트랜잭션

728x90

데이터 무결성

데이터 무결성이란 데이터베이스 안의 데이터의 정확성, 일관성, 유효성이 유지 되도록 변경 또는 수정에 제한을 두어 안전성을 해치는 요소를 막아 데이터들을 옳게 유지하는 것을 의미한다.

 

  • 도메인 무결성 : 테이블에 존재하는 필드의 무결성을 보장하기 위한 것으로 필드의 타입, NULL값 허용에 대한 사항을 정의하고 올바른 데이터가 입력 되었는지 확인한다.
    • Check, Default
  • 개체 무결성    : 모든 테이블에 기본 키로 지정된 필드가 있어야 하며, 기본 키로 선택된 필드는 고유한 값을 가져야 한다.
    • Primary key, Unique
  • 참조 무결성    : 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지한다.
    • Foreign key, Trigger

 

트랜잭션

트랜잭션이란 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행 되어야 할 연산들을 의미한다.

  • 원자성 (Atomicity)   
    • 트랜잭션의 연산은 데이터베이스에 모두 반영되던 전혀 반영되지 않던 해야 한다.
    • 트랜잭션 내 모든 명령은 완벽히 수행되어야 한다. 하나라도 오류가 발생하게 되면 전체가 취소된다.
  • 일관성 (Consistency)
    • 트랜잭션이 실행을 성공적으로 완료 했을 때 항상 일관성 있는 데이터베이스 상태여야 한다.
    • 시스템이 가진 고정요소는 트랜잭션 수행 전과 완료 후의 상태가 같아야 한다.
  • 독립성 (Isolation) 
    • 둘 이상의 트랜잭션이 동시에 실행 되고 있을 경우, 어떤 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다.
  • 영속성 (Durability)
    • 성공적으로 완료 된 트랜잭션의 결과는 시스템이 고장나더ㅗ라도 영구적으로 반영 할 수 어야 된다
728x90
반응형

'공부 > DATABASE' 카테고리의 다른 글

[MSSQL] varchar / nvarchar 차이  (0) 2021.08.10
[MS-SQL] 기초 문법  (0) 2021.06.25
[Oracle DB] Foreign key (외래키) 추가, 삭제  (0) 2021.04.30