MariaDB - JOIN을 통한 관계형 데이터베이스의 필요성
관계형 데이터베이스란 무엇인지 예제를 통해 바로 알아보겠습니다.
먼저 다음과 같이 기업 정보를 입력한 SQL 테이블이 있다고 해보겠습니다.
id는 기업의 고유 번호, name은 기업명, description은 기업설명, listed는 창립일, founder는 설립자입니다.
여기서 우리는 founder에 집중해보겠습니다. founder정보를 자세히 들여다보면 yjglab과 powerlab 기업의 설립자가 'james'로 중복되어 있는 것을 볼 수 있습니다.
만약 설립자의 이름이 변경되었다고 해봅시다. 위 표처럼 정보가 2개밖에 없을 때는 그냥 2개 정보를 바꾸면 되지만 james가 설립한 기업이 엄청나게 많을 경우 일일이 모두 바꿔줘야하는 비효율이 발생합니다.
이러한 비효율성을 해결하기 위해서는 founder 컬럼을 또하나의 테이블로 분리하여 기업 정보 테이블과 연결하고 각 기업의 설립자 행에 별도의 고유 숫자를 붙여주어 그 고유 숫자에 해당하는 값만 변경해주면 됩니다.
말이 조금 복잡해졌는데 작업 내용을 통해 알아보겠습니다.
먼저 위와 같이 기업 정보와 설립자 정보를 2개의 테이블로 분리했습니다. 지금부터 하려는 작업은 기업 테이블의 founder_id 컬럼과 설립자 테이블의 id 컬럼을 연결하는 일입니다.
SELECT 범위 FROM 테이블1 LEFT JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼;
LEFT JOIN을 통해 기업 테이블의 설립자id와 설립자 테이블의 id를 연결했습니다. 위와 같이 JOIN기능은 관계형 데이터베이스의 가장 중요한 핵심이라고 볼 수 있습니다.