MySQL_ 관계형 데이터베이스의 꽃🌹 JOIN

April·2021년 4월 5일
0

🌱server

목록 보기
2/18


개인 공부를 위해 작성했습니다

MySQL_ 관계형 데이터베이스의 꽃 JOIN

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

  • 중복되는 데이터를 개선할 수 있다
  • 사용되는 데이터 용량을 줄일 수 있다 → 경제적이다
  • 중복되는 데이터들을 수정할 때 용이하다
  • 실습을 통해 알아보자
    • 기존 topic table의 정보를 author와 topic으로 분리해보자

  • 기존의 topic에 존재하던 중복된 데이터가 사라지고
  • 각각의 데이터들이 author table의 식별자인 id값으로 대체가 됐다
  • table이 분리되면서 나타난 장점으로,
    1. author table의 데이터를 변경하면 author table을 참조하고 있는 모든 table에도 데이터가 연동된다
    2. table이 분리되면서 중복되는 데이터를 한 번만 수정해도 참조되는 모든 table의 데이터가 수정된다
      🚩집중! 즉, 유지보수가 용이하다, 동명다인의 데이터를 구분할 수 있다

장점이 생기면 단점도 생기는데 이를 Trade-off 라고 한다.

데이터 분리를 통해 나타난 Trade-off는,

  • 장점: 한번에 다 있는 경우 데이터를 직관적으로 보기가 쉽다
  • 단점: 데이터에 해당되는 행의 별도 데이터를 비교해가면서 봐야한다.
  • MySQL에서는 위와 같은 trade-off를 상쇄할수 있도록 데이터를 분산해서 저장하고 합쳐서 한번에 보여줄수 있다

●관계형 데이터베이스의 꽃 JOIN

MySQL에서 데이터를 합치는 명령어

SELECT * FROM topic LEFT JOIN author ON topic.author_id = aythor.id; topic과 author를 결합할건데, 그냥 결합하지말고, topic.author_id값과 aythor.id을 일치시켜서 결합해라!

  • 각각 독립적인 테이블을 Read할때 마치 하나의 테이블로 저장되어 있었던것과 같이 보여준다
  • 기본 문법
    • SELECT * FROM 테이블1 LEFT JOIN 테이블2 ON 기준;
  • 모든 테이블이 각자의 식별자 값을 갖고 있다면 JOIN을 통해서 얼마든지 관계를 맺을수 있다

●DATABASE SERVER

  • 인터넷 위에서 동작하는 컴퓨터들은 요청과 응답을 한다
  • client: 서비스를 요청하는 쪽(웹 브라우저, 웹 클라이언트)
  • server: 서비스를 제공하는 쪽(웹 서버)
  • MuSQL은 database client와 database server를 동시에 제공한다
  • database client: mysql>에 실행되는 명령어 기반의 프로그램. MySQL monitor
  • MySQL monitor를 통해서 database sever를 제어

✅ 목표!

  • 관계형 데이터베이스의 개념 이해
  • MySQL에서 관계형 데이터베이스에 대한 실습

생활코딩-DATABASE2 MySQL_ 관계형 데이터베이스의 필요성
생활코딩-DATABASE2 MySQL_ JOIN🌹

profile
🚀 내가 보려고 쓰는 기술블로그

0개의 댓글