메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

데이터베이스 시스템

noriwiki
Pinkgo (토론 | 기여)님의 2025년 3월 10일 (월) 05:42 판

개요

Database-management system(DBMS)란 연관된 data들과 그러한 데이터들에 접근하는 프로그램의 집합이다.이를 통해서 사용하기 편리하고 효율적인 환경을 이용자에게 제공한다.

Database System(DB system)은 매우 많고 가치있기 때문에 다수의 유저와 application들에 의해 동시에 접근되는 정보를 관리하도록 설계되었다. 이를 위해 정보 저장을 위한 구조를 정의하거나 정보를 수정하는 메커니즘을 제공한다. 또한 DB system은 system crash나 허가되지 않은 접근들에 맞서서 저장된 정보들의 안전성을 담보해야 한다.

이런 DB system의 예시는 다음과 같다.

  • 기업 정보
    • 판매: 소비자, 상품, 구매
    • 회계: 가격, 영수증, 자산
    • 인적 자원: 직원 정보, 급여

목적

DB system은 file system을 통한 data관리의 어려움을 타파하기 위해 만들어졌다. 아래와 같은 어려움들이 존재한다.

  1. Data redundancy and inconsistency
    • 서로 다른 프로그래머들이 파일과 응용 프로그램을 장기간에 걸쳐 만드므로 다양한 파일들이 서로 다른 구조로 이루어질 가능성이 높다. 또한 응용 프로그램들이 서로 다른 프로그래밍 언어로 짜여질 가능성 또한 존재한다. (inconsistency)
    • 추가로 동일한 정보가 여러 파일에 동시에 존재할 가능성이 있다.
  1. Difficulty in accessing data
    • 유저가 data에 접근하여 이를 활용하고자 할때 그에 대한 응용 프로그램을 각각 만들어야 한다. 아니면 사용자가 수작업으로 데이터를 가공하여야 한다.
    • 예시로 유저가 60점 이상인 학생들의 목록을 추출할 때, 특정 주소지에 있는 학생들의 목록을 추출할 때, 모두 별개의 프로그램이 필요하다.
  1. Data isolation
    • 데이터가 여러곳에 분산되어 있고, 파일 형식 등이 다를 수 있으므로 적절한 응용 프로그램의 개발이 어렵다.
  1. Integrity
    • 어떤 데이터에 대한 응용 프로그램의 경우는 특정한 제약 조건이 필요하다. (예를 들면 몸무게 > 0 등...) 하지만 새로운 제약이 추가되거나 기존의 제약이 수정될 경우에는 이를 응용 프로그램에 적용하는 것이 어렵다.
  1. Atomicity of Updates
    • 컴퓨터가 응용 프로그램의 실행 중 문제가 발생하였을 때 이를 이전의 상태로 복원을 하여야 한다. 이는 DB의 일관성에 필수적인 요소이다. 예를 들어 은행에 500만원을 입금하였을 때 장애가 생기면 500만원이 입금되었으나 실제로는 계좌에 돈이 입금되지 않는 경우가 생길 수 있으므로 이를 취소해야 한다. 즉 반만 실행되서는 안되며, 완전히 성공하는 경우가 아니라면 아예 DB의 상태가 바뀌어서는 안된다.