늘
식별자와 비식별자 본문
728x90
자주 햇갈려서 정리해두었다. 짧고 굵게 이해하기 쉽게 정리해봤다.
식별자
- 부모테이블(상품, 주문테이블) 기본키(PK)가 자식 테이블(주문_상품)의 외래키이자 기본키로 사용되는 관계이다.
- 자식 테이블의 행(정보)를 추가할 때 부모테이블의 참조 행(상품번호 또는 주문번호)이 없다면 자식테이블의 행을 추가 할 수 없다.
: 주문_상품테이블은 상품번호와 주문번호 중 하나라도 없다면 기본키를 만들 수 없게 되고(두개의 외래키가 합쳐 기본키가 되므로) 기본키가 없어 정보를 식별할 수 없으므로 데이터를 넣을 수 없다.
: 예를 들면 게시판의 작성글과 댓글의 관계를 식별관계라고 할 수 있다.(작성글이 없다면 댓글도 없다) - 식별관계는 - 복합키 관계
비식별자
- 부모 테이블(상품, 주문테이블) 기본키가 자식 테이블(주문_상품테이블)의 일반컬럼이나 외래키(Foreign Key) 컬럼에 저장되는 관계이다.
- 자식 테이블의 행(정보)를 추가할 때 부모테이블의 참조 행(상품번호 또는 주문번호)이 없어도 자식테이블의 행을 추가 할 수가 있다.
: 예를 들면 회사의 부서와 사원의 관계를 비식별관계라고 할 수 있다. (사원이 부서가 배정되지 않을 수도 있으므로)
Reference
728x90
'백앤드 개발일지 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] B+Tree, 해싱, 인덱싱 정리 (0) | 2021.11.10 |
---|---|
[대용량 데이터 처리] Master-Slave db replication 설정 with docker (2) | 2021.10.21 |
데이터베이스 관리 시스템(DBMS) & 튜닝 (0) | 2021.07.23 |
Comments