너와 나의 개발 고리

[데이터 베이스] 01-2 데이터 모델 본문

ORACLE

[데이터 베이스] 01-2 데이터 모델

Oli-Viaaaa 2023. 8. 14. 12:01

데이터 모델이란 컴퓨터에 데이터를 저장하는 방식을 정의해 놓은 개념 모형이다.

대표 데이터 모델에는 계층형, 네트워크형, 관계형, 객체 지향형 등이 있다.

 

계층형 데이터 모델

계층형 데이터 모델은 나뭇가지 형태의(tree) 구조를 활용하여 데이터 관련성을 계층별로 나누어

부모 자식 같은 관계를 정의하고 데이터를 관리한다.

계층형 데이터 모델

이 모델은 상위 개념에 하위 개념이 포함되는 특징이 있다. 

기본적으로 하나의 부모 객체가 여러 자식을 가질 수 있는 반면에 자식 개체는 여러 부모 개체를 가질 수 없다는 제약이 있다.

따라서 일대다 구조의 데이터를 표현하기에는 알맞지만 자식 개체가 여러 부모를 가진 관계는 표현 할 수 없다. 

 

 

네트워크형 데이터 모델

네트워크형 데이터 모델은 망형 데이터 모델이라고도 하며 그래프 구조를 기반으로 한다.

개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여렁 부모 개체를 가질 수 있다는 점에서 계층형 데이터 모델과 차이가 있다.

 

네트워크형 데이터 모델

 

객체 지향형 데이터 모델

객체 지향 프로그래밍에서 사용하는 객체 개념을 기반으로 한 데이터 모델로 객체 지향프로그래밍처럼 데이터를 독립된 객체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 강력한 기능을 활용할 수 있다.

하지만 객체 지향형 모델 개념을 완전히 데이터베이스에 적용하는 것은 쉽지 않기 때문에 이를 적용한 상용 DBMS는 많지 않다.

객체 지향형 데이터 모델

 

 

관계형 데이터 모델

현대에서 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델로 다른 모델과 달리 데이터 간 관계에 초점을 둔다

관계형 데이터 모델에서는 각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눈 후 중복이 발생할 수 있는 데이터는

별개의 릴레이션으로 정의하고 식별자를 두어 데이터들을 연결한다.

부서 코드로 연결한 사원 정보 데이터와 부서 정보 데이터

 

관계형 데이터 모델에서는 위와 같이 데이터를 일정 기준으로 나누어 관리한다.

이를 위해 다양한 개념과 여러 구성 요소가 존재하는데 아래는 관계형 데이터 모델의 핵심 구성 요소를 간략하게 정리한 내용이다.

이름 설명
개체(entity) 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위다.
관계형 데이터베이스의 테이블 개념과 대응되며 테이블은 렐레이션으로 표기하기도 한다.
속성(attribute) 상태개체를 구성하는 데이터의 가장 작은 논리적 단위로서 데이터의 종류·특성·상태 등을 정의한다.
관계형 데이터베이스의 열(column) 개념과 대응된다. 
관계(relationship) 개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용한다.
관계형 데이터베이스에서는 테이블 간의 관계를 외래키(foreign key)등으로 구현하여 사용한다. 

 

'ORACLE' 카테고리의 다른 글

[데이터 베이스] 01-1 데이터와 데이터 베이스, DBMS  (0) 2023.08.14