[DB] 데이터베이스 개념

·2025년 1월 2일

데이터베이스

목록 보기
1/22
post-thumbnail

데이터베이스란?

  • 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
  • 공유데이터, 통합데이터, 저장데이터, 운영데이터로 구성됨
    • 공유 데이터: 여러 사용자가 함께 소유하고 이용할 수 있어야 하는 공유 데이터
    • 통합 데이터: 데이터의 중복을 최소화하고 통제가 가능한 중복만 허용하는 통합 데이터
    • 저장 데이터: 컴퓨터가 접근할 수 있는 매체에 저장된 저장 데이터
    • 운영 데이터: 조직의 주요 기능을 수행하기 위해 반드시 필요한 운영 데이터

데이터베이스 특징

  1. 실시간 접근이 가능
    • 데이터베이스는 사용자의 데이터 요구에 실시간으로 응답할 수 있어야함
  2. 계속 변화
    • 데이터베이스에 저장된 데이터는 계속 변함. 즉. 데이터베이스는 동적인 특성이 있어 데이터를 계속 삽입, 삭제, 수정하여 현재의 정확한 데이터를 유지해야함
  3. 동시 공유
    • 동시 공유는 사용자가 서로 다른 데이터를 동시에 사용하는 것뿐만 아니라, 같은 데이터를 동시에 사용하는 것도 지원
  4. 내용으로 참조 가능
    • 데이터베이스는 저장된 주소나 위치가 아닌 데이터의 내용, 즉 값으로 참조 할 수 있음

데이터베이스 관리 시스템(DBMS: DataBase Management System)

DBMS가 등장한 배경

  • 데이터베이스 이전에는 데이터를 파일로 저장하고 관리하는 파일 시스템(File System) 사용
  • 파일 시스템에는 여러가지 한계가 있음
    • 응용 프로그램 별로 파일을 유지하므로 같은 데이터가 여러 파일에 저장되는 데이터 중복성 문제
      ⇒ 저장공간 낭비, 데이터 일관성 및 무결성 유지하기 어려움 (데이터 통합으로 해결가능)
    • 사용하는 파일의 구조를 변경하면 응용 프로그램을 함께 변경해야하는 데이터 종속성 문제
      • 응용 프로그램은 파일에 직접 접근하여 데이터를 처리해야 하기때문에 사용하는 파일의 데이터를 구성하는 방법이나 물리적인 저장 구조에 맞게 작성되어야함
    • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족
      • 일반 파일 시스템에서는 응용 프로그램 하나가 사용 중인 파일을 다른 응용 프로그램이 접근하여 사용할 수 있는 동시 공유 기능을 제공하지 않음
      • 파일 시스템에서는 사용자에게 보통 파일 단위로 권한을 부여해 접근을 통제하는데, 파일 안의 레코드나 필드와 같은 더 작은 단위에 대한 접근 통제가 어려움
      • 또한, 데이터가 중복된 모든 파일의 보안을 같은 수준으로 유지하기도 어려움
      • 파일 시스템에서는 응용 프로그램이 파일을 사용하는 도중에 장애가 발생하면 데이터를 일관된 상태로 회복하기 어려움. 특히 데이터를 수정하는 도중에 장애가 발생한 경우는 더 어려움
    • 응용 프로그램 개발이 쉽지 않음
      • 파일 시스템에서는 파일에 접근하여 데이터를 관리하는 모든 작업을 응용 프로그램이 담당해야 하기 때문에 사용자 요구에 맞는 응용 프로그램을 개발하는 데 어려움이 많음
      • 새로운 응용 프로그램을 개발하려면 파일에서 데이터 읽기, 쓰기, 삭제 등의 기본적인 데이터 관리 기능을 포함해야함
  • 이를 해결하기 위해 데이터베이스 관리 시스템(DBMS)이 등장

DBMS란

  • 파일 시스템이 가진 데이터 중복과 데이터 종속문제를 해결하기위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당
  • 응용 프로그램을 대신하여 데이터베이스에 존재하는 데이터의 검색, 삽입, 삭제을 가능하게 하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게함

DBMS 주요 기능

  1. 정의 기능
  • 조직에 필요한 저장하기 적합한 데이터베이스 구조를 정의하거나, 이미 정의된 구조를 수정 할 수 있음
  1. 조작 기능
  • 데이터베이스에 저장된 데이터에 접근하여 사용할 수 있는 기능을 제공
    즉, 사용자 요구에 따라 데이터를 삽입, 삭제, 검색하는 연산을 효율적으로 처리
  1. 제어 기능
  • 데이터를 여러 사용자가 공유해도 항상 정확하고 안전하게 유지하는 기능을 제공
  • 데이터를 삽입, 삭제, 수정하는 연산을 한 후에도 내용이 일관되면서 무결성을 유지하게 하고, 장애가 발생해도 회복이 가능하도록 제어
  • 권한이 있는 사용자에게만 데이터 접근을 허용하여 보안을 유지하도록 제어
    특히, 여러 사용자가 데이터베이스에 동시에 접근하여 데이터를 처리할 수 있도록 제어

데이터베이스 관리 시스템(DBMS)과 파일 시스템 비교

구분파일 시스템데이터베이스 관리 시스템(DBMS)
데이터 중복 통제- 응용 프로그램마다 별도의 파일을 유지하여 데이터 중복 발생 가능
- 저장 공간 낭비 및 데이터 불일치 문제 발생
- 데이터를 통합 관리하여 중복 문제를 해결
- 중복 허용 시에도 최소화하여 데이터 일관성 유지
데이터 독립성- 파일 구조 변경 시 응용 프로그램도 수정해야 함
- 데이터 종속 문제 발생
- DBMS가 데이터를 관리하므로 응용 프로그램과 데이터베이스 간 독립성 확보
동시 공유- 동시 접근 제어를 지원하지 않아 데이터 중복 제한 어려움- 통합된 데이터를 여러 응용 프로그램이 공유 가능
- 동시 접근을 제어하여 다양한 구조로 데이터 제공 가능
데이터 보안- 중복 파일의 보안을 동일하게 유지하기 어려움
- 접근 권한을 파일 단위로 제한
- 중앙 집중식 데이터 관리로 효율적인 접근 제어 제공
- 사용자별 접근 영역 제한 및 접근 수준 차별화 가능
데이터 무결성- 중복 데이터 관리로 유효성 검사가 어렵고 데이터 무결성 유지 힘듦- 유효성 검사를 통해 데이터 정확성 및 무결성 유지
표준화- 데이터 접근 방식 및 형식의 표준화가 어려움- 데이터 접근 방식, 형식, 구조의 표준화 가능
장애 발생 시 회복- 장애 발생 시 데이터 복구 어려움- 장애 발생 시 데이터 일관성과 무결성을 유지하며 복구 가능
응용 프로그램 개발 비용- 데이터 관리 및 구조 변경 시 추가 개발 및 유지 보수 비용 증가- DBMS가 데이터 관리를 담당하므로 개발 비용 및 유지 보수 비용 절감

DBMS 장단점

장점단점
데이터 중복을 통제할 수 있음비용이 많이 듬
데이터 독립성이 확보백업과 회복 방법이 복잡
데이터를 동시 공유할 수 있음중앙 집중 관리로 인한 취약점이 존재
데이터 보안이 향상
데이터 무결성을 유지할 수 있음
표준화할 수 있음
장애 발생 시 회복이 가능
응용 프로그램 개발 비용이 줄어듬

Reference

https://terms.naver.com/list.naver?cid=58430&categoryId=58430&so=st4.asc

0개의 댓글