SQLD 공부 (2)

Kang Junhyeok·2025년 3월 4일

SQLD 7일 cut

목록 보기
2/2

📌 Entity, Attribute, Instance 개념 정리

데이터 모델링에서 Entity(개체), Attribute(속성), Instance(인스턴스) 개념을 이해하는 것이 중요하다. 이를 쉽게 설명하기 위해 간단한 예제와 함께 살펴보자.


🔹 개념 정리

  • Entity (개체): 관리할 대상이 되는 데이터 (예: 학생, 강의, 도서 등)
  • Attribute (속성): 개체가 가지는 정보 (예: 학번, 이름, 학년 등)
  • Instance (인스턴스): 개체(Entity)의 실제 데이터 값 (예: 학번 2023001, 이름 김철수)

Entity는 데이터를 저장하는 개체, Attribute는 개체가 가지는 속성, Instance는 실제 데이터를 의미한다.


🎯 이해하기 쉬운 비유

📦 택배 시스템으로 설명하면?

  • Entity (개체) → "택배 상자"
  • Attribute (속성) → "택배 상자에 붙어 있는 송장 (수령인, 주소, 무게)"
  • Instance (인스턴스) → "실제 배송 중인 특정 택배"

이렇게 비유하면 Entity, Attribute, Instance 개념이 더 쉽게 이해될 것이다! 🚀


🔹 Entity (엔터티)

"식별 가능한 객체"

✅ 엔터티의 특징

  1. 업무에서 사용되는 정보여야 함
  2. 유일성을 보장하는 식별자(Primary Key)가 있어야 함
  3. 두 개 이상의 인스턴스(Row)를 가져야 함
  4. 반드시 속성(Attribute)을 포함해야 함
  5. 다른 엔터티와 하나 이상의 관계(Relationship)를 가져야 함

🔹 엔터티의 분류

1️⃣ 유형에 따른 분류

  • 유형(Entity): 물리적인 형태가 존재 (예: 학생, 도서)
  • 개념(Entity): 물리적 형태 없이 개념적으로 존재 (예: 강의 계획)
  • 사건(Entity): 행위를 통해 발생하며, 빈번하고 통계 자료로 활용 가능 (예: 주문 내역)

2️⃣ 발생 시점에 따른 분류

  • 기본 엔터티: 원래 존재하는 독립적인 정보, 자식 엔터티를 가질 수 있음
  • 중심 엔터티: 기본 엔터티에서 파생되며, 데이터 양이 많고 업무에서 중심적인 역할 수행
  • 행위 엔터티: 두 개 이상의 엔터티에서 파생되며, 데이터의 수정과 증가가 잦음

🔹 Attribute (속성)

"객체의 특징"

예를 들어, "사람"이라는 객체가 있다면 이름, 나이, 생년월일 등 다양한 특징이 존재할 것이다. 이처럼 개체(Entity)의 특정 정보를 나타내는 요소를 속성(Attribute)이라고 한다.


🔹 속성의 분류

1️⃣ 특성에 따른 분류

  • 기본 속성 (Basic Attribute): 업무 프로세스에서 바로 정의할 수 있는 속성
  • 설계 속성 (Designed Attribute): 업무에 존재하지 않지만 설계 시 필요하다고 판단되는 속성 (예: 고유번호)
  • 파생 속성 (Derived Attribute): 다른 속성의 값을 계산하거나 특정 규칙으로 변형하여 생성하는 속성

2️⃣ 구성 방식에 따른 분류

  • PK (Primary Key) 속성: 엔터티의 인스턴스를 식별할 수 있는 속성
  • FK (Foreign Key) 속성: 다른 엔터티의 속성에서 가져온 속성
  • 일반 속성: PK, FK를 제외한 나머지 속성

🔹 도메인 (Domain)

"속성이 가질 수 있는 값의 범위"

예를 들어, 성별 속성의 도메인은 [남, 여] 와 같이 미리 정의된 값의 범위를 가진다.


📖 참고 도서: 《SQL개발자 SQLD 과외노트》 - 정미나, 시대에듀

0개의 댓글