Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

DBMS에서 엔터티 관계 식별하기: 강한 엔터티와 약한 엔터티의 이해

DBMS(데이터베이스 관리 시스템)에서 엔터티 관계 식별은 강한 엔터티(Strong Entity)약한 엔터티(Weak Entity) 사이의 관계를 파악하는 데 사용됩니다. 이 글에서는 구체적인 예시를 통해 두 엔터티의 개념과 이들을 연결하는 식별 관계(Identifying Relationship)를 쉽게 이해해 보겠습니다.

예시로 살펴보는 강한 엔터티

먼저 교수(Professor) 엔터티를 예로 들어 보겠습니다. 교수 엔터티는 독립적으로 존재할 수 있는 강한 엔터티이며, Professor_ID기본 키(Primary Key) 역할을 합니다.

Professor_IDProfessor_NameProfessor_CityProfessor_Salary

반면, 교수의 가족 구성원을 나타내는 교수 부양 가족(Professor_Dependents) 엔터티는 다음과 같은 속성을 가집니다.

NameDOBRelation

이제 각 개념을 하나씩 자세히 살펴보겠습니다.

약한 엔터티(Weak Entity)란?

약한 엔터티는 강한 엔터티에 의존하여 존재하며, 자체적인 기본 키를 가지지 않는 엔터티입니다. 대신 부분 키(Partial Key)라고 불리는 식별자를 가지며, E-R 다이어그램에서는 이중 사각형(Double Rectangle)으로 표현됩니다.

DBMS에서 엔터티 관계 식별하기: 강한 엔터티와 약한 엔터티의 이해

위 예시에서 '부양 가족(Dependent)'은 이름만으로는 고유하게 식별할 수 없습니다. 서로 다른 교수의 가족에 같은 이름의 사람이 있을 수 있기 때문입니다. 즉, 부양 가족은 교수와의 관계를 통해서만 존재 의미를 갖게 됩니다.

강한 엔터티(Strong Entity)란?

강한 엔터티는 다른 엔터티에 의존하지 않고 독립적으로 존재할 수 있는 엔터티입니다. 기본 키(Primary Key)와 같은 핵심 속성(Key Attribute)을 반드시 가지며, E-R 다이어그램에서는 단일 사각형(Single Rectangle)으로 표현됩니다.

DBMS에서 엔터티 관계 식별하기: 강한 엔터티와 약한 엔터티의 이해

앞선 예시의 교수 엔터티처럼, Professor_ID라는 기본 키만으로 각 레코드를 고유하게 식별할 수 있다면 그것이 바로 강한 엔터티입니다.

식별 관계(Identifying Relationship)란?

식별 관계는 강한 엔터티와 약한 엔터티를 연결하는 관계로, E-R 다이어그램에서 이중 마름모(Double Diamond) 기호로 표현됩니다.

다음은 두 엔터티를 식별 관계로 연결한 예시입니다.

DBMS에서 엔터티 관계 식별하기: 강한 엔터티와 약한 엔터티의 이해

이 다이어그램에서 알 수 있듯이, 부양 가족의 이름(Name)은 그 자체로는 독립적으로 존재할 수 없으며, 오직 교수(Professor)와의 관계 안에서만 의미를 가집니다. 약한 엔터티의 전체 식별자는 강한 엔터티의 기본 키와 약한 엔터티의 부분 키가 결합된 형태가 됩니다.

E-R 다이어그램 구성 요소 정리

지금까지 살펴본 내용을 표로 정리하면 다음과 같습니다.

교수(Professor)강한 엔터티
부양 가족(Dependent)약한 엔터티
부분 키 (약한 엔터티)Name
기본 키 (강한 엔터티)ID

강한 엔터티와 약한 엔터티의 차이, 그리고 이를 연결하는 식별 관계의 개념은 데이터베이스 설계에서 매우 중요합니다. 이러한 개념을 정확히 이해하면 실무에서 더 견고하고 논리적인 데이터베이스 스키마를 설계할 수 있습니다.