Database Entity
데이터베이스 개체는 데이터베이스 설계에서 중요한 개념으로, 독립적으로 식별될 수 있는 객체 또는 데이터를 표현하는 실제 실체를 의미한다. 개체는 데이터베이스에서 관리하고자 하는 실세계의 대상을 추상화한 것이다. 각 개체는 속성을 가지며, 데이터베이스에서 이를 테이블로 구현할 수 있다.
- 다른 말로, 현실 세계에서 존재하는 대상 중 데이터베이스에 저장할 필요가 있는 것들을 의미한다. 예를 들어, 사람, 제품, 주문 등이 데이터베이스에서 개체로 표현될 수 있다. 개체는 데이터베이스에서 고유하게 식별될 수 있는 것이 특징이다.
특징[edit | edit source]
- 고유성: 각 개체는 기본 키(Primary Key)를 통해 고유하게 식별된다. 예를 들어, 학생 개체는
학생 ID
로, 제품 개체는제품 ID
로 식별될 수 있다. - 속성(Properties): 개체는 여러 속성을 가지며, 속성은 개체의 특징을 나타낸다. 예를 들어, 학생 개체는 이름, 나이, 학년 등의 속성을 가질 수 있다.
- 독립성: 개체는 데이터베이스에서 독립적으로 존재할 수 있으며, 다른 개체와 관계를 가질 수 있다.
예시[edit | edit source]
- 학생(Student):
- 속성:
학생 ID
,이름
,나이
,전공
- 설명: 학생은 데이터베이스에서 관리할 주요 개체 중 하나이며, 고유한
학생 ID
로 식별될 수 있다.
- 속성:
- 코스(Course):
- 속성:
코스 ID
,코스명
,학점
,교수명
- 설명: 코스는 대학에서 제공하는 수업 정보를 담은 개체이다.
코스 ID
를 통해 각 코스를 고유하게 식별할 수 있다.
- 속성:
- 주문(Order):
- 속성:
주문 ID
,고객명
,주문일
,배송지
- 설명: 주문은 고객이 제품을 구매할 때 생성되는 정보로,
주문 ID
로 고유하게 식별된다.
- 속성:
개체와 관계(Entity vs Relationship)[edit | edit source]
- 개체(Entity)는 데이터를 저장할 수 있는 독립적인 실체를 의미한다.
- 관계(Relationship)는 두 개체 간의 연결을 의미한다. 예를 들어, 학생과 코스는 "수강"이라는 관계를 가질 수 있다. 이때, "수강"은 학생과 코스 사이의 관계를 나타낸다.
약한 개체(Weak Entity)[edit | edit source]
일반적인 개체와는 달리, 약한 개체(Weak Entity)는 고유하게 식별될 수 없으며, 다른 개체에 의존해야만 존재할 수 있다. 예를 들어, 주문 개체에 속한 "주문 항목"은 "주문" 개체 없이는 독립적으로 존재할 수 없다.
약한 개체 예시[edit | edit source]
- 주문 항목(Order Item):
- 속성:
주문 항목 ID
,상품명
,수량
,가격
- 설명: 주문 항목은 고유하게 식별될 수 없으며, 반드시
주문 ID
에 의존해야 한다. 이를 통해 각 주문에 포함된 여러 상품 항목을 관리할 수 있다.
- 속성:
강한 개체(Strong Entity)[edit | edit source]
데이터베이스 개체란 일반적으로 강한 개체를 의미한다. "강한 개체"라는 표현은 약한 개체가 아닌 개체를 구분하여 부르기 위한 표현으로, 비교하고 구분해야 하는 상황이 아니면 독립적으로 잘 쓰이진 않는 말이다.