본문 바로가기
자격증/SQLD

[SQLD] 1-2: 엔티티(Entity), 속성(Attribute), 인스턴스(Instance)

by rnasterofmysea 2025. 2. 13.
반응형

Chapter 1-2 엔티티(Entity), 속성(Attribute), 인스턴스(Instance)

 
데이터 모델링에서 가장 중요한 개념 중 하나는 엔티티(Entity),  속성(Attribute), 인스턴스(Instance)입니다. 이 세 가지 요소를 올바르게 정의하는 것은 데이터베이스의 구조를 체계적으로 설계하는 데 필수적인 과정입니다.
 


1. 엔티티(Entity)

엔티티(Entity)는 데이터베이스에서 관리해야 하는 개체 또는 개념을 의미합니다. 현실 세계의 사물, 개념, 사건 등을 데이터로 저장하기 위한 단위이며, 데이터베이스에서는 테이블(Table)로 구현됩니다.
 

 엔티티 예시 ( 고객 엔티티, 주문 엔티티, 제품 엔티티)

 

고객 엔티티, 주문 엔티티, 제품 엔티티


2. 엔티티의 특징

엔티티는 다음과 같은 특징을 가집니다.

  1. 고유한 식별자(Primary Key, PK)가 존재해야 함: 엔티티의 각 인스턴스(행, 레코드)를 구별할 수 있어야 합니다.
  2. 하나 이상의 속성을 포함해야 함: 엔티티는 데이터를 설명할 수 있는 속성을 가져야 합니다.
  3. 데이터로 저장할 가치가 있어야 함: 데이터베이스에 저장할 필요가 있는 데이터여야 합니다.
  4. 여러 개의 인스턴스를 가질 수 있음: 동일한 속성을 공유하는 여러 개의 데이터를 가질 수 있습니다.
  5. 관계(Relationship)를 가질 수 있음: 엔티티는 다른 엔티티와 관계를 맺을 수 있습니다.

 

3. 엔티티의 분류

엔티티는 여러 기준에 따라 분류할 수 있습니다.

① 유형에 따른 분류

  • 유형 엔티티 (Tangible Entity): 실제 물리적인 개체를 의미합니다.
    • 예: 고객(Customer), 제품(Product), 사원(Employee)
  • 개념 엔티티 (Conceptual Entity): 유형은 아니지만, 데이터로 관리해야 하는 개념적인 요소입니다.
    • 예: 계좌(Account), 학과(Department)
  • 사건 엔티티 (Event Entity): 특정 시점에 발생하는 사건을 의미합니다.
    • 예: 주문(Order), 거래(Transaction), 예약(Reservation)

발생 시점에 따른 분류 (자주 출제 ✅)

  • 기본 엔티티 (Fundamental Entity): 다른 엔티티와의 관계 없이 독립적으로 존재할 수 있는 엔티티입니다.
    • 예: 고객(Customer), 제품(Product)
  • 중심 엔티티 (Core Entity): 여러 엔티티와 관계를 맺으며, 데이터의 흐름에서 중요한 역할을 하는 엔티티입니다.
    • 예: 주문(Order), 계약(Contract)
  • 행위 엔티티 (Action Entity): 기본 또는 중심 엔티티를 기반으로 생성되는 엔티티로, 이벤트나 행위를 기록합니다.
    • 예: 주문 내역(Order History), 방문 기록(Visit Log)

4. 속성(Attribute)

속성은 엔티티가 가지는 데이터 요소를 의미하며, 엔티티의 특성을 나타내는 정보입니다. 속성은 테이블에서 열(Column)로 표현됩니다. 

의미상 분리되지 않는 최소의 데이터 레벨로 프로세스에 필요한 항목이어야한다.


📌 속성의 유형

  1. 기본 속성 (Basic Attribute): 엔티티의 주요 정보를 포함하는 속성 (예: 이름, 연락처)
  2. 식별 속성 (Identifier Attribute): 고유성을 보장하는 속성 (예: 고객 ID, 주문 ID)
  3. 관계 속성 (Relationship Attribute): 다른 엔티티와의 관계를 정의하는 속성 (예: 주문 테이블의 고객 ID)

4.1 속성값

 
각각의 속성은 속성값을 가지며, 속성값은 엔티티에 속한 하나의 인스턴스를 구체적으로 나타내주는 데이터라고 볼 수 있습니다.
(고객 ID, 이름, 연락처)
 


5. 속성의 부류

특성에 따른 분류

  • 기본 속성 (Basic Attribute): 엔티티의 본질적인 정보를 담는 속성 (예: 이름, 연락처)
  • 설계 속성 (Design Attribute): 시스템 설계 시 추가되는 속성 (예: 가입일, 수정일)
  • 파생 속성 (Derived Attribute): 다른 속성의 값을 이용하여 계산될 수 있는 속성 (예: 총 주문 금액)

② 구성 방식에 따른 분류

  • 기본 키 속성 (Primary Key Attribute, PK): 엔티티의 고유한 값을 나타내는 속성 (예: 고객 ID, 주문 ID)
  • 외래 키 속성 (Foreign Key Attribute, FK): 다른 엔티티를 참조하는 속성 (예: 주문 테이블의 고객 ID)
  • 일반 속성 (General Attribute): PK나 FK가 아닌 일반적인 속성 (예: 이름, 연락처, 제품 가격)

 


6. 인스턴스(Instance)

인스턴스(Instance)란 엔티티(Entity)의 실제 데이터 값을 의미합니다.
쉽게 말해, 엔티티는 테이블의 구조(틀)이고, 인스턴스는 그 안에 들어가는 실제 데이터(행, 레코드)입니다.
 

 

 


7. 엔티티, 속성, 속성값, 인스턴스 정리

 

엔티티(Entity) 관리해야 할 개체(테이블의 구조) 고객(Customer)
속성(Attribute) 엔티티가 가지는 데이터 요소(열) 고객 ID, 이름, 연락처
속성값(Attribute Value) 속성이 가지는 실제 값(개별 데이터) '홍길동', '010-1234-5678'
인스턴스(Instance) 엔티티 내에서 개별적으로 저장된 데이터(행) 101, 홍길동, 010-1234-5678

 
 


 
💡 도움이 되셨다면 댓글과 공감 부탁드립니다! 😊
📌 더 많은 알고리즘 풀이와 프로그래밍 자료는 블로그에서 확인하세요!
✉️ 문의나 피드백은 댓글이나 이메일로 남겨주세요.
 
 

반응형