1. 데이터 모델링이란? 누가 데이터 모델링에 대해 학습해야 하는가?
데이터 모델링은 많은 정의가 있지만! 나는 이 정의가 제일 와닿는 것 같다.
현실 세계의 데이터를 약속된 표기법으로 표현하는 과정.
데이터 구조에 대한 이해는 개발자로 하여금 업무 프로세스에 대한 이해도를 높인다. 어떤 데이터가 중요한지, 어떻게 참조 될 수 있는지 등등 필요한 데이터에 대해 잘 파악할 수 있다면 당연하게도 어떤 방향으로 코딩을 하고 데이터를 가져올 수 있는 지 유추할 수 있을 것이다. 이는 비단 개발자 직군에만 해당되는 이야기가 아니라고 생각한다. 그래서 나는 업무에서 정보화나 고도화를 추진하는 경우가 아니더라도, 또한 본인이 개발자가 아니더라도 데이터 구조나 모델링에 대한 학습을 할 만한 가치가 있다고 생각한다.
2. 데이터베이스를 만드는 과정인, 데이터 모델링
데이터 베이스를 만드는 과정은 개념적 데이터모델 - 논리적 데이터 모델 - 물리적 데이터 모델로 정리할 수 있으며, 이러한 데이터 모델링 과정이 전 조직에 걸쳐 이루어진다면 그것은 전사적 데이터 모델(Enterprise Data Model)이라고 부를 수 있다. 참고로 db 서적에 나오는 "EA 기반의 ~~~ ", "EA 수립 시 ~~~ " 에서의 EA가 시스템을 종합적이고 체계적으로 정리한 구조도라는 의미의 전사적 아키텍쳐(Enterprise Architecture)다.
3. 데이터 모델링의 세가지 요소 : 엔티티, 속성, 관계.
엔티티라 함은 어떤 것, 어떤 객체, 사물 등을 말한다.
속성은 그 엔티티가 가지고 있는 성격, 속성이다.
관계는 말 그대로 하나의 엔티티와 다른 엔티티 간에 맺어지는 하나의 관계다.
예를 들면, 학교 엔티티와 학생 엔티티가 있다.
학교 엔티티에는 학교이름, 학교구분, 지역, 학교전화번호 등이 속성으로 포함될 수 있다. 학생 엔티티에는 학생이름,학년구분,주소,전화번호 등이 속성으로 포함될 수 있다.
학교 엔티티는 학생 엔티티를 포함한다. 이로써 학교 엔티티와 학생 엔티티 사이에 "포함한다"라는 관계가 생기게 된다.
3-1. 관계의 3가지 형태
"포함한다"라는 관계와, "포함된다"라는 관계를 보면 한 엔티티의 기준으로 상대 엔티티와의 관계를 정의하고 있음을 알 수 있다. 이러한 관계 정의에 의해 3가지의 관계가 나뉘는데, 1:1 관계, 1:N 관계, N:M 관계가 그것이다. N:M 관계는 각각의 엔티티 관점에서 서로가 1:N의 관계라고 정의되는 것이다. ( ** 관계 이름은 현재형을 사용하는 것이 규칙이다. )
일부 출처 : SQL 전문가 가이드 (한국데이터베이스진흥원, 2013 Edition)
'study_db' 카테고리의 다른 글
집합 연산자 (0) | 2021.04.17 |
---|---|
데이터 모델링의 식별자 개념 (0) | 2021.04.17 |
데이터모델링의 3가지 요소 : 관계(Relationship)에 대한 이해 (0) | 2021.02.10 |
데이터모델링의 3가지 요소 : 속성(Attribute)에 대한 이해 (0) | 2021.02.07 |
데이터모델링의 3가지 요소 : 엔터티(Entity)에 대한 이해 (0) | 2021.02.07 |