자격증 정복기/SQLD - SQL Developer가 되어보자

개체-관계 모델, 비전공자도 이해할 수 있다! (ERD, 엔터티, SQLD 독학, 데이터분석 기초)

문노베 2025. 5. 1.

개체-관계 모델, 비전공자도 이해할 수 있다! (ERD, 엔터티, SQLD 독학, 데이터분석 기초)

‘개체’, ‘관계’, ‘속성’이라는 단어만 보면 머리가 지끈하신가요? 걱정 마세요.

 

이건 복잡한 개념이 아니라, 우리가 일상에서 늘 마주치는 구조일 뿐이니까요.

 

SQLD 교재를 펼치면 가장 먼저 나오는 개념 중 하나가 바로 개체-관계 모델(Entity-Relationship Model)이에요.



하지만 ‘ER 다이어그램’, ‘속성’, ‘식별자’ 같은 단어들은 비전공자 입장에선 벽처럼 느껴지죠.



저도 처음엔 "이걸 알아야 SQL을 쓸 수 있는 거야?" 하고 멘붕이 왔었거든요.



그래서 오늘은 이 개념을 비전공자 기준, 실무와 연결되는 방식으로 쉽게 풀어드릴게요.



ER 모델은 결국 '데이터를 정리하는 방법'이에요. 한 번 이해해두면 SQL 공부도 훨씬 부드럽게 이어집니다.

목차

 

안녕하세요, 문노베입니다.

 

SQLD 교재를 펼치면 가장 먼저 나오는 개념 중 하나가 바로 개체-관계 모델(Entity-Relationship Model)이에요.

 

하지만 ‘ER 다이어그램’, ‘속성’, ‘식별자’ 같은 단어들은 비전공자 입장에선 벽처럼 느껴지죠.

 

저도 처음엔 "이걸 알아야 SQL을 쓸 수 있는 거야?" 하고 멘붕이 왔었거든요.

 

그래서 오늘은 이 개념을 비전공자 기준, 실무와 연결되는 방식으로 쉽게 풀어드릴게요.

 

ER 모델은 결국 '데이터를 정리하는 방법'이에요. 한 번 이해해두면 SQL 공부도 훨씬 부드럽게 이어집니다.

1. 개체-관계 모델이란 무엇인가?

ER 모델(Entity-Relationship Model)은 데이터 간의 관계를 시각적으로 정리하는 방법이에요.

 

쉽게 말하면, '어떤 정보들을 저장할지' 그리고 '그 정보들끼리 어떻게 연결돼 있는지'를 다이어그램으로 표현하는 겁니다.

 

예를 들어 '고객'이라는 정보와 '주문'이라는 정보가 있을 때, 이 둘은 어떤 관계일까요?

 

고객은 여러 개의 주문을 할 수 있고, 하나의 주문은 한 명의 고객에게 속하죠. 이런 관계를 정리해주는 게 바로 ER 모델입니다.

2. 실생활 속 ER 모델 예시

ER 모델은 아주 복잡해 보이지만, 알고 보면 우리 일상에도 수없이 존재하는 구조입니다.

 

아래 예시는 누구나 공감할 수 있을 거예요.

개체(Entity) 예시 연결 관계
학생 학번, 이름, 학과 등 수강신청 → 과목
고객 고객ID, 이름, 주소 주문 → 제품
직원 사번, 부서, 직급 소속 → 부서

이렇게 보면 ER 모델은 단지 정보 간 연결을 정리하는 틀일 뿐이라는 게 느껴지시죠?

3. 개체(Entity)와 속성(Attribute)의 차이

이 부분에서 많은 분들이 헷갈려해요. 그래서 정말 간단하게 정리해 드릴게요.

  • 개체(Entity): 독립적으로 존재하는 대상 → 예: 고객, 주문, 제품
  • 속성(Attribute): 그 대상이 가진 정보들 → 예: 고객명, 연락처, 이메일

엑셀 시트로 비유하자면, 개체는 하나의 시트, 속성은 그 시트의 열(컬럼)이라고 보면 이해가 쉬워요.

 

개체(Entity): 독립적으로 존재하는 대상 → 예: 고객, 주문, 제품속성(Attribute): 그 대상이 가진 정보들 → 예: 고객명, 연락처, 이메일

4. 관계(Relationship)의 종류와 방향

관계는 말 그대로 ‘개체 간의 연결’을 의미해요. 가장 많이 나오는 관계의 유형은 아래 세 가지예요:

  • 1:1 관계 – 한 명의 직원은 하나의 사무실만 사용 (예: 직원 - 사무실)
  • 1:N 관계 – 한 명의 고객은 여러 번 주문 가능 (예: 고객 - 주문)
  • N:M 관계 – 여러 학생이 여러 과목을 수강 (예: 학생 - 과목)

