1. 데이터베이스 관리 시스템의 등장 배경

1.1 파일 중심 데이터 처리 시스템

  • 개념
    1960년대부터 사용된 데이터 처리 방식으로, 응용 프로그램마다 독립적인 파일을 유지하며 데이터를 운영체제의 파일로 저장.
  • 특징
    • 응용 프로그램과 파일 구조가 밀접히 연관됨.
    • 데이터 논리 구조와 물리 구조가 일치.
    • 동일 데이터가 여러 파일에 중복 저장.
  • 문제점
    • 데이터 종속성: 데이터 구조 변경 시 응용 프로그램도 수정해야 함.
    • 데이터 중복성: 동일 데이터의 중복으로 비효율 발생.
    • 동시성 제어 및 회복 기능 부족.
    • 데이터의 무결성 및 일관성 유지 어려움.

1.2 데이터 중복성(Data Redundancy) 의 문제

  • 정의
    같은 데이터가 여러 파일에 중복 저장되는 현상.
  • 문제점
    • 일관성(Consistency): 동일한 데이터를 모든 파일에서 동기화 유지.
    • 보안성(Security): 데이터의 보안 수준을 일정하게 유지.
    • 경제성(Economics): 저장 공간 낭비.
    • 무결성(Integrity): 데이터 정확성 및 신뢰성 저하.

1.3 데이터 종속성(Data Dependency) 의 문제

  • 정의
    데이터와 응용 프로그램 간의 상호 의존 관계를 의미하며, 데이터 구성 방식, 형식, 접근 방법이 변경될 경우 관련 응용 프로그램도 수정이 필요한 상태를 말함.
  • 문제점
    • 유연성 부족: 데이터 구조 변경 시 관련된 모든 프로그램을 수정해야 함.
    • 관리 어려움: 동일한 데이터 구조를 사용하는 여러 프로그램을 일일이 관리해야 함.
    • 비효율성: 프로그램과 데이터의 강한 연결로 인해 유지보수 및 개발 작업이 복잡해짐.
  • 예시
    • 고객 관리 프로그램과 서비스 관리 프로그램이 동일한 고객 데이터를 사용하더라도, 데이터 형식이 다를 경우 각각 별도로 구현 및 수정해야 하는 문제가 발생함.
  • 개선 필요성
    이와 같은 데이터 종속성 문제를 해결하기 위해 데이터베이스관리시스템(DBMS)가 도입되었으며, 데이터와 프로그램 간의 독립성을 보장하여 유지보수와 효율성을 향상시킴.

2. 데이터베이스 관리 시스템(DBMS)

2.1 DBMS 정의

  • 데이터베이스와 사용자 또는 응용 프로그램 사이에서 데이터를 효율적으로 관리하고 처리하는 소프트웨어 시스템.
  • 주요 기능: 데이터 검색, 삽입, 수정, 삭제 등 데이터 조작 및 질의어(Query) 지원.

2.2 DBMS의 필수 기능

  1. 정의 기능 (Definition Function)
    • 데이터 구조를 정의하고 저장 구조를 조직화.
    • 논리적, 물리적 데이터 구조 명세 제공.
  2. 조작 기능 (Manipulation Function)
    • 데이터 검색, 삽입, 삭제, 갱신을 지원.
    • 사용하기 쉬운 인터페이스와 효율적인 데이터 접근 제공.
  3. 제어 기능 (Control Function)
    • 데이터 정확성과 보안성 유지.
    • 무결성(Integrity), 병행 제어(Concurrency Control), 권한 검사 기능 포함.

2.3 DBMS의 장단점

  • 장점
    • 데이터 중복 최소화, 공용성 제공, 일관성 유지, 무결성 보장, 보안성 향상.
    • 표준화 용이, 데이터 조정 및 관리 효율성 증대.
  • 단점
    • 높은 초기 비용(하드웨어/소프트웨어).
    • 특정 응용 프로그램 복잡성 증가.
    • 백업과 회복 과정의 어려움.
    • 시스템 고장 시 데이터 의존성으로 취약성 존재.

2.4 DBMS와 파일 시스템 비교

DBMS와 파일 시스템 비교

 


3. 데이터베이스 관리 시스템의 발전 과정

3.1 1세대: 네트워크 모델과 계층 모델 (1960~1970년대)

  • 네트워크 DBMS
    • 레코드들이 그래프 구조로 연결된 데이터 모델.
    • 데이터 구조 변경이 어려움.
  • 계층 DBMS
    • 데이터를 트리 구조로 표현.
    • 특정 응용 프로그램에 효율적이지만 수정 및 확장이 어려움.

3.2 2세대: 관계 데이터 모델 (1970년대~1980년대 이후)

  • 관계 데이터 모델
    • 데이터를 테이블 형식(릴레이션)으로 표현.
    • 단순하고 이해하기 쉬운 구조.
    • 사용자는 데이터를 요청(What)만 명시하고, 접근 방법(How)은 명시하지 않음.
  • 주요 시스템
    • IBM의 System/R: SQL의 시초인 SEQUEL 언어 개발.
    • Ingres(버클리 대학), Oracle, MySQL, MS-SQL 등이 상용화됨.

