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

파일 시스템(file system)

  • 데이터를 파일로 관리하기 위해 파일을 생성·삭제·수정·검색하는 기능을 제공하는 소프트웨어
  • 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함

ex) 인터넷 쇼핑몰 운영을 위해서 데이터베이스를 관리하는 경우 :
고객관리 담당자 → 고객 데이터 파일에 접근
주문 관리 담당자 → 주문데이터 파일에 접근
∴ 각각 별도의 데이터를 관리

파일 시스템의 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장된다
  • 응용 프로그램이 데이터 파일에 종속적이다
    (←사용하는 파일에 맞게 응용프로그램이 작성이 되어짐)
    ex) 데이터 파일의 구조가 변경 → 응용 프로그램도 다시 설계가 되어야한다
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다
  • 응용 프로그램 개발이 쉽지 않다
    ex) 새로운 응용프로그램을 개발하기 위해서는 파일에서의 물리적인 구조를 다 파악해야한다

파일 시스템의 주요 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장된다 👉 데이터 중복성
    • 저장 공간의 낭비는 물론 데이터가 일관성과 무결성을 유지하기 어려움
      ex) 한 명의 고객이 연락처를 변경
      → 고객관리응용프로그램에서는 업데이트⭕,주문관리응용프로그램에서는 업데이트❌
      ∴ 데이터 일관성 문제&데이터 정확하게 유지하기 어렵

파일 시스템의 데이터 중복성 문제에 대한 일차적 해결 방안

  • 응용프로그램이 데이터 파일에 종속적이다 👉 데이터 종속성
    • 사용하는 파일의 구조를 변경하면 응용프로그램도 함께 변경해야 함

ex) 파일구조 변경 : 추가적으로 나이에 대한 정보를 추가
→ 새로운 응용프로그램으로 변경해야한다

2. 데이터베이스 관리 시스템의 정의 및 특성

데이터베이스 관리 시스템

  • DBMS(DataBase Management System)
  • 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리

데이터베이스 관리 시스템에서의 데이터 관리

데이터베이스 관리 시스템의 주요기능

  • 정의기능: 데이터베이스 구조를 정의하거나 수정할 수 있다.
  • 조작기능: 데이터를 삽입·삭제·수정·검색하는 연산을 할 수 있다.
  • 제어기능: 데이터를 항상 정확하고 안전하게 유지할 수 있다.

장점😀

  • 데이터 중복을 통제할 수 있다
  • 데이터 독립성이 확보된다 (←파일 시스템에서의 종속성 문제를 해결)
  • 데이터를 동시 공유할 수 있다
  • 데이터 보안이 향상된다
  • 데이터 무결성을 유지할 수 있다
  • 표준화할 수 있다
  • 장애 발생 시 회복이 가능하다
  • 응용 프로그램 개발 비용이 줄어든다

단점😂

  • 비용이 많이 든다
    (← 데이터베이스 관리 시스템 별도의 구입 비용 필요, 복잡/다양한 기능으로 인해 컴퓨터 자원이 필요)
  • 백업과 회복 방법이 복잡하다
    (← 데이터 양이 많아서 구조가 복잡하다. 따라서 장애 발생 했을 때, 어느 부분에서 원인을 파악하기가 어렵다)
  • 중앙 집중 관리로 인한 취약점이 존재한다
    (←이전에는 구매관리 vs 주문관리 따로였으나, DBMS는 그렇지 않다)

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

1세대 : 네트워크 DBMS, 계층 DBMS

  • 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성
    ex) IDS(Integrated Data Store)
    단점😂: 복잡, 변경하기 어렵다

  • 계층 DBMS : 데이터베이스를 트리 형태로 구성
    ex) IMS(Informaition Management System)
    단점😂: 현실 세계를 단순한 트리형태로 나타내기가 어렵다, 구조변경이 어렵다

2세대 : 관계 DBMS

  • 관계 DBMS : 데이터베이스를 테이블 형태로 구성
    ex) 오라클(Oracle), MS SQL서버, 액세스(Access), 인포믹스(Informix), MySQL
    장점😀: 단순하고 이해하기 쉽다

3세대 : 객체지향 DBMS, 객체관계 DBMS

(❓잘 모르겠다)

  • 객체지향 DBMS : 객체를 이용해 데이터 베이스를 구성
    ex) 오투(O2), 온투스(ONTOS), 젬스톤(GemSton)
  • 객체관계 DBMS : 객체 DBMS + 관계 DBMS
    (← 90년대 후반)

📌 현재는 이해하기 쉬운 2세대 관계 DBMS를 사용한다

profile
우당탕탕 / 블로그 이사 중

0개의 댓글