[Data modeling 01 ] 데이터 모델링 - 기본개념

목차

  1. Entity
  2. Attribute
  3. Relationship

1. Entity

(1) 정의

  • 업무가 관여하는 어떤것(Things)
  • 변별할수 있는 사물(thing) - Peter chen (1976)
  • DB내에서 변별 가능한 객체 - C.J Date (1986)
  • 정보를 저장할수 있는 어떤것 - James Martin (1989)
  • 정보가 저장될수 있는 사람, 장소, 물건, 사건 & 개념 - Thomas bruce

  • 사람, 장소, 물건, 사건 등의 명사에 해당
  • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것, 인스턴스의 집합
  • 현재/미래에 관리하고 하는 데이터 집합

엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는데, 예를 들어 ‘학생’이라는 엔터티는 학번, 이름, 이수학점, 등록일자, 생일, 주소, 전화번호, 전공 등의 속성으로 특징지어질 수 있다. 이러한 속성 가운데에는 엔터티 인스턴스 전체가 공유할 수 있는 공통 속성도 있고, 엔터티 인스턴스 중 일부에만 해당하는 개별 속성도 있을 수 있다.

또한 엔터티는 인스턴스의 집합이라고 말할 수 있고, 반대로 인스턴스라는 것은 엔터티의 하나의 값에 해당한다고 정의할 수 있다. 예를 들어 과목은 수학, 영어, 국어가 존재할 수 있는데 수학, 영어, 국어는 각각이 과목이라는 엔터티의 인스턴스들이라고 할 수 있다. 또한 사건이라는 엔터티에는 사건번호2010-001, 2010-002 등의 사건이 인스턴스가 될 수 있다.

엔티티

(2) 특징

  • 집합성 : 두개 이상의 인스턴스와 두개 이상의 속성이 존재해야 한다.
  • 식별성 : 유일한 식별자에 의해 식별이 가능해야 한다.
  • 사용성 : 업무 프로세스에 의해 이용되어야 한다.
  • 영속성 : 영속적으로 존재하는 인스턴스의 집합이어야 한다.(‘한 개’가 아니라 ‘두 개 이상’)
  • 관리성 : 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.

  • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.(예. 환자, 토익의 응시횟수, …)

(3) 분류

(3)-1. 유무형에 따른 분류

A. 유형엔티티(Tangible Entity)
  • 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티로 업무로부터 엔터티를 구분하기가 가장 용이
  • 예를 들면, 사원, 물품, 강사 등이 이에 해당
B. 개념엔티티(Conceptual Entity)
  • 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분
  • 예를 들면, 조직, 보험상품 등이 이에 해당
C. 사건엔티티(Event Entity)
  • 업무를 수행함에 따라 발생되는 엔티티로서 비교적 발생량이 많으며 각종 통계자료에 이용가능
  • 옐르 들면, 주문, 청구, 미납 등이 이에 해당

(3)-2. 발생시점에 따른 분류

A. 기본엔티티(Fundamental Entity, Key Entity)
  • 그 업무에 원래 존재하는 정보로서 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성이 가능
  • 타 엔터티의 부모의 역할
  • 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가진다.
  • 예를 들어, 사원, 부서, 고객, 상품, 자재 등이 해당
B. 중심엔티티(Main Entity)
  • 중심엔터티란 기본엔터티로부터 발생되고 그 업무에 있어서 중심적인 역할
  • 데이터의 양이 많이 발생되고 다른 엔터티와의 관계를 통해 많은 행위엔터티를 생성
  • 예를 들어 계약, 사고, 예금원장, 청구, 주문, 매출 등이 해당
C. 행위엔터티(Active Entity)
  • 행위엔터티는 두 개 이상의 부모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가
  • 분석초기 단계에서는 잘 나타나지 않으며 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출
  • 예를 들어, 주문목록, 사원변경이력 등이 해당

2. Attribute

(1) 정의

  • 사물이나 개념이 어떤 것인지를 나타내고 그것을 다른 것과 구별하는 성질
  • 업무상 관리하기 위한 최소의 의미 단위로 생각할 수 있고, 이것은 엔터티에서 한 분야를 담당하고 있다.
  • 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
  • 엔터티를 설명하고 인스턴스의 구성요소가 된다.

