YS's develop story

(RP2기 3주차 과제 - part 1) 애플리케이션 특정화면 ERD 설계 및 DataGrip을 이용하여 DB 쿼리 작성하기1 본문

기타/라이징프로그래머 2기

(RP2기 3주차 과제 - part 1) 애플리케이션 특정화면 ERD 설계 및 DataGrip을 이용하여 DB 쿼리 작성하기1

Yusang 2021. 1. 21. 07:27

 

지난번 과제에서 AWS에서 서버를 구축하고 mysql을 설치 한 뒤 Datagrip와 외부 연결을 해 주었는데요....

 

이번에는 직접 애플리케이션의 ERD를 설계하고

DataGrip을 이용하여 DB 쿼리를 작성하는 과제입니다.

 

웹 기반으로 ERD 모델을 그려볼 수 있는 AQueryTool를 사용해 Database ERD 모델을 그려 볼 것입니다.

https://aquerytool.com/

 

AQueryTool - AQuery.Web

{{source.erd_info.erd_name + '(' + source.erd_info.db_type + ')'}}

aquerytool.com

ERD란? 

구조화된 데이터를 저장하기 위해 데이터베이스를 사용하는데,

이 데이터의 구조 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있습니다.

그 기법 중 하나가 개체-관계 모델링(Entity-Relationship Modelling)이고 줄여서 ERM이라고 합니다. 

그리고 ERM의 산출물을 가리켜 개체-관계 다이어그램 ERD(Entity-Relationship Diagram)이라고 합니다.

 

ERD를 영어 약자 그대로 해석하게 된다면...

'존재하고 있는 것(Entity)들의 관계(Relationship)를 나타낸 도표(Diagram)'입니다.

 

ERD의 기본 개념

Entity : 개체

Attribute : 속성

UID : 식별자

Relationship : 관계

 

즉 데이터들의 관계를 그림과 같은 도표를 이용하여 모델링하는 것이라고 생각하면 됩니다.

데이터베이스의 효율적 설계, 설계의 이해도를 높이기 위해 모델링을 하는 것이라고 볼 수 있습니다.

 

 

설계할 애플리케이션 -  전국 방탈출

 

AQUERY TOOL로 설계한 ERD

Table name : 테이블 이름

Table logical name : 테이블 설명

PK : primary key (메인 키) 설정

AI : Auto Increment (숫자 자동 증가) 설정

FK : Foreign Key (외래 키) 설정

NULL : 체크 시 NULL 허용

Logical Name : 칼럼 설명

 

2차 수정 ERD

 

 

AQUERY TOOL로 ERD를 설계 후 아래와 같이 모든 테이블 생성 SQL옵션을 적용하면 

MYSQL 코드가 생성됩니다. 이 코드를 받아서 DataGrip에 입력해 보겠습니다.

 

DataGrip을 실행 후 아까 생성한 rpHomework 데이터베이스로 Jump to Query Console를 해줍시다.

 

아래와 같이 생성한 SQL 코드를 붙여 넣기 해 줍시다.

 

추가로 생성한 테이블에 한글을 입력하기 위해서는

DEFAULT CHARSET=utf8 구문을 추가해야 합니다

 

코드가 성공적으로 실행이 되었다면 아래와 같이 테이블이 생성되게 됩니다.

이제 저 + 모양 아이콘을 통해 데이터베이스를 추가해 줍시다.

 

아래와 같이 데이터를 추가 후 DB로 submit 하는 아이콘을 누르면 됩니다.

 

 

part2에서 이어서 작성하도록 하겠습니다 ~

Comments