본문 바로가기
Big Data/Database

식별관계, 비식별관계

by Wikinist 2023. 7. 24.

식별 관계와 비식별 관계는 데이터베이스 설계에서 엔티티 간의 관계를 나타내는 데 사용되는 개념입니다. 이 둘은 엔티티 간 관계를 표현하는 방법에 차이가 있습니다.

* 관계에서는 다른 테이블의 컬럼을 사용하는데 해당 컬럼을 식별자로 사용하면 식별자 관계이며 사용하지 않으면 비식별자 관계입니다.

식별 관계 (Identifying Relationship)

식별 관계는 부모 엔티티와 자식 엔티티 간의 관계를 말합니다.
자식 엔티티의 주요 식별자(Primary Key)는 부모 엔티티의 식별자를 포함합니다. 즉, 자식 엔티티의 식별자는 부모 엔티티의 식별자에 의해 식별됩니다.
이러한 관계는 보통 일대일(1:1) 또는 일대다(1:N) 관계에서 나타납니다.
식별 관계는 세로선으로 표현됩니다.

비식별 관계 (Non-identifying Relationship)

비식별 관계는 부모 엔티티와 자식 엔티티 간의 관계를 말합니다.
자식 엔티티의 주요 식별자(Primary Key)는 부모 엔티티의 식별자를 포함하지 않습니다. 즉, 자식 엔티티의 식별자는 부모 엔티티의 식별자와는 독립적으로 생성됩니다.
이러한 관계는 보통 일대다(1:N) 또는 다대다(N:M) 관계에서 나타납니다.
비식별 관계는 점선으로 표현됩니다.


예를 들어, 학생과 학과라는 두 개의 엔티티가 있다고 가정해보겠습니다. 학생은 학과에 속하며, 학과는 여러 학생을 가질 수 있습니다.

식별 관계 예시

학과(부모 엔티티)의 주요 식별자(Primary Key)가 학번이라면, 학생(자식 엔티티)의 주요 식별자는 학번을 포함하여 학과에 속한 학생을 식별합니다.

비식별 관계 예시

학과(부모 엔티티)의 주요 식별자(Primary Key)는 학과 코드라면, 학생(자식 엔티티)의 주요 식별자는 자체적으로 생성된 학생 번호이며, 학과에 속한 학생을 별도로 식별합니다.

이렇게 식별 관계와 비식별 관계를 적절하게 정의하고 사용하면 데이터베이스의 구조를 명확하고 일관성 있게 설계할 수 있습니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > Database' 카테고리의 다른 글

NULL과 연산  (0) 2023.07.26
서브쿼리의 유형  (0) 2023.07.25
일관성과 무결성  (0) 2023.07.24
정규화(Normalization)  (0) 2023.07.24
데이터베이스의 종류  (0) 2023.07.24