자격증/DASP

[DAsP] 4-1-3절 데이터 모델 구성 요소

동호다찌 2022. 5. 26. 18:33

과목 4. 데이터 모델링

제1장 데이터 모델링 이해


1. 논리 데이터 모델링 / 물리 데이터 모델링

데이터 모델링은 DB에 저장할 데이터를 위한 데이터 모델을 만드는 프로세스를 의미한다. 이런 데이터 모델은 다른 데이터 객체와 규칙들 간의 연결을 나타내는 개념적인 표현이다.

데이터 모델링은 데이터의 시각적인 표현을 도와주고 데이터에 대한 비즈니스 규칙, 규정 준수 및 정책들을 시행한다. 또한 데이터 품질을 보장하면서도 Naming convention과 기본 값, semantic 그리고 보안의 일관성을 보장한다.

즉 데이터 모델링은 데이터에 대한 개념적인 표현과 데이터와 그 데이터들에 적용될 규칙들의 연관성을 나타내기도 하며, 데이터의 시각적인 표현(visualization)을 할 수 있게 도와준다는 것이다.


논리적 데이터 모델링이란 데이터베이스 설계 프로세스의 Input으로써 비즈니스 정보의 구조와 규칙을 명확하게 표현하는 기법이다. 논리적 모델은 데이터 모델링이 최종적으로 완료된 상태를 말한다. 즉, 물리적인 스키마 설계를 하기 전단계의 데이터 모델 상태를 일컫는 말이다.

논리적 데이터 모델링의 핵심은 어떻게 데이터에 액세스하며, 누가 데이터에 액세스하며, 그러한 액세스의 전산화와는 독립적으로 비즈니스 데이터에 존재하는 사실을 인식·기록하는 기법일 뿐만 아니라 철학이다.


물리 데이터 모델이란 논리적 모델을 특정 데이터베이스로 설계함으로써 생성된, 데이터를 저장할 수 있는 물리적인 스키마를 말한다.

데이터 모델의 엔터티와 서브타입은 논리적인 집합이며, 만약 관계형 데이터베이스로 설계한다면 이 단계에 와서 물리적인 테이블(Table)로 확정된다. 하나의 논리적 집합(엔터티 혹은 서브타입)은 하나 이상의 테이블이 될 수 있으며, 경우에 따라서는 속성의 일부만으로 생성될 수 있다.

물리 데이터 모델링은 논리 데이터 모델을 사용하고자 하는 각 DBMS의 특성을 고려하여 데이터 베이스 저장 구조(물리 데이터 모델)로 변환하는 것이다. 여기에서 물리 데이터 모델링과 데이터베이스 디자인과의 개념을 정리하자면 물리 데이터 모델링은 데이터의 구조에 관련된 것들을 물리적인 모습까지 설계하는 것이고, 반면에 데이터베이스 디자인은 이러한 물리적인 모델(설계도면)을 DBMS 관점의 오브젝트로 생성하는 최적의 설계(디자인)를 하는 것이다. 데이터베이스 디자인의 예로는 오브젝트별 저장공간의 효율적 사용 계획, 오브젝트 파티셔닝 설계, 최적의 인덱스 설계 등이 여기에 속한다고 할 수 있다. 물론, 이러한 기준에 대해서 이론이 있을 수 있을 것이다.


2. 엔터티 (Entity)

업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)

업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합

1) 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다.

2) 엔터티는 업무상 관리가 필요한 관심사에 해당한다.

3) 엔터티는 저장이 되기 위한 어떤 것(Thing)이다.


3. 관계 (Relationship)

관계(Relationship)란 엔터티와 엔터티 사이의 관계(關係)를 말한다. 즉, 관리하고자 하는 업무 영역 내의 특정한 두 개의 엔터티 사이에 존재하는 많은 관계 중 특별히 관리하고자 하는 직접적인 관계(업무적 연관성)를 의미한다.

 

관계명(Membership)

관계명은 엔터티간 관계에 맺어진 형태 뜻한다.

관계가 시작되는 쪽을 "관계시작점(The Beginning)"이라 칭하며 받는쪽을 "관계끝점(The End)"라고 칭한다.

또한 관점에 따라 능동적(Active)이거나 수동적(Passive)으로 명명된다.

 

관계차수(Degree/Cardinality)

관계차수란 두 엔터티간 관계에서 수행되는 경우의 수를 뜻한다. 종류로는 1:1, 1:M, M:N이 있다.

 

1:1(One to One)관계 :  가족은 법적으로 하나만 있습니다. 즉, 사원 엔터티와 가족사항 엔터티는 1:1 관계차수가 성립된다.

1:M(One to Many)관계 : 부서 엔터티는 여러명의 사원을 소속하지만, 사원은 하나의 부서에만 소속된다. 

 

M:N(Many to Many) : M:N관계를 가진 모델링은 두개의 주식별자 상속받은 관계 엔터티를 이용하여 3개의 엔터티로 구분하여 수정이 된다.

 

관계선택사양(Optionality)

관계에서 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법따라 필수참여 관계(Mandatory), 선택참여 관계(Optional)로 나뉜다.

고객과 주무 엔터티 관계를 살펴보자. 3명의 손님의 가게에 들어왔다. 하지만 2명의 손님만 주문을 시킬 경우도 있다.

주문은 꼭 손님에 의해서 수행이 되지만, 손님은 주문을 시킬수도 있고 안 시킬수도 있다.

이처럼 주문은 손님에의해 수행이 될수도 있고 안 될수도 있어서 선택참여 관계이고 주문된 항목은 꼭 손님에 의해서 수행이 되어져야 하므로 필수참여 관계이다. 


4. 속성 (Attribute)

속성은 엔터티에서 관리되는 구체적인 정보 항목으로 더 이상 분리될 수 없는 최소의 데이터 보관 단위이다.

예를 들어, 엔터티 사원에 속하는 모든 엔터티는 이름을 갖고 있다. 또한 모든 사원에는 입사일자, 사원번호, 생년월일 등의 특성을 가지고 있다. 엔터티 사원에 속하는 모든 인스턴스들이 공통으로 가지는 이러한 특성을 속성(Attribute)이라고 한다.

각 엔터티들은 일련의 속성들에 의해 상세화될 수 있다.