본문 바로가기
Database

비식별관계와 식별관계

by oncerun 2021. 1. 28.
반응형

 

데이터베이스 테이블 사이에 관계는 외래 키가 기본 키에 포함되는지 여부에 따라 식별 관계와 비식별 관계로 구분된다.

 

여기서 기본 키(PK)는 테이블의 각 행의 정보를 식별할 수 있는 Unique하고 Not null인 값이다.

외래 키(FK)는 참조하는 테이블과 참조되는 테이블의 관계를 나타내는 키이다.

 

식별 관계는 부모 테이블의 기본 키를 내려받아서 자식 테이블의 기본 키 + 외래 키로 사용하는 관계이다.

 

ERD를 연습으로 그릴 수 있는 웹 사이트이다.

app.diagrams.net/

 

Flowchart Maker & Online Diagram Software

Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPM

app.diagrams.net

 

다음 그림을 보자

 

PARENT 테이블의 기본 키를 받아 CHILD 테이블의 기본 키+외래 키로 사용한다.

다른 말로 하면 CHILD테이블은 PARENT_ID를 기본 키 와 외래 키로 사용하며 CHILD_ID라는 기본 키를 가지고 있다.

자식 테이블의 행을 추가할 때 부모 테이블의 참조 행이 없다면 자식 테이블의 행을 추가할 수 없다. 

 

 

 

비식별 관계는 부모 테이블의 기본 키를 받아서 자식 테이블의 외래 키로만 사용하는 관계이다.

 

비식별 관계에서도 외래 키에 NULL을 허용하는지에 따라 필수적 비식별 관계와 선택적 비식별 관계로 나눈다.

 

필수적 비식별 관계 : 외래 키에 NULL값을 허용하지 않는다. 연관관계를 필수적으로 맺어야 한다.

 

 

 

선택적 비식별 관계 : 외래 키에 NULL을 허용한다. 연관관계는 옵션이다.

 

데이터베이스 테이블을 설계할 때 식별 관계나 비식별 관계 중 하나를 선택해야한다.

나는 주로 비식별 관계를 주로 사용하는 것같다. 기본 키를 상속 받아 사용한다는 건 아무래도 나중에 리스크가 있지 않을까 해서다. 그래서 꼭 필요한 곳에는 식별 관계를 사용하고 그렇지 않으면 비식별 관계를 사용한다.

반응형

'Database' 카테고리의 다른 글

ER 모델  (0) 2021.04.12
데이터베이스 관리자 DBA  (0) 2021.04.12
Indexing  (0) 2021.03.01
DataBase 정규화  (0) 2021.02.27
데이터베이스 개념  (0) 2020.10.26

댓글