-
데이터 모델이란 무엇인가CS지식/데이터베이스 2021. 5. 29. 23:24
데이터 모델은 데이터베이스의 구조를 단순화, 추상화하여 체계적으로 표현하는데 사용되는 도구이다.
데이터 모델은 데이터구조, 연산, 제약조건으로 구성된다.
데이터구조는 데이터베이스에 저장되는 데이터가 무엇인지와 데이터 간의 관계를 표현한 것이다.
연산은 데이터 구조에 따라 데이터의 실제 값을 처리하는 작업과 같은 데이터 조작 기법을 의미한다.
제약조건은 데이터베이스에 정확하고 유효한 데이터가 유지될 수 있도록 하기 위해 데이터를 조작하는데 한계를 규정한 것이다.
데이터 모델에는 개념적 데이터 모델과 논리적 데이터 모델이 존재한다.
먼저, 개념적 데이터 모델에 대해 알아보자.
개념적 데이터 모델은 개체(entity), 속성(attribute), 관계(relationship)을 이용하여 데이터를 개념적 구조로 표현하는 방법이다.
대표적인 개념적 데이터 모델은 E-R 모델이 있다.
개념적 데이터 모델을 구성하는 개체, 속성, 관계는 무엇일까?
개체는 사람이나 사물 같이 물리적으로 존재하는 실체 또는 추상적/개념적으로 존재하는 실체를 의미한다.
예를 들어 도서관을 상상해보면 직원, 회원, 도서와 같은 것은 물리적으로 존재하는 개체에 해당한다.
이러한 개체는 ERD에서 직사각형으로 표현되어 직사각형 안에 개체의 이름을 표기한다.
(ERD는 E-R 모델을 시작적으로 표현하는 것으로, 데이터베이스 설계과정에서 활용된다.)
속성은 개체의 특성이나 상태를 나타낸 것으로 속성값은 개체의 특성이나 상태가 현실화된 값이다.
예를 들어 직원의 속성으로는 이름, 직급, 나이 등이 될 수 있다.
속성은 ERD에서 타원으로 표현되어 타원 안에 속성의 이름을 표기한다.
그리고 개체에 해당하는 속성은 실선으로 연결해서 표시한다.
여기서 같이 알아야 할 개념은 식별자(identifier)이다. 식별자는 개체를 다른 개체와 구별할 수 있게 해주는 하나 또는 하나 이상의 속성을 말한다.
식별자는 ERD에서 속성의 이름에 밑줄을 그거 표시한다.
관계는 개체와 개체가 맺고 있는 의미 있는 연관성을 나타낸다.
예를 들어 도서관에서 회원과 도서라는 개체는 회원이 도서를 대출한다는 개념으로 연결될 수 있다. 여기서 대출이 관계가 된다.
ERD에서 관계를 마름모로 나타낸 후 마름모 안에 관계의 이름을 표기한다.
그리고 관계를 가지고 있는 개체와 개체 사이에 실선으로 연결해서 표시한다.
관계는 일대일, 일대다, 다대다로 표현될 수 있다.
예를 들어 회원 한 명은 여러 권의 도서를 대출할 수 있고 한 권의 도서는 한명에게만 대출상태를 가지므로 일대다 관계이다.
다음으로 논리적 데이터 모델을 알아보자.
논리적 데이터 모델은 데이터 형식과 데이터 형식들 간의 관계를 이용하여 현실세계를 표현하는 방법으로 DBMS가 이해할 수 있는 모델이다.
논리적 데이터 모델은 계층 데이터 모델, 네트워크 데이터 모델, 관계 데이터 모델 등이 있다.
계층 데이터 모델은 데이터베이스의 논리적 구조를 트리형태로 표현한 모델이다.
개체는 직사각형으로 표현하고 개체들 사이의 관계는 실선으로 나타내고 일 대 다 관계만 표현가능하다.
다 대 다 관계를 표현하기 위해서는 별도의 개체를 추가로 만들어 표현한다.
아래의 예시를 보면 학생과 강좌는 다 대 다 관계인 수강으로 이어져 있어 따로 표기한 것이다.
네트워크 데이터 모델은 데이터베이스의 논리적 구조를 그래프 또는 네트워크 형태로 표현한 모델이다.
개체는 직사각형으로 표현하고 개체들 간의 관계는 화살표로 표시하고 계층 데이터 모델과 마찬가지로 일 대 다 관계만 표현할 수 있다.
관계 데이터 모델은 데이터베이스의 논리적 구조를 표(table)형태로 표현한 모델이다.
'CS지식 > 데이터베이스' 카테고리의 다른 글
관계 대수란 무엇인가? (0) 2021.06.04 키(key)란 무엇인가? (0) 2021.06.01 데이터베이스 관리 시스템(DBMS)란 무엇인가 (0) 2021.05.26 데이터베이스란 무엇인가(With 기초가 튼튼한 데이터베이스) (0) 2021.05.23 13일차 - SQL (데이터 조작, DML) (2) (0) 2021.05.15