Chapter 1-2 엔티티(Entity), 속성(Attribute), 인스턴스(Instance)
데이터 모델링에서 가장 중요한 개념 중 하나는 엔티티(Entity), 속성(Attribute), 인스턴스(Instance)입니다. 이 세 가지 요소를 올바르게 정의하는 것은 데이터베이스의 구조를 체계적으로 설계하는 데 필수적인 과정입니다.
1. 엔티티(Entity)
엔티티(Entity)는 데이터베이스에서 관리해야 하는 개체 또는 개념을 의미합니다. 현실 세계의 사물, 개념, 사건 등을 데이터로 저장하기 위한 단위이며, 데이터베이스에서는 테이블(Table)로 구현됩니다.
엔티티 예시 ( 고객 엔티티, 주문 엔티티, 제품 엔티티)
2. 엔티티의 특징
엔티티는 다음과 같은 특징을 가집니다.
- 고유한 식별자(Primary Key, PK)가 존재해야 함: 엔티티의 각 인스턴스(행, 레코드)를 구별할 수 있어야 합니다.
- 하나 이상의 속성을 포함해야 함: 엔티티는 데이터를 설명할 수 있는 속성을 가져야 합니다.
- 데이터로 저장할 가치가 있어야 함: 데이터베이스에 저장할 필요가 있는 데이터여야 합니다.
- 여러 개의 인스턴스를 가질 수 있음: 동일한 속성을 공유하는 여러 개의 데이터를 가질 수 있습니다.
- 관계(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)로 표현됩니다.
의미상 분리되지 않는 최소의 데이터 레벨로 프로세스에 필요한 항목이어야한다.
📌 속성의 유형
- 기본 속성 (Basic Attribute): 엔티티의 주요 정보를 포함하는 속성 (예: 이름, 연락처)
- 식별 속성 (Identifier Attribute): 고유성을 보장하는 속성 (예: 고객 ID, 주문 ID)
- 관계 속성 (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 |
💡 도움이 되셨다면 댓글과 공감 부탁드립니다! 😊
📌 더 많은 알고리즘 풀이와 프로그래밍 자료는 블로그에서 확인하세요!
✉️ 문의나 피드백은 댓글이나 이메일로 남겨주세요.
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 2-2: 트랜잭션(Transaction)/ 널(NULL) / (0) | 2025.02.14 |
---|---|
[SQLD] 2-1: 정규화(Normalization)와 반정규화(Denormalization) (0) | 2025.02.13 |
[SQLD ] 1-3: 관계와 식별자 (feat. ERD 표기) (0) | 2025.02.13 |
[SQLD] 1-1: 데이터 모델의 이해 (1) | 2025.02.13 |
[SQLD] SQLD 시험이란 (feat. 시험 내용, 2025 시험 일정) (1) | 2025.02.13 |