[DB] 데이터베이스의 특징

hyunoi·2024년 12월 25일

Database

목록 보기
6/8
post-thumbnail

데이터 무결성 (Integrity)


데이터가 정확하고 신뢰할 수 있는 상태가 되도록 보장하는 것
데이터베이스에서 잘못된 데이터 입력, 갱신, 삭제되는 것을 방지한다.
데이터 무결성을 지키기 위해서는 다양한 무결성 제약 조건을 지켜야 한다.

  • 개체 무결성
    기본키를 구성하는 어떤 속성도 NULL 값을 가질 수 없고, 중복된 값도 가질 수 없다.
  • 도메인 무결성
    릴레이션 내 튜플들이 각 속성에 도메인에서 지정된 값들만 가질 수 있다.
  • 참조 무결성
    외래키는 NULL 또는 참조 릴레이션의 기본키 값과 동일해야 한다.

데이터 일관성 (Consistency)


데이터베이스 내에 저장된 모든 데이터가 일관된 상태를 유지하도록 보장하는 것
데이터의 논리적 규칙이 깨지지 않도록 하며, 트랜잭션 이후의 데이터가 유효해야 한다.

트랜잭션의 특징인 ACID 중 하나이다.

데이터 독립성 (Independence)


데이터베이스의 물리적 저장 구조와 논리적 저장 구조가 응용 프로그램에 영향을 미치지 않도록 분리하는 것

두 가지로 나뉜다.

  • 논리적 독립성
    논리적 데이터 구조 변경(테이블, 속성 추가/갱신/삭제 등)이 애플리케이션에 영향을 주지 않는다.
  • 물리적 독립성
    데이터의 물리적 저장 위치 변경이 논리적 구조나 애플리케이션에 영향을 주지 않는다.

데이터 보안 (Security)


데이터베이스에 저장된 데이터가 권한 없는 접근이나 악의적인 행위로부터 보호되도록 보장하는 것

보안을 강화하기 위해서 다양한 기술이 사용된다.

  • 인증 (Authentication)
    데이터베이스에 접근 가능한지 권한 확인
  • 인가 (Authorization)
    사용자 별로 접근 가능한 데이터베이스 수준을 제한

데이터 공유 (Sharing)


여러 사용자가 동일한 데이터베이스를 동시에 사용하고 데이터에 접근할 수 있도록 지원하는 것

  • 동시성 제어
    여러 사용자가 동일한 데이터에 동시에 접근할 때 생기는 문제점을 방지
  • 트랜잭션 격리
    하나의 트랜잭션 중에 다른 트랜잭션이 영향을 미치지 않도록 격리

데이터 복구성 (Recoverability)


시스템 오류, 하드웨어 고장, 소프트웨어 문제 등으로 데이터가 손실된 경우 데이터베이스를 문제 이전으로 되돌리는 것

  • 백업
    데이터베이스를 주기적으로 백업해서 문제가 생길 시 백업본을 이용하여 데이터베이스 복구
  • 트랜잭션 로그
    모든 데이터 변경 기록을 저장하여 복구 시에 사용

0개의 댓글