자격증/SQLD

[SQLD] 데이터 모델링의 이해 - 엔터티(Entity), 속성(Attribute), 관계(Relationship)

숭코기 2023. 8. 29. 22:30
728x90

01. 엔터티(Entity)

현실 세계에서 다른 모든 것들과 구분되는 유형, 무형의 것을 엔터티라고 정의하며 업무 수행을 위해서 알아야 될 대상이 되는 유형, 무형의 것을 엔터티라고 정의한다.

즉, 데이터로 관리되어야 하는 항목을 엔터티로 정의한다.

 

엔터티 특징

  • 유일한 식별자에 의해 식별 가능해야 한다. (e.g. 주민번호 / 성별 같은 식별자는 중복성이 커서 불가능함)
  • 2개 이상의 인스턴스(속성)의 집합이어야 한다.
  • 엔터티는 반드시 업무 프로세스에 의해 이용된다.
  • 반드시 속성을 가져야 한다. 그리고 1개의 엔터티는 무조건 2개 이상의 속성을 가진다.
  • 엔터티는 다른 엔터티와 최소한 1개 이상의 관계를 맺는다.
  • 엔터티 명은 약어를 지양해야 한다.

 

엔터티 분류

유무(有無)형에 따른 분류

명칭 설명
유형 엔터티(Tangible Entity) 물리적 형태가 있음 (e.g. 사원, 물품, 감사)
개념 엔터티(Conceptual Entity) 물리적 형태가 없음(e.g. 조직, 보험상품)
사건 엔터티(Event Entity) 업무 수행에 따라 발생(e.g. 주문, 청구, 미납)

 

발생시점에 따른 분류

명칭 설명
기본 엔터티 원래 존재하는 정보(e.g. 사원, 부서, 고객, 상품)
중심 엔터티 기본엔터티로부터 발생하고 다른 엔터티와 관계를 통해 많은 행위 엔터티를 발생 (e.g. 계약, 사고, 청구, 주문)
행위 엔터티 두 개 이상 부모 엔터티로 부터 발생. 내용이 자주 바뀌거나 데이터량이 증가(e.g. 주문목록, 로그인 이력) 

 

 

02. 속성(Attribute)

업무에서 필요로 하는 인스턴스에서 더 이상 분리되지 않는 최소 데이터 단위

  • 한 개의 속성은 반드시 한 개의 속성값만 가진다
  • 한 개의 엔터티는 최소 2개 이상의 속성을 가진다
  • 한 개의 엔터티는 최소 1개 이상의 다른 엔터티와 관계를 가진다
  • 한 개의 엔터티는 최소 2개 이상의 인스턴스 집합이어야 한다

 

속성의 분류

특성에 따른 분류

명칭 설명
기본속성 업무로 부터 추출한 값(e.g. 이름, 전화번호, 성별)
설계속성 규칙화를 위해 변형/새로 정의한 값(e.g. 과목코드, 지역코드)
파생속성 다른 속성에 영향을 받아 발생한 값(e.g. 예금이자, 평균성적)
💡 은행에 적금을 들고자 합니다. 그래서 우리는 원금을 통장에 입금했습니다. 이자율은 5%라서 연 이자는 원금의 *0.05를 기대하면 되겠습니다.

원금, 이자율 → 기본속성
이자 → 파생속성
* 위의 예시에서 설계속성은 예금분류에 해당 될 수 있다 

계산이라는 키워드가 들어가면 파생속성

 

엔터티 구성방식에 따른 분류

명칭 설명
PK(Primary Key) 엔터티를 식별할 수 있는 속성
FK(Foreign Key) 다른 엔터티와의 관계에서 포함된 속성
일반속성 PK, FK에 포함 되지 않은 속성
명칭 설명
단순형 원자값 속성
복합형 여러 세부 속성으로 나뉠 수 있는 속성

 

도메인(Domain)

각각의 속성이 가질 수 있는 값의 범위

💡 주문이라는 엔터티가 있을 때 단가라는 속성 값의 범위는 100 ~ 10000 사이의 실수 값이며 제품명이라는 속성의 길이가 20자리 이내의 문자열로 정의가 가능하다.

범위가 언급되면 도메인에 대한 이야기

 

03. 관계(Relationship)

존재에 의한 관계

 

관계의 페어링

엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것

페어링의 집합: 관계

 

관계의 표기법

  • 관계명(Membership): 관계의 이름
  • 관계차수(Cardinality): 1:1, 1:M, M:N
  • 관계선택사양(Optionality): 필수관계(not null), 선택관계(nullable, O를 표시)

 💡 동사(Verb)는 관계를 서술하는 업무기술서의 가장 중요한 사항

 

📌 참고자료

https://wikidocs.net/170647

 

11. 엔터티와 ERD (Entity-Relationship Model)

## Entity (엔터티) 엔터티는 해당 업무에 필요되는 정보이자 관리가 필요한 대상을 말합니다. 예를 들어, 여러분들이 쇼핑몰을 운영하는 운영자라 할 때, 이 업무에서 필요…

wikidocs.net

 

https://wikidocs.net/170654

728x90