배달 어플 DataBase ERD 설계하기


DataBase ERD 설계 및 쿼리 작성 - 1

📌 배달의민족 ERD 설계하기

📢 AQueryTool이란?

➜ 무겁고 복잡, 불편한 기존 ERD 프로그램을 가볍고 깔끔, 간결 이쁘고 쓰기 좋게 만든 ERD 프로그램입니다.
➜ AQueryTool 사이트 : https://aquerytool.com/

AQueryTool을 이용해서 배달의 민족 ERD를 작성해보겠습니다.😆

DB

모든 테이블 생성 SQL을 선택해서 작성한 ERD를 SQL문으로 바꿔줍니다.

DB

외부접속 허용 Test를 마친 DataGrip의 SQL에 새로운 스키마를 만들어줍니다.

DB

console 창에 Aquerytool을 이용하여 만든 SQL문을 넣어준 뒤, 실행을 돌립니다.

DB

그러면 작성한 테이블이 추가되게 됩니다.


결과화면

DB



📌 네이밍 문법

🍄 CamelCase

➜ CamelCase란 단어가 합쳐진 부분마다 맨 처음 글자를 대문자로 표기하는 방법입니다.
➜ 두 개 이상의 단어가 모인 합성어에서 사용됩니다. 쌍봉낙타의 등과 닮았다고 하여 CamelCase라는 이름이 붙었습니다.

  • lowerCamelCase
    camelCase에서, 맨 앞글자를 소문자로 표기하는 것을 뜻합니다.
    나머지 뒤에 따라붙는 단어들의 앞글자는 모두 대문자로 표기합니다.
    ex) *namuWikiReflecBeatComponent, beatMania,…*

  • UpperCamelCase (=PascalCase)
    CamelCase에서, 맨 앞글자를 대문자로 표기하는 것을 뜻합니다. PascalCase라고도 불립니다.
    나머지 뒤에 따라붙는 단어들의 앞글자는 모두 대문자로 표기합니다.
    ex) *NamuWikiReflecBeatComponent, BeatMania,…*

🍄 snake_case

➜ snake_case란 단어가 합쳐진 부분마다 중간에 언더라인을 붙여 주는 방법입니다.
➜ 일반적으로는 언더라인을 사용하나, 언더라인 대신 하이픈(-)을 써도 snake-case라고 할 수 있습니다.

  • Train_Case
    Snake_Case에서, 각 단어의 맨 앞글자를 대문자로 표기하는 것을 뜻합니다.
    ex) *Visual_Studio_Community_2013, Not_Upper_Camel_Case, …*

  • spinal_case
    snake_case에서, 각 단어의 맨 앞글자를 소문자로 표기하는 것을 뜻합니다.
    ex) *visual_studio_community_2013, not_lower_camel_case, …*


📌 한글 인코딩 및 Timezone 설정하기

Query를 작성하기 전, 한글 입력을 위해 한글 인코딩 설정을 해줍니다.
File ➜ Settings ➜ Editor ➜ File Encodings

DB

Encoding을 UTF-8로 변경해줍니다.

DB

mysql에 time zone이 설정되어 있는지 확인합니다.
위의 사진과 같다면 time zone이 설정되어 있지 않다는 것입니다.🙅

SET GLOBAL time_zone='Asia/Seoul';
SET time_zone='Asia/Seoul';

다음 명령어들을 입력합니다.


💡 ERROR 💡

DB

두 문장 다 안된다면 다른 방법으로 설정해야 합니다.

SELECT b.name, a.time_zone_id
FROM mysql.time_zone a, mysql.time_zone_name b
WHERE a.time_zone_id = b.time_zone_id AND b.name LIKE '%Seoul';

SET time_zone='Asia/Seoul';

DB

그래도 안됩니다..😟
침착하게 https://dev.mysql.com/downloads/timezones.html 이 링크에서 Non POSIX with leap seconds를 다운받습니다.

압축을 풀고 47000줄 정도의 sql을 mysql 스키마에 실행합니다.
📢 use mysql을 하고 실행해야합니다.

DB

성공했습니다.👏 이제 아까 위에서 했던 명령어들을 다시 입력합니다.

DB

mysql.cnf 파일에 default-time-zone = Asia/Seoul 문장을 추가해준뒤, mysql을 재실행합니다.

DB

mysql server timezone 한국으로 설정하기 성공!🙆




© 2021.01. by gayeon

Powered by gayeon