[UMC 5주차] 데이터 베이스 실습

유보라·2022년 5월 5일
0

UMC 2기

목록 보기
8/14

안녕하세요! 보라입니다! 💜

시험기간과 여러가지 과제가 겹쳐서 정말 바쁜 2주를 보냈습니다..😂

사실 실습은 제때 진행했고 과정까지 다 캡쳐해놓았는데 코멘트를 달지 못 해서 포스팅이 늦어지게 되었습니다..

비록 늦었지만, 미리 작성해놨던 워크북을 바탕으로 업로드 합니다!!

  1. 실습 과정
  2. 트러블 슈팅

1. 실습 과정

AWS의 RDS 기능을 이용하여 데이터 베이스 구축하기

먼저 아래처럼 RDS를 검색해준다.

데이터 베이스 생성을 클릭!

MySQL 데이터 베이스를 만들거니까, 제대로 체크 한 후 반드시 프리티어로~

그리고 마스터 사용자 이름 'root'를 만들어준다.

비밀번호는 나중에 datagrip 연동할 때 사용되니 절대 잊지 말 것!

연결 부분에서 퍼블릭 액세스 '예'로 설정해주기,

보안 그룹에 내가 만든 거 추가해주기!

그 후 데이터베이스 생성 클릭~

그럼 이렇게 뜬다! 조금만 기다려주자~ (5분 정도 걸린 것 같다..)

약간의 시간이 지나니 생성에 성공했다!

이제 파라미터 그룹을 만들어주고 (구글링해서 따라하다보니 파라미터 그룹 이름이 이상하다 ㅋㅋ)

character_set을 검색한다.

아래와 같이 설정해준다!

마찬가지로 collation을 검색하여 아래와 같이 설정해준다 ㅎㅎ

++ 그리고 사진을 빼먹은 게 있는데 time_zone을 검색하여 Asia/Seoul 로 변경해주어야함!

이렇게 하면 설정은 끝!!

datagrip을 이용하여 쿼리문을 작성할 것이기 때문에 datagrip을 다운받아주었다.

참고 : https://woong9149.github.io/aws-rds-mysql-db/

datagrip에서 우클릭하여 Data Source > MySQL 을 선택해준다.

그리고... 여기까지는 외부에서 실습을 진행하고 있었는데, datagrip과 내가 만든 DB가 연결에 실패하는 불상사가 발생했다..

반쯤 포기하고 새벽에 집에서 다시 시도해보니 성공했는데 그래서인지 실습 사진이 없다😂

워크밴치에서 내가 방금 만든 RDS에 연결한 후 DB를 만들어주고, datagrip에서 해당 DB에 연결하면 된다 ㅎㅎ

위 링크를 참고하여 연결해주었다!!

데이터 베이스 쿼리문 실습

먼저 boraServer 라는 schema를 만들어주었다!

그 후, Aqurey Tool에서 만들었던 테이블 생성 코드를 가져와서 만들어준 상태이다.

이런식으로 User 테이블에 더미 데이터를 넣어주겠다!

Post 테이블에도 넣어주었다.

userIdx가 2인 유저가 작성한 post를 가져 오고 싶을 때 사용하는 쿼리

서브 쿼리문 예시! left join 뒤에 또 쿼리문을 써주었는데, 이것을 서브 쿼리문이라고 한다. 서브 쿼리문은 반드시 이름을 붙여주어야 한다! 강의에 나오는 것처럼 p 라고 지어주었다.

as 명령어를 사용하면 rename 기능을 이용할 수 있다.

위 쿼리문의 결과이다! 잘 실행이 된다.

새롭게 알게된 사실! 쿼리문에도 IF문을 쓸 수 있다.

결과물! NULL로 표시 되었었는데 IF문을 작성해주니 0으로 표시가 잘 되었다.

같은 방법으로 follower 수와 followee 수도 표시할 수 있도록 쿼리를 써주었다.

다음으로는 아래처럼 PostImgUrl 테이블에 더미 데이터를 추가해준다.

새롭게 알게 된 사실! userIdx = ? 라고 쓰면 입력하는 창이 뜬다.

아래와 같이 최근에 올린 게시글 먼저, 게시글들을 모두 보여주는 쿼리문을 작성했다.

2. 트러블 슈팅

문제 원인

datagrip과 DB 연결 중 다음과 같은 에러가 발생했다.

해결 방안

외부에서 하다가 집으로 돌아와서, 보안 그룹에 인바운드 규칙 추가 > 내 IP를 추가해주었더니 연결에 성공하였다!

참고 자료

너디너리 디스코드 내 Spring 지식 in 참고💜

profile
인하대학교 컴퓨터공학과 학생입니다😀

0개의 댓글