목록으로
DB

데이터 모델링에 대해서 알아보자

Dev Park
11/26/2022
23 views

서론

현실 세계의 데이터를 컴퓨터로 옮길 때는 어떻게 해야할까?
그 체계화 된 과정에 대해서 오늘 알아보자.

데이터 모델링이란?

복잡한 현실 세계의 데이터를 단순화 시켜 컴퓨터 세계의 데이터베이스로 옮기는 과정을 데이터 모델링 이라고 한다.
데이터 모델링에는 총 세가지 단계가 있으며, 개념적 데이터 모델링, 논리적 데이터 모델링, 물리적 데이터 모델링이 있다.

개념적 데이터 모델링

Entity, attribute, relation 을 정의하는 단계이다.

Entity(개체) 는 현실세계의 정보를 모아 그룹화 한 것이다.
attribute(속성) 은 정보 자체를 뜻한다. 이것들이 모여서 Entity가 된다.
relation(관계) 는 entity들 간의 관계를 뜻한다. 테이블 간의 관계를 형성하는 것이다.

논리적 데이터 모델링

정규화라는 것을 진행하는 단계이다.

정규화?

데이터 테이블을 쪼개어 중복된 데이터를 없애기 위한 과정을 뜻한다.
총 세가지 단계가 있다.

제 1 정규화

모든 속성이 도메인 원자값으로만 이루어져 있는 것을 뜻한다.
원자값이란 더 이상 논리적으로 쪼개어질 수 없는 값을 뜻한다.
즉 하나의 도메인이 다중값을 가질 수 없고, 같은 종류의 데이터를 처리하는 테이블이 두개 이상 존재하지 않게 하는 작업이다.

제 2 정규화

relation이 제 1 정규화를 만족하고, 기본키가 아닌 모든 속성이 기본키에 완전함수 종속 되어야하는 것을 제 2정규화라고 한다.
기본키를 구성하는 모든 속성이 있어야만 기본키가 아닌 다른 속성이 결정되는 것을 완전함수 종속이라고 한다.
즉 기본키 외에 다른 속성으로 또 다른 속성을 알면 안된다는 뜻이다.

제 3 정규화

제 1,2 정규화를 만족하면서 이행 함수종속을 제거한 것을 제 3 정규화라고 한다.
이행 함수종속이란 기본키가 결정되면서 다른값이 결정되면 그 다른 값에 의해 또 다른 값이 연속적으로 결정되는 상황을 뜻한다.
1번 2번 3번 데이터가 있다면 1번이 결정됨으로써 2번이 결정되었고, 2번이 결정됨으로써 3번이 결정되는 상황이 이행 함수종속이라고한다.
즉 2번 3번 데이터는 서로에게 영향을 받지않고 오직 기본키인 1번 데이터에게만 영향을 받게 설계해야하는 것이 제 3정규화 이다.

물리적 데이터 모델링

논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 저장될 것인가를 다루는 것을 물리적 데이터 모델링이라고 한다.
실제 프로젝트에서 이 단계를 수행하는 경우는 드물다.

마치며

데이터 모델링은 데이터 베이스를 효율적으로 설계하는데 있어 중요한 부분이기에 숙지해두는 것이 좋다.