0. DB를 구성하기 위해서
테이블은 보통 명사일 때, 테이블이 만들어진다.
예를 들어, 고객이나 회사의 경우에 고객 테이블과 회사 테이블이 만들어진다. 그리고 고객과 회사의 사이에 상품이라는 명사가 필요하므로 상품이라는 테이블이 만들어진다.
이렇게 명사끼리 테이블을 만들고 그 사이에 동사의 행위가 필요한 경우에 덧붙여 테이블을 만드는 형식으로 DB가 형성된다.
1. 1:N의 관계 이해

다음과 같이 User(사용자) Board(게시판) Reply(댓글) 이렇게 3개의 테이블이 있다고 가정하자.
1번 관계 ( 1 : N )
User의 관점에서 User와 Board의 관계는 User 1명이 Board를 여러 개 작성이 가능하기 때문에 1:N이다.
2번 관계 ( 1 : 1 )
Board의 관점에서 Board와 User의 관계에서는 Board 하나에 작성자는 한 명일 수 밖에 없기 때문에 1:1의 관계이다.
3번 관계 ( 1 : N )
Board의 관점에서 Board와 Reply의 관계는 Board 하나에 Reply 여러 개 작성이 가능하기 때문에 1:N이다.
4번 관계 ( 1 : N )
Reply의 관점에서 Reply와 Board의 관계는 Reply 하나에 다른 Board가 참여가 불가하므로 1:1 관계이다.
이렇게 보통은 1:N 이나 1:1의 관계가 형성되지만, 경우에 따라 N:N의 관계가 형성이 된다.
2. JOIN을 사용하는 이유
테이블은 정규화에 의해 여러개로 분리된다. 이는 중복된 값을 방지하기 위해 테이블을 분리 시키는데, select를 이용할 땐 이를 JOIN 시켜서 찾아야 한다.
JOIN을 사용하는 규칙 중 일반적인 원칙은 엔.프.드 를 지키는 것이다.
엔(N : 1) / 1:N의 관계 중 N이 앞으로 온다
프(Foreign Key) / Foreign Key를 사용하는 테이블이어야 한다.
드(Driving)
Share article