▶ 데이터 모델링과 데이터 모델의 개념
- 데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터 베이스로 옮기는 변환 과정
- 추상화 : 현실 세계에 존재하는 것을 데이터 베이스에 저장하기 위해 관리할 만한 가치가 있는 중요 데이터만 찾는 과정.
→ 추상화 과정을 통해 찾아낸 데이터를 데이터베이스에 저장해야 되는데, 이 때 결정할 문제가 하나 더 있다. 바로 데이터베이스에 저장하는 구조이다.
→ 이와 같은 과정을 진행하기 위해 중요한 데이터를 찾아 개념 세계로 옮기는 단계와 이를 컴퓨터 세계에 저장하는 구조를 결정해서 표현하는 단계로 나누어 진행한다.
- 개념적 모델링 : 현실 세계 물체에 대한 중요 데이터를 추출하여 개념 세계로 옮기는 작업
- 논리적 모델링 : 개념 세계의 데이터를 데이터 베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업
→ 일반적으로 개념적 모델링과 논리적 모델링을 명확히 구분하지는 않고 합쳐서 데이터 모델링이라 칭함.
- 데이터 모델 : 데이터 모델은 데이터 모델링의 결과물을 표현하는 도구로 ①개념적 데이터 모델과 ②논리적 데이터 모델이 있다.
- 개념적 데이터 모델은 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 데이터 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구다.
- 논리적 데이터 모델은 개념적 구조를 논리적 데이터 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구다.
- 일반적으로 데이터 모델은 데이터 구조, 연산, 제약조건으로 구성된다. 데이터 모델에서는 보통 데이터 구조를 강조하지만, 적용 가능한 연산과 제약조건도 이해할 필요가 있다.
- 개념적 데이터 모델에서 데이터 구조는 현실 세계를 개념 세계로 추상화했을 때 어떤 요소로 이루어져 있는지를 표현하는 개념적 구조다.
- 논리적 데이터 모델에서 데이터 구조는 데이터를 어떤 모습으로 저장할 것인지를 표현하는 논리적 구조이다.
→ 보통 데이터 구조는 자주 변하지 않고 정적이라는 특징이 있다.
→ 연산은 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현하는 값들을 처리하는 작업으로, 값이 연산에 의해 계속 변경될 수 있으므로 동적이라는 특징이 있다.
→ 마지막으로 데이터 무결성 유지를 위한 제약조건에는 구조적 측면의 제약 사항과 연산을 적용하는 경우 허용할 수 있는 의미적 측면의 제약 사항이 있다.
ex) 데이터 모델링과 데이터 모델의 개념을 아파트 짓는 일을 통해 이해해보자.
사람들이 원하는 아파트를 건설하려면 먼저 사람들이 원하는 요구 사항을 잘 반영할 수 있도록 설계도부터 꼼꼼히 그려야 한다. 그런 다음, 완성된 설계도를 토대로 건설하기 전에 모델하우스를 지어보고 요구 사항이 제대로 반영되었는지를 확인해야 한다.
여기서 사람들의 요구 사항을 반영하여 설계도를 그리는 과정이 개념적 데이터 모델링이고, 설계도를 그릴 때 사용하는 방법이나 도구가 개념적 데이터 모델이다. 설계도를 토대로 모델하우스를 만드는 과정을 논리적 데이터 모델링, 모델하우스를 만들 때 사용하는 방법이나 도구를 논리적 데이터 모델로 생각할 수 있다.
보통 개념적 데이터 모델링과 논리적 데이터 모델링을 통틀어 데이터베이스 설계라고 한다. 데이터 모델링 과정을 통해 논리적 구조가 결정되면, 컴퓨터 저장 장치에 실제로 저장되는 형태를 의미하는 물리적 구조로 변환하는 작업을 통해 현실 세계의 데이터를 컴퓨터 세계의 데이터로 저장한다.
개념적 데이터 모델링과 논리적 데이터 모델링 작업을 지원하는 다양한 데이터 모델이 존재하는데, 사용하는 데이터 모델에 따라 현실 세계를 표현하는 개념적 구조나 논리적 구조의 모습이 달라진다. 개념적 데이터 모델 중 대표적으로 많이 사용되는 것이 개체-관계 모델이다.
논리적 데이터 모델로는 관계 데이터 모델이 가장 많이 사용된다.
'자격증 > SQLD' 카테고리의 다른 글
SQL 기본 및 활용 (0) | 2023.03.19 |
---|---|
30회 기출 문제 오답노트 (2) | 2023.03.17 |
데이터 모델과 성능 (0) | 2023.03.12 |
데이터 모델링의 이해 (0) | 2023.03.10 |