일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 우테코
- 프리코스
- REDIS
- CircuitBreaker
- AOP
- JPA
- mock
- Spring Batch
- 우아한테크코스
- HTTP
- 세션
- 트랜잭션
- MSA
- JUnit5
- AWS
- 백준
- 우아한세미나
- 스프링부트
- 미션
- 프로그래머스
- Level2
- yml
- Paging
- Docker
- 코드리뷰
- 서블릿
- 의존성
- 자바
- 스프링 부트
- 레벨2
Archives
- Today
- Total
늘
식별자와 비식별자 본문
728x90
자주 햇갈려서 정리해두었다. 짧고 굵게 이해하기 쉽게 정리해봤다.
식별자
- 부모테이블(상품, 주문테이블) 기본키(PK)가 자식 테이블(주문_상품)의 외래키이자 기본키로 사용되는 관계이다.
- 자식 테이블의 행(정보)를 추가할 때 부모테이블의 참조 행(상품번호 또는 주문번호)이 없다면 자식테이블의 행을 추가 할 수 없다.
: 주문_상품테이블은 상품번호와 주문번호 중 하나라도 없다면 기본키를 만들 수 없게 되고(두개의 외래키가 합쳐 기본키가 되므로) 기본키가 없어 정보를 식별할 수 없으므로 데이터를 넣을 수 없다.
: 예를 들면 게시판의 작성글과 댓글의 관계를 식별관계라고 할 수 있다.(작성글이 없다면 댓글도 없다) - 식별관계는 - 복합키 관계
비식별자
- 부모 테이블(상품, 주문테이블) 기본키가 자식 테이블(주문_상품테이블)의 일반컬럼이나 외래키(Foreign Key) 컬럼에 저장되는 관계이다.
- 자식 테이블의 행(정보)를 추가할 때 부모테이블의 참조 행(상품번호 또는 주문번호)이 없어도 자식테이블의 행을 추가 할 수가 있다.
: 예를 들면 회사의 부서와 사원의 관계를 비식별관계라고 할 수 있다. (사원이 부서가 배정되지 않을 수도 있으므로)
Reference
[DATABASE] 식별과 비식별 관계
ERD를 작성하다보니 테이블간의 관계를 설정할 때 두 테이블의 관계가 식별관계인지 비식별관계인지 판단함에 어려움을 겪었다. 찾아본 여러 참조문서를 종합해 정리해놔야겠다. 우선 앞에 내
velog.io
728x90
'백앤드 개발일지 > 데이터베이스' 카테고리의 다른 글
[postgreSQL] order by와 limit이 걸린 슬로우 쿼리 해결 방법 (0) | 2024.05.25 |
---|---|
[데이터베이스] B+Tree, 해싱, 인덱싱 정리 (0) | 2021.11.10 |
[대용량 데이터 처리] Master-Slave db replication 설정 with docker (2) | 2021.10.21 |
데이터베이스 관리 시스템(DBMS) & 튜닝 (0) | 2021.07.23 |
Comments