Database - DBMS 발전 과정

Bomin Seo·2022년 7월 21일
0

데이터 모델

  • 데이터베이스의 구조를 기술하는데 사용되는 개념들의 집합인 구조
  • 구조 위에서 동작하는 연산자들과 무결성 제약조건을 포함한다.
  • 사용자에게 내부 저장 방식의 세세한 사항은 숨기면서 데이터에 관한 직관적인 뷰를 제공하는 동시에 이들 간의 사상된 데이터를 제공한다.

데이터 모델의 분류

고수준 / 개념적 데이터 모델(conceptual data model)

  • 사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적 구조를 명시한다.
  • ex) 엔티티-관계(ER : Entity - Relationship) 데이터 모델과 객체 지향 모델

표현 데이터 모델

  • 최종 사용자가 이해하는 개념이자 컴퓨터 내에서 데이터가 조직되는 방식과 동떨어져 있지 않은 모델
  • ex) 계층 데이터 모델(hierarchical data model), 네트워크 데이터 모델, 관계 데이터 모델(relational data model)

저수준 / 물리적인 데이터 모델

  • 데이터베이스에 데이터가 저장된 방식에 대하여 기술하는 모델
  • ex) Unifying, ISAM, VSAM etc.

계층 DBMS

  • 1960년대 후반 IBM사의 IMS 등 최초의 계층 DBMS가 등장하였다.
  • 트리 구조를 기반으로 하는 계층 데이터 모델을 사용하는 DBMS
  • 계층 데이터 모델은 네트워크 데이터 모델의 특별한 사례이다.

장점

  • 특정 유형의 응용에 대해서는 빠른 속도와 높은 효율성을 제공한다.

단점

  • 데이터 접근방식을 미리 응용프로그램에 정의하여야 한다.
  • 데이터베이스가 생성될 때 각각의 관계를 명시적으로 정의해야한다.
  • 레코드들이 링크로 연결되어 있으므로 레코드 구조를 변경하기 어렵다.
  • One-to-Many 관계는 잘 처리하지만, Many-to-many 관계는 처리하지 못한다.

네트워크 DBMS

  • 레코드를 노드로, 레코드들 간의 관계를 간선으로 표현하는 그래프를 기반으로 네트워크 모델을 사용한다.
  • 레코드들이 링크로 연결되어 있으므로 레코드 구조를 변경하기 어렵다.
  • Many-to-many 관계를 표현할 수 있게 되었지만, 관계를 표현하기 위하여 링크로 연결하였기 때문에 레코드 구조 변경이 어렵다.

관계 DBMS

  • IBM연구소에서 진행된 System R과 캘리포니아 버클리대학에서 진행된 Ingres 프로젝트의 결과물

장점

  • 모델이 간단하여 이해하기 쉽다.
  • 사용자는 what만 명시하고, 데이터가 어디에 있으며 어떻게 접근할지에 대하여는 DBMS가 결정하기때문에 사용하기 쉽다.
  • ex) Oracle, MS SQL Server, Sysbase, informix etc.

객체지향 DBMS

  • 객체지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델

장점

  • 데이터와 프로그램을 그룹화하고, 복잡한 객체들을 이해하기 쉽다.
  • 유지와 변경이 용이하다
  • ex) ONTOS, OpenODB, GemStone, ObjectStore etc.

객체 관계 DBMS

  • 관계 DBMS에 객체 지향 개념을 통합한 객체 관계 데이터 모델이 제안되었다.
  • ex) Oracla, informix, Universal Server etc.


DBMS 분류

기준종류
데이터모델에 따른 분류계층 DBMS / 네트워크 DBMS / 관계DBMS / 객체지향DBMS / 객체관계 DBMS
사용자의 수에 따른 분류단일 사용자 DBMS / 다수 사용자 DBMS
사이트 수에 따른 분류중앙 집중식 DBMS / 분산 DBMS
접근 방법에 따른 분류범용 DBMS / 특수 DBMS(ex. 공간 DBMS)
profile
KHU, SWCON

0개의 댓글