TIL - DBMS

su·2023년 8월 27일
0

TIL

목록 보기
65/93
post-thumbnail

DBMS (Database management System)

데이터를 한 곳에 모은 저장소를 만들고,
그 저장소에 여러 사용자가 접근해 데이터를 저장하고 관리하는 등의 기능을 수행하며
공유 가능한 환경을 제공하는 응용 소프트웨어 프로그램

공유 저장소(서버)를 구축하고, 사용자들에게 접근 정보를 공유해
데이터 처리가 가능한 인터페이스를 제공하고 복구 기능과 보안성 기능도 제공

DBMS의 기능

DB를 효율적이고 직관적이고 안전하게 사용 가능하게 해주는 기능

  • 효율적
    - 동일한 데이터가 저장되는 것을 방지 (중복 제어)
    • 무결성 제약 조건을 정의하고 검사
  • 직관적
    - 서로 다른 데이터 간의 관계를 표현
    • 편리한 인터페이스 제공
  • 안전
    - 접근하는 사용자마다 다른 권한을 주는 접근 통제
    • 데이터가 잘못 수정되거나 삭제되었을 때 백업

트랜잭션 (Transaction)

DBMS의 요구사항을 충족해줄 수 있는 핵심 기능
DB의 상태를 변화시키는 하나의 논리적인 기능을 수행할 수 있도록 하는 작업의 단위
DB 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위
사용자가 시스템에 대한 요구를 하면 시스템이 응답하기 위한 상태 변환 과정의 작업 단위

트랜잭션의 특성 - ACID

  • 원자성(Atomicity): 트랜잭션의 연산은 DB에 모두 반영되도록 완료되거나 전혀 반영되지 않도록 복구되어야 함. 또한 트랜잭션 내 모든 명령은 반드시 완벽히 수행되어야 함. 완벽히 수행되지 않고 하나라도 오류가 발생된다면 전부 취소되어야 함
  • 일관성(Consistency): 트랜잭션이 그 실행을 성공적으로 완료한다면 언제나 일관성 있는 DB 상태로 변환. 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 동일해야 함
  • 독립성(Isolation): 둘 이상의 트랜잭션이 동시에 수행되는 경우, 어느 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어들어 방해할 수 없음
  • 영속성/지속성(Durability): 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나도 영구적으로 반영되어야 함
profile
(❁´◡`❁)

0개의 댓글