본문 바로가기
👨‍💻Computer Science/데이터베이스

[Database] 01 - 3 DBMS 발전 과정

by 코푸는 개발자 2021. 9. 7.
728x90

데이터 모델

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

*실세계의 일부를 추상적인 표현 정보로 나타냄

 

데이터 모델의 분류

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

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

표현(구현) 데이터 모델(representation(implementation) data model)

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

저수준 또는 물리적인 데이터 모델(physical data model)

  • 데이터베이스에 데이터가 어떻게 저장되는가를 기술
  • 예: Unifying, ISAM, VSAM 등

DBMS 발전 과정

계층 DBMS
  • 1960년대 후반에 최초의 계층 DBMS가 등장(예: IBM사의 IMS)
  • 트리 구조를 기반으로 하는 계층 데이터 모델을 사용한 DBMS
  • 계층 데이터 모델은 네트워크 데이터 모델(그래프)의 특별한 사례

장점

  • 어떤 유형의 응용에 대해서는 빠른 속도와 높은 효율성을 제공(이러한 경우가 많지 않음)

단점

  • 어떻게 데이터를 접근하는가를 미리 응용 프로그램에 정의해야 함
  • 데이터베이스가 생성될 때 각각의 관계를 명시적으로 정의해야 함
  • 레코드들이 링크로 연결되어 있으므로 레코드 구조를 변경하기 어려움

계층 데이터베이스의 예

 

예제: 계층 DBMS

네트워크 DBMS
  • 1960년대 초에 Charles Bachman이 하니웰(Honeywell) 사에서 최초의 네트워크 DBMS인 IDS를 개발
  • 레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프를 기반으로 하는 네트워크 데이터 모델을 사용
  • 네트워크 DBMS에서도 레코드들이 링크로 연결되어 있으므로 레코드 구조를 변경하기 어려움

네트워크 데이터베이스 예

 

관계 DBMS
  • 1970년에 E.F. Codd가 IBM 연구소에서 관계 데이터 모델을 제안
  • 미국 IBM 연구소에서 진행된 System R과 캘리포니아 버클리대에서 진행된 Ingres(관계 DBMS) 프로젝트

장점

  • 모델이 간단하여 이해하기 쉬움
  • 사용자는 자신이 원하는 것(what)만 명시하고, 데이터가 어디에 있는지, 어떻게 접근해야 하는지는 DBMS가 결정

예: 오라클, MS SQL Server, Sybase, DB2, Informix 등

 

 

객체 지향 DBMS
  • 1980년대 후반 들어 새로운 데이터 모델인 객체 지향 데이터 모델이 등장
  • 객체 지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델

장점

  • 데이터와 프로그램을 그룹화하고, 복잡한 객체들을 이해하기 쉬우며, 유지와 변경이 용이함

예: ONTOS, OpenODB, GemStone, ObjectStore, Versant, O2 등

 

객체 관계 DBMS
  • 1990년대 후반에 관계 DBMS에 객체 지향 개념을 통합한 객체 관계 데이터 모델이 제안됨

예: 오라클, Informix Universal Server 등

DBMS의 데이터 모델에 따른 프로그래밍 분량

새로운 데이터베이스 응용

  • CAD 데이터베이스, 소프트웨어 공학 데이터베이스(재사용이 가능한 소프트웨어들의 라이브러리), 게놈 데이터베이스, 데이터 웨어하우스, 데이터 마이닝, OLAP, 멀티미디어 데이터베이스, 웹 데이터베이스 등

현대의 관계 DBMS의 기능
DBMS들의 분류

*요즘엔 UML데이터 모델도 사용함

 

관계 데이터 모델과 네트워크 데이터 모델과 차이점

데이터 구조 : 데이터 타입과 관계

관계

관계 표현에 있어서 계층형, 네트워크형에서는 링크(edge), 포인터로 표현했습니다.

- 직접적으로 표현(내제되어있어 변경이 쉽지 않음)

관계형에서는 어떻게? 외래키(앞에서보다 flexibilty(유연성)가 늘어남)

관계를 나타내기 위한 열을 추가함(Key 값)

각각의 관계를 표로 표현(행과 열)

728x90

댓글