공부하는 안경딸기
[DB] Database 구성 본문
내 몸 튼튼 Android Application의 Database를 어떤 식으로 구성하는지 계속해서 작성해 나갈 예정입니다.
DB 설계도
(2021.09.25.Sat)
설계도 그리기 참 힘들다... 일단 좋은 무료 tool을 찾기가 너무 힘들어서 애썼다.
내가 설계도를 그리는 tool을 찾는 기준은 아래와 같았다.
- 내가 흔히 아는 그 ER Diagram을 그리는 방식일 것
- CREATE문을 만들어줄 것
- Key들을 명확하게 나타내 줄 것
- 자동화가 잘 되어있을 것
위의 기준에 맞춰 그나마 찾았던 AQueryTool 은 당장 10월부터 유료로 운영한다고 해서 사용 불가였다. (비싼 돈 내야 그나마 많은 기능 사용 가능이라 학생 신분에서는 도저히...)
ERMaster 사용해서 설계도 그리기
결국 2학년 때 한 번 사용해봤던 ERMaster라는 이클립스 plugin을 사용하기로 결정했다. 사실 IDE를 IntelliJ를 사용해서 가능하면 IntelliJ 안에서 다 해결하려고 했는데 얘는 왜 plugin이 없냐고...ㅂㄷㅂㄷ
울며 겨자먹기로 Eclipse를 재설치했다...
결과물
의견 받고 내가 생각 정리해서 만든 DB 설계도는 아래와 같다.

FOOD_INFO 테이블은 공공 데이터를 사용할 거라 그냥 간단하게 적어봤다.
그리고 다음 사진은 ERMaster 사용해서 자동으로 만든 쿼리문들이다.

진짜... 사랑한다... ERMaster...ㅜㅜ

번외
DBeaver에서도 사실 ERD를 그려주기는 한다.
다만, 이게 처음부터 다 만들어주는게 아니라 이미 관계 설정까지 다 끝난 DB에 한해서만 그려준다는 거...

왼쪽 하단에서 Project-General > ER Diagrams를 선택해서 ERD를 원하는 DB를 선택하면 위와 같이 만들어준다.
음식 정보는 공공 데이터 사용
(2021.09.02.Thu)
'오픈 API를 사용할까? 아니면 csv 파일을 DB에 저장해서 사용할까?' 고민하다가 일단 csv 파일을 DB에 저장해서 사용하는 방식을 선택하였습니다.
이유는... 음...
계속 API로 받아오면 통신 상으로 너무 자주 호출하고 그러면 딜레이 발생해서(?) 어려워질 것 같아서 DB에 저장하고 사용하는 방식을 선택하였습니다.
사용한 파일은 아래 2개와 같습니다. (클릭하면 해당 페이지로 이동됨)
농림수산식품에서 제공한 칼로리 정보는 놀랍게도 한식 위주!
하지만 우리는 한식뿐만 아니라 다양한 식품의 정보가 필요했기 때문에 식품의약품 안전처에서 제공한 데이터를 사용!
(그렇지만 혹시 몰라서 일단 둘 다 테이블을 만들어는 놓았습니다)

(2021.09.25.Sat)
food_nutrition에서 FOOD_INFO로 테이블 이름을 바꿨다.
'TanTanBody' 카테고리의 다른 글
[git] hint: Updates were rejected because the remote contains work that you do (0) | 2021.09.30 |
---|---|
[Spring Boot] Mapper method ... has an unsupported return type: (0) | 2021.09.29 |
[MyBatis] 헛짓한 썰 풀기 (0) | 2021.09.26 |
[DBeaver] 서버 DB 연결하기 (0) | 2021.09.06 |
[DBeaver] .csv를 table로 import 하기 (0) | 2021.09.01 |