[데블챌 9일] ER 모델 구성요소 이해하기
들어가며,
-
데이터 블로그 챌린지(데블챌 2기) 9일차입니다.
-
14일 간 블로그 게시글을 올리면서 글 쓰는 습관을 들여보려 합니다.
목차
-
ER 모델 구성요소 이해하기
-
-
개체(Entity)
-
-
-
관계(Relationship)
-
-
-
속성(Attribute)
-
- 유동오, 핵심 데이터 모델링, 디비안(DBian), 2020
도서 링크
ER 모델 구성요소 이해하기
저번 게시글에서 데이터 모델링 개념을 최소한으로 정리하였습니다.
앞으로는 ‘핵심 데이터 모델링’ 이라는 책을 읽으면서 기억하고 싶은 내용을 단순하게 적어두려 합니다.
ER 모델이란 뭘까요?
데이터 모델링 이론 개념으로 현실 세계의 업무를 개체(Entity)와 관계(Relationship),
두 가지 개념으로 표현하는 가장 대표적인 데이터 모델 중 하나입니다.
(두 단어의 앞 글자를 따서 ER Model)
ER 모델 구성요소 이해하기
개체(Entity)
그러면 개체란 뭘까요?
책에서는 이론에 들어가기 전에 카페 영수증을 예시로 듭니다.
카페 영수증에는 ‘주문메뉴’, ‘판매수량’ 등 카페를 운영할 때 유용한 정보가 많습니다.
이 둘을 함께 관리하여 많이 팔린 메뉴를 볼 수도 있겠네요.
이러한 데이터에서 정보로 필요하고 관리해야 하는 대상이나 행위를 개체로 정의할 수 있습니다.
ER 모델 구성요소 이해하기
관계(Relationship)
개체와 개체 간 존재하는 규칙을 정의한 것이고 개체가 서로 어떻게 연관되어 있는 지를 표현하는 것인데,
이해하기 쉽게 저번 정규화 관련 포스팅에서 사용한 영수증 예시를 가져와보겠습니다.
한 영수증 안에 모든 정보가 있어 중복 저장이나 불 필요한 업데이트 문제가 발생하여 정규화를 했었습니다.
제1정규화를 거친 관계 테이블은 기본키로 관계를 식별할 수 있어야 한다고 했습니다.
위 예시라면 주문번호를 만들어 주문 내역 테이블과 주문 메뉴 상세 테이블로 나눠 볼 수 있는데,
이 경우에도 개체(주문 내역)와 개체(주문 메뉴 상세) 간 존재하는 주문번호라는 규칙을 정의한 것이고 개체 간의 관계를 표현하는 것입니다.
ER 모델 구성요소 이해하기
속성(Attribute)
데이터를 표현하는 가장 작은 단위로 흔히 말하는 컬럼(Column)과 같은 의미이며
관계형 데이터베이스 용어에서 속성이라 사용합니다.
이 속성들이 모여 하나의 정보 단위가 되면 개체가 됩니다.
[요약]
ER 모델은 현실 세계에서 정보로 필요하고 관리해야 하는 대상이나 행위를 정의하고
그 관계를 표현하는 방식의 데이터 모델이라고 볼 수 있습니다.
[한줄 인사이트]
자주 쓰는 개념을 메모장에 간단히 정의하면서 풀어써보라고 하셨던 과거 교수님 말씀이 문득 떠올랐습니다.
풀어 쓰다가 이 내용을 한 마디씩 줄여가며 정의해가는 방식인데요.
이번에는 조금 장황하게 정리했지만 다음번 포스팅 때 다시 정리할 때는 좀 더 간결하게 정의해보는 편이 좋겠습니다.
Reference
- 유동오, 핵심 데이터 모델링, 디비안(DBian), 2020
도서 링크