특히 SQLD 시험에서는 1:N 관계를 올바르게 해석할 수 있느냐가 매우 중요합니다.

 

그리고 N:M 관계는 실무에서는 중간에 '연결 테이블'을 두어 1:N + 1:N 구조로 바꿔서 처리한다는 점도 기억해 두세요.

 

관계는 말 그대로 ‘개체 간의 연결’을 의미해요. 가장 많이 나오는 관계의 유형은 아래 세 가지예요:

1:1 관계 – 한 명의 직원은 하나의 사무실만 사용 (예: 직원 - 사무실)
1:N 관계 – 한 명의 고객은 여러 번 주문 가능 (예: 고객 - 주문)
N:M 관계 – 여러 학생이 여러 과목을 수강 (예: 학생 - 과목)
특히 SQLD 시험에서는 1:N 관계를 올바르게 해석할 수 있느냐가 매우 중요합니다.



그리고 N:M 관계는 실무에서는 중간에 '연결 테이블'을 두어 1:N + 1:N 구조로 바꿔서 처리한다는 점도 기억해두세요.

5. 왜 ER 모델을 먼저 배우는 걸까?

이 질문, 저도 엄청 했어요. “SELECT부터 배우면 안 되나?”

 

하지만 ER 모델은 SQL을 배우기 전에 '데이터를 바라보는 시선'을 바꿔주는 역할을 해요.

 

데이터 구조가 이해되지 않으면 SELECT를 써도 정확히 어떤 걸 뽑는 건지 알 수 없거든요.

 

이 구조를 먼저 익히면, JOIN이 왜 필요한지, 어떤 테이블이 기준이 되는지를 직관적으로 이해하게 돼요.

 

그래서 SQLD 교재도 ER 모델을 맨 앞에 배치한 거죠.

6. 초보자가 해볼 수 있는 ERD 그리기 연습

실제로 그려보는 게 가장 좋습니다. 아래처럼 연습해 보세요.

  • ① 자주 사용하는 서비스(배달앱, 온라인 쇼핑 등)를 떠올려보세요.
  • ② 고객, 주문, 상품, 결제 등 ‘대상’을 개체로 설정해 보세요.
  • ③ 각 개체가 어떤 속성을 가지는지 정리해 보세요.
  • ④ 개체 간 관계를 선으로 연결해 보고, 1:N 관계인지도 판단해 보세요.

이렇게만 해도 ‘ERD를 그려봤다’고 할 수 있습니다. 비전공자도 충분히 할 수 있어요.

 

배달앱 이용 ER 다이어그램

개체-관계 모델, 자주 묻는 질문

ER 다이어그램을 꼭 그릴 줄 알아야 하나요?

시험에서는 직접 그리기보다는 주어진 다이어그램을 해석할 수 있는 능력이 더 중요해요. 실무에서도 이해력 중심으로 접근하면 충분합니다.

개체와 속성이 헷갈립니다. 좋은 구분 방법 있을까요?

‘개체는 엑셀 시트, 속성은 그 안의 컬럼’이라고 기억해 보세요. 예: '직원' 시트에 '이름', '부서', '직급' 같은 열이 있다면 → 직원 = 개체, 이름/부서/직급 = 속성입니다.

1:N, N:M 관계는 어떻게 구분하나요?

한 개체가 다른 개체와 얼마나 연결되는지를 기준으로 판단해요. 예: 고객 1명이 주문 여러 건 → 1:N, 학생 여러 명이 과목 여러 개 수강 → N:M (→ 연결 테이블로 풀어야 함)

ER 모델을 몰라도 SQL을 배울 수 있나요?

물론 가능합니다. 다만 ER 모델을 이해하면 SQL 구조가 왜 그렇게 되어 있는지 더 명확히 보이고, 나중에 JOIN이나 정규화 개념도 훨씬 쉽게 익힐 수 있어요.

ER 모델은 실무에서도 쓰이나요?

실무에선 직접 그리기보단, 기획서나 시스템 문서에 녹아 있는 형태로 많이 쓰여요. 서비스 구조, 테이블 설계서, DB 문서의 기초가 바로 ER 모델입니다.

 

 

ER 모델은 처음엔 낯설지만, 알고 보면 우리가 매일 사용하는 서비스 구조와 다를 게 없어요.

 

고객, 주문, 상품, 결제… 이런 단어들을 연결해 생각해 보는 것만으로도 여러분은 이미 데이터 설계의 사고방식을 갖추기 시작한 거예요.

 

이제 다음 글부터는 이 구조를 바탕으로 정규화, 테이블 설계, 그리고 SQL 작성으로 조금씩 나아가보겠습니다.

 

처음이 어렵지, 그다음부터는 훨씬 수월해질 거예요. 비전공자도 충분히 할 수 있다는 걸 계속 증명해 드릴게요. 함께 정복해 봐요!

반응형

댓글