3.3 3세대: 객체 지향 및 객체 관계 모델 (1980년대 후반~1990년대 이후)

  • 객체 지향 DBMS (Object-Oriented DBMS)
    • 데이터와 프로그램을 객체 단위로 그룹화하여 복잡한 데이터 구조 관리 용이.
  • 객체 관계 DBMS (Object-Relational DBMS)
    • 관계 DBMS에 객체 지향 개념을 통합.

3.4 새로운 데이터베이스 응용

  • 게놈 데이터베이스, 데이터웨어하우스, 데이터마이닝.
  • OLAP, 멀티미디어, 웹 데이터베이스, 소프트웨어 공학 데이터베이스 등.

요약

  1. DBMS 등장 배경
    파일 시스템의 문제점(데이터 중복, 종속성)을 극복하기 위해 등장.
  2. DBMS 기능
    정의, 조작, 제어 기능으로 데이터 관리 효율성을 증대.
  3. DBMS 발전 과정
    계층/네트워크 모델 → 관계 데이터 모델 → 객체 지향 및 객체 관계 모델.

데이터와 정보

  • 데이터(Data)
    • 현실 세계에서 관찰하거나 측정하여 수집된 이나 사실입니다.
    • 예: 고객 정보, 상품 정보, 주문 내역.
    • 예시 데이터
      주문일 | 고객 | 상품         | 수량 | 단가 | 매출
      ------------------------------------------
      3/3   | 이마트 | 삼진어묵주먹밥 | 90   | 1,400 | 126,000
      3/4   | GS25  | 삼진어묵주먹밥 | 30   | 1,400 | 42,000
  • 정보(Information)
    • 데이터를 처리하여 의사결정에 활용 가능한 형태로 변환한 결과입니다.
    • 예: 매출 기준으로 가장 우수한 고객, 가장 많이 팔린 상품 등.
  • 정보의 유용성
    • 정확성(Accuracy): 정보가 오류 없이 정확해야 함.
    • 현재성(Currency): 최신 데이터로 유지되어야 함.

1. 정보처리시스템

정보시스템 (Information System)

  • 정의
    조직에서 데이터를 수집, 처리, 저장, 배포하여 의사결정에 필요한 정보를 제공하는 시스템.
  • 정보시스템의 종류
    • 경영정보시스템(MIS): 기업의 기획, 운영, 통제를 지원.
    • 의사결정지원시스템(DSS): 데이터웨어하우스, 데이터마이닝을 활용하여 복잡한 의사결정을 지원.
    • 군사정보시스템(MIS), 행정정보시스템(AIS), 인사정보시스템(PIS): 다양한 조직별 특화 시스템.
  • 정보시스템의 예
    • 항공사 예약 시스템: 실시간으로 좌석 예약 정보 관리.
    • 대형마트 관리 시스템: 상품 입고, 판매, 재고 데이터 관리.

2. 자료처리시스템

자료처리시스템 (Data Processing System)

  • 정의
    정보시스템이 사용하는 데이터를 처리하는 서브시스템.
  • 유형
    1. 일괄처리(Batch Processing)
      • 데이터를 모아 일괄 처리하는 방식.
      • 예: 전기요금 청구서 발행.
    2. 온라인처리(Online Processing)
      • 데이터가 발생할 때마다 실시간으로 처리.
      • 예: ATM 거래, 온라인 쇼핑 주문.
    3. 분산처리(Distributed Processing)
      • 여러 대의 컴퓨터가 통신 네트워크를 통해 데이터를 처리.
      • 예: 클라우드 기반 데이터베이스.

3. 데이터베이스 정의 및 특성

데이터베이스(Database)의 정의 및 특성

  • 정의
    특정 조직에서 통합하여 저장하고 여러 사용자와 응용 프로그램이 공유할 수 있도록 설계된 데이터의 집합.
    ※ 통합데이터(Integrated Data)
    : 최소의중복(minimal redundancy), 통제된중복(Controlled Redundancy)
    ※ 저장데이터(Stored Data)
    : 컴퓨터가 접근가능한 매체에 저장(디스크등)
    ※ 운영데이터(Operational Data)
    : 한 조직의 고유기능을 수행하기 위해 필요한 데이터
    ※ 공용데이터(Shared Data)
    : 한 조직의 여러 응용 프로그램이 공동으로 소유, 유지, 이용하는데이터
  • 특성
    1. 동시공용(Concurrent Sharing): 여러 사용자가 동시에 데이터 접근 가능.
    2. 내용기반참조(Content Reference): 위치가 아닌 데이터의 값에 따라 참조.
    3. 실시간 접근성(Real-Time Accessibility): 질의에 대해 실시간 응답 가능.
    4. 계속적인 변화(Continuous Evolution): 데이터가 계속 갱신되고 추가됨.
  • 데이터베이스 구조
    • 논리적 구조: 데이터의 배치와 표현. (사용자 관점)
    • 물리적 구조: 저장 장치에 저장된 데이터의 실제 구조.

데이터베이스 구조

+ Recent posts