Data, Database, DBMS

2025. 1. 23. 17:09Database/Database

Data (데이터)

  • 프로그램을 운용할 수 있는 형태로 기호화 · 숫자화한 자료
  • 예시: 숫자(1, 2, 3), 텍스트("안녕"), 이미지 파일 등.
  • 데이터와 정보의 차이
    • 데이터: 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 정제하지 않은 값, 사실 또는 자료. 
    • 정보: 수집된 데이터를 어떤 목적을 위해 분석, 가공하여 가치를 추가하거나 새로운 의미를 부여한 결과.
    • 예) 데이터: 카드사의 커피 전문점 결제 내역, 정보: 결제 분포 최상위 순위를 30-40대 남성이 차지했다는 결과. 

 

Database (데이터베이스)

  • 구조화된 데이터의 집합으로, 체계적으로 저장된 데이터들의 모임.
  • 데이터베이스의 정의: 특정 조직의 여러 사용자들이 공유해서 사용할 수 있도록 통합해서 저장운영 데이터의 집합
    • 공유 데이터(Shared Data): 공동으로 사용되는 데이터
    • 통합 데이터(Integrated Data): 중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거
    • 저장 데이터(Stored Data): 컴퓨터 저장 장치에 저장된 데이터
    • 운영 데이터(Operational Data): 조직의 목적을 위해 사용되는 데이터
  • 특성
    • 실시간 접근이 가능: 사용자의 데이터 요구에 실시간으로 응답할 수 있어야.
    • 계속 변화함: 데이터를 계속 삽입, 삭제, 수정하여 현재의 정확한 데이터를 유지해야.
    • 동시 공유 가능: 여러 사용자가 서로 같은 데이터 또한 동시에 사용할 수 있어야.
    • 내용으로 참조 가능: 저장된 주소나 위치가 아닌 데이터의 내용, 값으로 참조 가능

 

DBMS (Database Management System)

데이터베이스를 관리하는 전용 프로그램 또는 소프트웨어.

실무에서는 DB와 DBMS를 따로 구별하지 않고 디비 또는 데이터베이스라고 부른다.

 

1. 파일시스템과 DBMS

  • DBMS 이전 파일시스템의 한계
    • 데이터 중복성: 같은 내용의 데이터가 여러 파일에 중복 저장됨
    • 데이터 종속성: 응용 프로그램이 데이터 파일에 종속적임
    • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족함
    • 응용 프로그램 개발이 쉽지 않음
  • DBMS: 파일 시스템의 데이터 중복 및 종속 문제를 해결하기 위해 제시된 소프트웨어.
    • 데이터 통합 시스템은 파일 시스템의 일차적인 해결방안이었지만, 데이터베이스 관리 시스템은 더 나아가 
    • 통합 저장된 데이터를 관리하고 
    • 모든 응용 프로그램이 공통적으로 요구하는 데이터에 대한 기본 처리를 담당하면서 
    • 동시 공유, 보안, 회복 등의 복잡한 기능을 제공하는 근본적 해결방안으로서 제안됨.  
파일 시스템의 문제  DBMS를 통한 데이터 관리 
데이터 중복성: 같은 내용의 데이터가 여러 파일에 중복 저장됨 하나의 소프트웨어가 데이터를 통합 관리하므로 데이터 중복을 피하고 일관성을 유지할 수 있다. 
데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족함 여러 응용 프로그램이 하나의 DBMS를 통해 데이터를 사용하므로 데이터를 동시에 공유할 수 있다. 
응용 프로그램이 데이터를 쓰는 방식이 각각 다름 하나의 DBMS를 통해 데이터를 관리하기 때문에 각각의 응용 프로그램이 데이터를 관리하는 방식이 통합된다. 
데이터 종속성: 응용 프로그램이 데이터 파일에 종속적임 응용 프로그램과는 별도로 데이터가 DBMS에 의해 관리, 보관되기 때문에 응용 프로그램의 변경과 관계 없이 데이터 사용가능  

 

2. DBMS의 특징 

      • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장해두고 여러 목적으로 사용할 데이터의 접근, 관리 등의 업무를 DBMS가 전담한다.  
      • 응용 프로그램이 필요한 데이터 작업을 DBMS에 요청하면, DBMS는 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과 값을 제공한다. 
      • DBMS의 주요 기능
        • 정의 기능: 데이터베이스 구조를 정의하거나 수정할 수 있다.
        • 조작 기능: 데이터를 생성·삭제·수정·검색하는 연산을 할 수 있다. (CUD)
        • 제어 기능: 데이터를 항상 정확하고 안정하게 유지할 수 있다.    
        • 추출 기능: 데이터 혹은 응용 프로그램의 데이터를 추출할 수 있다. 
      • 장점 
        • 데이터 중복을 통제할 수 있다. (데이터 통합관리, 일관성 유지 가능)
        • 데이터 독립성이 확보된다. (데이터베이스 구조가 변경되어도 응용프로그램 영향X)
        • 데이터를 동시 공유할 수 있다. 
        • 데이터 보안이 향상된다. (사용자별 접근 제한 차별화 등)
        • 데이터 무결성을 유지할 수 있다. (연산 수행시마다 유효성 검사, 저장된 데이터 값의 정확성 유지)
        • 표준화할 수 있다. (데이터의 구조와 접근 방법이 일관적)
        • 장애 발생 시 회복이 가능하다. (데이터 백업 및 복구)
        • 응용 프로그램 개발 비용이 줄어든다.
        • SQL 제공으로 복잡한 검색과 분석 작업을 손쉽게 수행할 수 있게 한다.
      • 단점 
        • 비싸다.
        • 백업과 회복 방법이 복잡하다.
        • 중앙 집중 관리로 인한 취약점이 존재한다. (장애 발생 -> 전체 중단) 
      • DBMS의 발전과정
        • 1세대: 네트워크 DBMS, 계층 DBMS 
        • 2세대: 관계 DBMS
        • 3세대: 객체지향 DBMS, 객체관계 DBMS