💡 핵심 인사이트
ER 모델은 1976년 피터 첸(Peter Chen)이 창안한 모델로, 복잡한 현실 세계의 업무를 컴퓨터 세상(DB)으로 옮겨오기 전, 가장 처음 단계(개념적 설계)에서 사람과 사람이 소통하기 위해 직관적인 '그림(도형)'으로 데이터의 뼈대를 스케치하는 방법론입니다.
이 ER 모델을 시각화하여 그려낸 결과물을 **ER 다이어그램(ERD)**이라고 부릅니다.


Ⅰ. 데이터베이스 설계의 첫 단추, 개념적 모델링

회사의 사장님이 "쇼핑몰 DB 하나 만들어줘!"라고 했을 때, 개발자가 바로 컴퓨터를 켜고 SQL 코드로 CREATE TABLE부터 치기 시작하면 그 프로젝트는 반드시 망합니다. (고객의 요구사항과 다르게 만들어집니다).

집을 지을 때 굴삭기부터 부르지 않고 건축가와 조감도를 그리며 "방은 몇 개가 필요하세요? 화장실은 어디에 둘까요?"를 논의하듯, 어려운 컴퓨터 코드가 아니라 비개발자(사장님, 기획자)도 알아볼 수 있는 네모, 동그라미 기호들을 써서 우리 회사의 핵심 데이터들이 어떻게 굴러가는지 큰 지도를 그리는 첫 작업이 바로 ER 모델을 활용한 개념적 설계입니다.


Ⅱ. ER 모델의 3대 핵심 구성 요소

ER(Entity-Relationship)이라는 이름 그대로, 현실 세계를 크게 세 가지 부품으로 쪼개서 조립합니다.

1. 개체 (Entity) ➔ 나중에 테이블(Table)이 됨

  • 물리적이거나 개념적으로 존재하는 "명사(명확한 관리 대상)"입니다.
  • 예: 학생, 교수, 과목, 주문, 상품.
  • ERD 기호: ◼️ 직사각형 (Rectangle)

2. 속성 (Attribute) ➔ 나중에 컬럼(Column)이 됨

  • 개체가 가지고 있는 고유한 성질이나 특징입니다.
  • 예: 학생(개체)의 '학번', '이름', '나이'.
  • ERD 기호: ⭕ 타원 (Ellipse). (그중에서 기본 키(PK)가 될 속성은 타원 안의 글자에 '밑줄'을 그어 표시합니다.)

3. 관계 (Relationship) ➔ 나중에 외래 키(FK)나 매핑 테이블이 됨

  • 두 개 이상의 개체들 사이에 맺어지는 연관성("동사")입니다.
  • 예: 학생(개체)이 과목(개체)을 '수강한다(관계)'. 고객이 상품을 '구매한다'.
  • ERD 기호: 🔷 마름모 (Diamond).

Ⅲ. ER 모델에서 논리적 모델로의 전환 (매핑 룰)

화이트보드에 예쁘게 그려진 ER 다이어그램(개념 모델)은 그 자체로는 컴퓨터에 저장될 수 없습니다. 이를 컴퓨터(RDBMS)가 알아들을 수 있는 표 형태(테이블)로 변환하는 과정을 **논리적 설계(Mapping Rule)**라고 합니다.

  1. 네모(개체)는 선을 그어 **'테이블'**로 만듭니다.
  2. 타원(속성)들은 그 테이블의 상단에 **'컬럼(열)'**으로 꽂아 넣습니다.
  3. 마름모(관계)는 1:N이냐 M:N이냐에 따라 **외래 키(FK)**를 주거나, 아예 새로운 교차 테이블로 뽑아냅니다.

📢 섹션 요약 비유: ER 모델은 이케아(IKEA) 가구를 조립하기 전에 들어있는 **'그림 설명서(조감도)'**입니다. 복잡한 나사 이름이나 쇠의 강도(컴퓨터 언어, 테이블 구조)는 몰라도, 누구나 "아, 이 네모난 판(개체)에 동그란 다리 4개(속성)가 꽂히고(관계), 그 옆에 서랍장이 붙는구나"를 직관적으로 이해하고 합의하게 만들어주는 기적의 소통 도구입니다.