본문 바로가기

자격증/SQLD

[SQLD][아이리포]05. 식별자 | 식별자 관계 | 비식별자 관계

반응형
목차

1. 데이터 모델의 이해
1-5. 식별자
1-5-1. 식별자 관계
1-5-2. 비식별자 관계

1. 데이터 모델의 이해

1-5. 식별자

식별자 관계와 비식별자 관계를 쉽게 말하면 다음과 같다.

구분 느낌
식별자 관계 부모가 없으면 자식도 의미가 거의 없음
비식별자 관계 부모와 연결은 있지만, 자식은 자기만의 의미가 있음

 

1️⃣ 식별자 관계

- 엔터티 간의 강한 연결 관계를 표현한다.

➜ 부모가 없으면 자식도 존재할 수 없다.

➜ 부모와 자식이 서로 연관된 생명주기를 갖는다.

- ERD에서는 실선으로 표현한다.

 

📝 예시로 이해하기

 

위 이미지처럼 회원 엔터티와 희망도서신청 엔터티가 있다고 가정해보자.

회원이 희망도서를 신청하면, 희망도서신청 엔터티에는 신청한 회원의 회원번호가 함께 들어간다.

➜ 예를 들어 회원번호 M001인 회원이 희망도서를 신청했다면, 희망도서신청에도 회원번호 M001이라는 값이 함께 저장되는 것이다.

 

즉, 희망도서신청은 누가 신청했는지를 알아야 의미가 생긴다.

 

만약 회원 엔터티에서 M001 회원이 삭제되면, M001 회원이 신청했던 희망도서신청 엔터티의 정보들도 함께 삭제된다.

 

따라서, 희망도서신청회원이 있어야 의미를 갖는 데이터이므로 회원과 회원도서신청은 식별자 관계라고 볼 수 있다.

 

2️⃣ 비식별자 관계

- 엔터티 간의 약한 연결 관계를 표현

➜ 부모와 자식이 서로 연결되어 있지만, 자식이 부모에게 완전히 의존하지는 않는다.

➜ 부모와 자식이 서로 독립된 생명주기를 갖는다.

- ERD에서는 점선으로 표현한다.

- 자식 엔터티가 부모 엔터티와 별도로 구분될 수 있을 때 사용한다.

➜ 자식은 부모와 관련은 있지만, 저기만의 번호표를 따로 가지고 있는 관계이다.

 

📝 예시로 이해하기

위 이미지처럼 회원 엔터티와 열람 엔터티가 있다고 가정해보자.

회원이 책을 빌리면, 열람 엔터티에는 누가 책을 빌렸는지 알 수 있도록 회원번호가 함께 들어간다.

  예를 들어 회원번호 M001인 회원이 책을 빌렸다면, 열람에도 회원번호 M001이라는 값이 함께 저장되는 것이다.

 

하지만 열람은 회원번호만으로 구분하지 않는다.

보통은 열람번호처럼 열람을 구분하는 번호를 따로 가진다.

 

열람번호 L001

회원번호 M001

도서번호 B001

 

즉, 열람은 회원과 관련은 있지만, 자기만의 기준인 열람번호로 따로 구분된다.

 

만약 회원 엔터티에서 M001 회원이 삭제되더라도, 그 회원의 열람 기록은 통계나 관리 목적으로 남겨둘 수 있다.

 

따라서, 열람은 회원과 연결되어 있지만 독립적으로 관리될 수 있으므로, 회원과 열람은 비식별자 관계라고 볼 수 있다.


🔗 출처

[SQLD 모든 것]

 

 

 

 

 

 

 

반응형