본문 바로가기
데이터베이스/MySQL

[생활코딩] 7. MySQL - 테이블 분리

by 닉우 2020. 7. 30.

<관계형데이터베이스의  필요성>

 

데이터가 중복되고 있다면 개선해야 된다는 신호이다.

행이 1억개에 중복되고 있는게 천만개라면?

여러가지 문제점을 발생시킨다.

복잡하고 용량이 큰 데이터가 천만번 등장한다고 하면 기술적, 경제적으로 손해이다.

데이터 수정도 엄청 어려울것..

우선 저자들의 목록을 별도의 표로 뺄것이다.

author 부분을 id로 적어줌으로써 중복된 데이터들은 사라지고, 

각각의 데이터들에 대한 식별자인 id로 대체된것.

 

동명이인이 쓴것도 id로 구별할수가 있다.

 

하나의 테이블로 작성한건 하나의 표에 다 드러나서 직관적이다.

 

그런데 테이블을 별도로 쪼개서 테이블의 참조값만 적어두면 불편한점은

데이터를 볼 때 데이터에 해당하는 행에 해당되는

별도의 표를 열어서 그 표를 비교해가면서 봐야되는 불편함이 있다.

 

별도의 표들을 실제로 데이터를 볼 때는 하나의 표로 합쳐서 보고 싶다면 MySQL은 가능하다.

(저장은 분산해서 보여줄때는 합쳐서)

실습전에 완성된것을 미리보자.

ON 부분뒤에 조건을 적는거다.


<테이블 분리하기>

 

하나의 topic이라는 테이블을 두 가지 테이블로 분할해보자.

그리고 저장된 두 가지 테이블을 JOIN 할 것이다.

 

이전 실습에서 사용한  topic테이블은 이름을 바꾸겠다.

 

 

먼저 topic 테이블을 만들어보자,

author 테이블도 만들어보자.

 

이제 author 와 topic 테이블에 값을 집어넣겠다.

저 부분들은 author_id 에 들어간다.


 

 

 

 

 

 

 

 

 

※ 본 포스팅은 개인 공부 기록을 목적으로 남긴 글이며 본 사실과 다른 부분이 있다면 과감하게 지적 부탁드립니다.

댓글