(2) 엔티티, 인스턴스, 속성, 속성값의 관계

  • 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
  • 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
  • 한 개의 속성은 한 개의 속성값을 갖는다.

(3) 특징

(3)-1. 속성의 특징에 따른 분류

A. 기본속성(Basic Attribute)
  • 기본 속성은 업무로부터 추출한 모든 속성이 여기에 해당하며 엔터티에 가장 일반적이고 많은 속성을 차지
  • 코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호, 그리고 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성은 기본속성
B. 설계속성(Designed Attribute)
  • 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성
  • 대개 코드성 속성은 원래 속성을 업무상 필요에 의해 변형하여 만든 설계속성이고 일련번호와 같은 속성은 단일(Unique)한 식별자를 부여하기 위해 모델 상에서 새로 정의하는 설계속성
C. 파생속성(Derived) Attribute)
  • 다른 속성에 영향을 받아 발생하는 속성으로서 보통 계산된 값들이 이에 해당
  • 프로세스 설계 시 데이터 정합성을 유지하기 위해 유의해야 할 점이 많으며 가급적 파생속성을 적게 정의

(3)-2. 엔티티 구성방식에 따른 분류

A. 복합속성(Composite Attribute)
  • 주소 속성은 시, 구, 동, 번지 등과 같은 여러 세부 속성들로 구성될 수 있는데 이를 복합 속성(Composite Attribute)
B. 단순속성(Simple Attribute)
  • 나이, 성별 등의 속성은 더 이상 다른 속성들로 구성될 수 없는 단순한 속성이므로 단순 속성(Simple Attribute)
C. 단일값(Single Value)
  • 속성 하나에 한 개의 값을 가지는 경우를 단일값(Single Value) 속성
  • 주민등록번호와 같은 속성은 반드시 하나의 값만 존재하므로 이 속성은 단일값 속성이다.
D. 다중값(Multi Value)
  • 여러 개의 값을 가지는 경우를 다중값(Multi Value) 속성
  • 어떤 사람의 전화번호와 같은 속성은 집, 휴대전화, 회사 전화번호와 같이 여러 개의 값을 가질 수 있다. 자동차의 색상 속성도 차 지붕, 차체, 외부의 색이 다를 수 있다. 이런 속성을 다중값 속성(Multi-Valued Attribute)이라 한다.
  • 다중값 속성의 경우 하나의 엔터티에 포함될 수 없으므로 1차 정규화를 하거나, 아니면 별도의 엔터티를 만들어 관계로 연결해야 한다.

3. Relationship

(1) 정의

  • 상호 연관성이 있는 상태
  • 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
  • 관계는 엔터티와 엔터티 간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다.

(2) 관계 표기법

  • 관계명(Membership) : 관계의 이름
  • 관계차수(Cardinality) : 1:1, 1:M, M:N
  • 관계선택사양(Optionality) : 필수관계, 선택관계

A. 관계명(Membership)

  • 관계명은 엔터티가 관계에 참여하는 형태를 지칭
  • 각각의 관계는 두 개의 관계명을 가지고 있다.
  • 각각의 관계명에 의해 두 가지의 관점으로 표현될 수 있다.

엔티티

B. 관계차수(Degree/Cardinality)

  • 두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것을 관계차수(Cardinality)

1:1 관계를 표시하는 방법

엔티티

1:M 관계를 표시하는 방법

엔티티

M:M 관계를 표시하는 방법

엔티티

C. 관계선택사양(Oprionlity)

참여하는 엔터티가 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법이 필수(Mandatory Membership)와 선택참여(Optional Membership)이다.

필수참여

  • 참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계
  • 주문서는 반드시 주문목록을 가져야 하며 주문목록이 없는 주문서는 의미가 없으므로 주문서와 주문목록은 필수참여관계가 되는 것

선택 참여

  • 목록은 주문이 될 수도 있고 주문이 되지 않은 목록이 있을 수도 있으므로 목록과 주문목록과의 관계는 선택참여(Optional Membership)가 되는 것

4. Identifier

댓글남기기