SQL

[DB]NULL값 허용과 관계테이블

silver-w 2024. 11. 20. 11:30

 

n대 n의 관계에서는 '관계테이블'이 필수,
1대 n의 관계에선
n(자식)쪽에 FK를 두면 된다 


(단, n(자식)쪽이 먼저 데이터가 생성된다면 FK쪽에 null값이 들어올 수도 있다.

 -> 널값을 회피하기 위해  '관계테이블' 활용해도 됨
 => 같은 활용으로 1대1관계에서도 관계테이블을 사용하는 경우가 있음)

 

[예시]

Orders(자식테이블 多) -< Payment(부모테이블 一) 인 경우, 

부모테이블의 데이터가 먼저 발생해야 자식테이블에 있는 FK값이 null 값이 안됨.

 

단, 논리적으로 자식테이블이 부모테이블보다 먼저 발생되므로

ORDERS 테이블의 FK 칼럼의 속성값이 null값이 올 수 밖에 없다. 

 

이럴 경우 <Payment_Orders> 관계 테이블을 만들어서 null값을 회피해도 되지만, 

데이터가 많지 않아, 낭비되는 메모리의 비율이 크지 않다면, 널값을 허용함으로서 orders에 FK값을 주어도 괜찮다

'SQL' 카테고리의 다른 글

프로그래머스 SQL - 상위 퍼센트 대로 나누기 / percent_rank()  (0) 2025.03.27
SQL기출 오답풀이  (0) 2024.11.14
SQL 깜지  (0) 2024.10.25
[Oracle] 비율함수  (0) 2024.10.25
[oracle sql] 의사 컬럼, 분석 함수, 계층 쿼리  (0) 2024.10.22