은은하게 코드 뿌시기

[DB] 식별관계/비식별관계/선/점선 본문

Database -Mysql,Oracle

[DB] 식별관계/비식별관계/선/점선

은은하게미친자 2022. 8. 16. 21:46
728x90
종류 표시 설명
비식별관계

점선
부모테이블의 기본키를 받아서 자식테이블의 외래키로만 사용하는 관계
- 필수적 비식별 관계 : 외래키에 NULL을 허용하지 않는다
- 선택적 비식별 관계 : 외래키에 NULL을 허용한다.
식별관계

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

 

+ 비식별 관계를 선호,

식별관계의 경우

기본키 인덱스를 활용하기 좋고, 자식, 손자테이블들이 기본키 컬럼을 가지고있으므로 특정상황에 조인없이 하위테이블 만으로 검색을 완료 할수있으나,

자식테이블의 행을 추가할 때 부모테이블의 참조행이 없다면 자식 테이블의 행을 추가하는 일이 불가능하다.

또,기본키의 인덱스가 불필요 하게 늘어나거나, 테이블 구조가 유연하지 못하다.

 

 

참고사이트

https://velog.io/@jch9537/DATABASE-%EC%8B%9D%EB%B3%84%EA%B3%BC-%EB%B9%84%EC%8B%9D%EB%B3%84-%EA%B4%80%EA%B3%84

 

[DATABASE] 식별과 비식별 관계

ERD를 작성하다보니 테이블간의 관계를 설정할 때 두 테이블의 관계가 식별관계인지 비식별관계인지 판단함에 어려움을 겪었다. 찾아본 여러 참조문서를 종합해 정리해놔야겠다. 우선 앞에 내

velog.io

 

728x90
Comments