Day01-2. 데이터베이스 모델

이하연·2023년 2월 8일

DBMS 교육

목록 보기
2/22

이전 포스팅에서 간단히 DBMS가 무엇인지에 대한 설명을 드렸죠. 이번에는 그 데이터베이스의 모델들에 관해 포스팅을 해보려 합니다.

DateBase 모델


(출처: javatpoint https://www.javatpoint.com/data-models)

이 DBMS를 사용하게 될 때에 우리는 데이터베이스를 기반으로 개발에 착수하게 됩니다. 이 데이터베이스에는 여러 모델들이 있는데요. 대표적인 3가지를 설명해보겠습니다.

1. 계층 데이터 모델(Hierarchical DataBase)


(출처: GeeksforGeeks https://bit.ly/3x6WcDe)

우선, 첫 번째로 계층 데이터 모델이라는 것이 있습니다. 이는 위의 그림을 보시다시피 트리 구조를 이용하여 데이터의 상호관계를 정의하는 구조를 가지고 있습니다.

예시를 보시면 전자기계(Electronics) 라는 부모의 자식들로 텔레비전과 휴대용 디바이스들이 있고 그에 대한 자식들로 각종 TV/디바이스 종류가 나열되어 있는 모습을 보실 수 있죠? 이를 계층적인 구조라고 합니다.

이 모델은 1대 다수 (1:N) 대응 관계를 가져 관계에 해당하는 연결은 이름을 붙여주지 않아도 된다는 특징을 가지고 있습니다. 또, 개체에서 연쇄 삭제를 제공하기도 하고 여기서의 객체는 Segment(세그먼트)로 통합니다.

대표적인 데이터베이스에는 IMS(IBM의 데이터베이스 시스템, Information Management System)이 있습니다.

트리 구조, 부모-자식 대응관계

2. 망 데이터 모델(Network Data Model)


(출처: GeeksforGeeks https://bit.ly/3JPT1ao)

이에 또 다른 종류로 망 데이터 모델도 있습니다. 이는 CODASYL이라는 연합체에서 제안한 모델이기도 하여 CODASYL DBTG 모델이라고도 불리는데요.

이 모델은 그래프를 이용하여 데이터의 논리 구조를 표현합니다. 계층과 달리 여기서는 상위 (Owner) 와 하위 (Member) 사이의 대응관계를 사용하고 Entity, Entity Set, Set Membership type이라는 것으로 상위하위들을 Entity로 그룹짓습니다.

대표적인 데이터베이스에는 DBTG(Data-Base Task Group, CODASYL 모델), EDBS(Engineering Database) 등이 있습니다.

망 형태, 상위 하위 대응관계

3. 관계형 데이터 모델(Relational Data Model)


(출처: Guru99https://bit.ly/35tgLe1)

이 모델이 바로 우리가 사용하게 될 모델입니다. 이 관계형 데이터 모델이라는 것은 개체를 주로 사용합니다.

개체를 통해 속성 관계를 표현하기 위하여 이를 테이블(Table, 표)로 사용하고 개체들과의 관계는 공통 속성으로 연결하는 독립적 데이터 모델입니다. 이에 대한 상속 관계는 쉽게 엑셀 혹은 구글 스프레드시트를 떠올려보시면 되는데요. 그들과 같이 행(Column), 열(Row)를 사용합니다.

이 행과 열의 데이터를 테이블로서 정리하게 되는데요. 행과 열의 교차점은 오직 하나의 값으로 구성되어 행에 대한 순서는 없지만 실제적인 행의 집합으로 간주됩니다.

대표적인 데이터베이스로는 MySQL, Oracle이 있습니다.

테이블(표) 구조, 개체 속성 관계

To Be Continued..

이로서 3가지 데이터베이스 모델에 대한 설명을 마칩니다. 다음 포스팅은 Oracle 데이터베이스 설치로 가보겠습니다.

profile
애옹.

0개의 댓글