ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엔티티(Entity)가 뭐에요 ??
    IT/DataModeling 2026. 3. 6. 14:32

    안녕하세요, Archix입니다! 😊

    데이터 모델링을 공부하다 보면 제일 처음 마주치는 개념이 바로 엔티티(Entity) 인데요. 처음엔 뭔 말인가 싶지만, 알고 나면 생각보다 직관적인 개념이에요. 엔티티가 뭔지, 왜 중요한지 정리했습니다 📝


    🤔 엔티티(Entity)가 뭔데?

    아래 SQL 한 줄을 보면 바로 감이 와요.

     
    여기서 ORDER가 바로 엔티티예요. FROM 뒤에 오는 테이블을 엔티티라고 보면 됩니다.

     


    📌 엔티티의 정의

    엔티티를 한 문장으로 정의하면 이렇습니다.

    사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체

     

    조금 더 풀면,

    • 실세계에 존재하는 유형 혹은 무형의 정보 대상
    • 서로 구별이 되는 하나하나의 대상

    결국 핵심은 이거예요.

    서로 구별이 되고, 구별된 정보를 담을 수 있는 대상


    예를 들어 '회원'은 엔티티가 될 수 있어요. 홍길동, 이몽룡, 성춘향 — 각각 구별되는 정보를 담을 수 있으니까요.


    📚 엔티티 예시 — 도서 대여 관리 시스템

    도서 대여 관리 시스템을 예시로 보면 이해가 쉬워요.

    이 시스템에서 관리해야 할 대상은 크게 세 가지입니다.

    엔티티설명
    📚 도서 대여 가능한 책 정보
    👤 회원 도서를 빌리는 사람 정보
    🔄 대여 누가 어떤 책을 빌렸는지 기록

    엔티티의 두 가지 중요한 특징도 기억해 두세요.

    1. 엔티티는 지속적으로 관리해야 할 대상 → 한 번 쓰고 버리는 데이터가 아니라, 계속 추가되고 조회되는 대상이어야 해요.
    2. 엔티티는 특성이 유사한 데이터끼리 모아놓은 집합 → 도서면 도서끼리, 회원이면 회원끼리 같은 성격의 데이터가 모여있어야 해요.

    ⚠️ 엔티티가 잘못 설계되면?

    엔티티 설계가 잘못되면 크게 두 가지 문제가 생겨요.

    1. 유지보수 비용 ⬆️

    기능 하나 추가할 때마다 여기저기 손봐야 하고, 땜빵식 수정이 쌓이면서 복잡성이 계속 올라가요.

    2. 확장성 ⬇️

    나중에 시스템을 확장하거나 기능을 붙이려 할 때 구조 자체가 발목을 잡아요.

    그리고 이게 고스란히 SQL 복잡도로 나타납니다.

    SELECT *
    FROM (
        SELECT A, B
        FROM TABLE1
        UNION ALL
        SELECT A, B
        FROM TABLE2
    ) INLINE_VIEW
    GROUP BY A
    • 과다한 UNION
    • 인라인 뷰로 여러 번 감싼 SQL
    • GROUP BY, DISTINCT를 반복적으로 쓰는 SQL

    이런 쿼리가 쏟아진다면, 엔티티 설계부터 다시 점검해봐야합니다. 🚨


    🎯 정리

    • 엔티티 = 서로 구별되고, 구별된 정보를 담을 수 있는 현실 세계의 대상
    • 지속적으로 관리할 대상이어야 하고, 유사한 특성의 데이터 집합이에요.
    • 설계가 잘못되면 → 유지보수 비용 ⬆️, 확장성 ⬇️, SQL 복잡도 ⬆️

    데이터 모델링에서 엔티티는 기초 중의 기초예요. 처음에 제대로 잡아놔야 나중에 고생을 덜 할 수 있습니다.

     

     


    더 자세한 내용이 궁금하다면 아래 강의를 참고해주세요! 

    쉽게 배우는 데이터 모델링 : 기본부터 실전 테이블 설계까지 (DASP/DAP)

    (강의 링크 : https://inf.run/nxhnr)

    댓글