inblog logo
|
하쎄의 기술 일기장
    DataBase

    [DB] JOIN 관계의 이해

    DB 구성을 위한 테이블 생성 방식과 관계의 이해
    하세연's avatar
    하세연
    Aug 20, 2024
    [DB] JOIN 관계의 이해
    Contents
    0. DB를 구성하기 위해서1. 1:N의 관계 이해2. JOIN을 사용하는 이유

    0. DB를 구성하기 위해서

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

    1. 1:N의 관계 이해

    notion image
    다음과 같이 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

    하쎄의 기술 일기장

    RSS·Powered by Inblog