본문 바로가기
⚙️백엔드 : Backend/DataBase

mysql workbench 사용법 | 맥 | macOS

by 예옹이 2024. 5. 17.

 

안녕하세요 예옹이입니다.

오늘은 제가 프로젝트에서 DB를 구성할때 사용했던 툴과 사용 방법을 소개해보겠습니다.

 

 

 

0. mysql workbench

 

저는 지난 프로젝트에서 mysql workbench를 사용해 DB를 구성하였습니다.

이유는 mysql이 입문으로 무난하고, 무엇보다 mysql workbench로 DB를 구성하기가 매우 쉽기 때문입니다.

추가로 ERD도 바로 뽑아낼 수 있는 편리함까지 있어서 결정하게 되었습니다.

 

mysql workbench로 ERD추출하는 방법은 이전 블로그에 적어두었습니다!

 

 

 

1. mysql workbench 설치

 

먼저 아래 링크로 들어갑니다.

 

https://downloads.mysql.com/archives/workbench/

 

MySQL :: Download MySQL Workbench (Archived Versions)

Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Workbench, please visit MySQL Downloads. MySQL open source software is provided under the GPL License.

downloads.mysql.com

 

 

 

저는 m1칩을 사용하기 때문에 ARM 버전으로 깔아주었습니다!

 

 

 

2. Connection 생성

 

 

+ 버튼을 눌러줍니다.

 

 

Connection Name을 지정해주고 OK를 눌러줍니다.

 

 

Connection 생성 완료!

이제 새로 생성된 Connection을 클릭해 들어가줍니다.

 

 

 

3. Schema 생성

 

table을 생성하려면 Schema부터 만들어야 합니다.

 

 

우측 SCHEMAS 여백에 좌클릭을 해주고

Create Schema...를 클릭합니다.

 

 

저는 Schema Name을 Connection과 똑같이 지어주었습니다.

Apply를 해줍니다.

 

 

Schema 생성 완료!

 

 

 

4. Table 생성

 

 

아까 만든 스키마 더블 클릭해서 table을 생성할 스키마를 선택해줍니다.

그리고 테이블 생성 아이콘을 눌러줍니다.

 

 

저는 user테이블을 대충 만들어봤습니다.

 

PK - PrimaryKey

NN - NotNull

UQ - Unique

AI - AutoIncrement

 

컬럼을 지정할때 자주 사용하는 사항들입니다. 참고해서 적용시켜보세요!

 

다 만들었으면 Apply를 눌러 테이블이 생성됐는지 확인해봅시다.

 

 

추가가 잘 되었습니다!

 

 

 

5. ForiegnKey 지정

 

+ FK를 지정하는 모습을 보여주기 위해 같은 방법으로 school 테이블도 만든 상태입니다.

 

 

FK를 지정하고 싶은 테이블로 돌아옵니다.

 

 

그리고 아래 Forign Keys로 들어갑니다.

 

 

Foreign Key란에 원하는대로 타이핑 해줍니다.

어차피 인덱스로 저장되는 부분이라 원하는 이름을 지정해주시면 됩니다.

 

그리고 외래키가 reference할 테이블을 선택해줍니다.

 

 

외래키로 지정할 컬럼을 선택하고

Reference 테이블의 Reference 컬럼도 선택하고 Apply합니다.

 

 

이제 스키마를 확인해보면 FK 지정이 완료된걸 확인할 수 있습니다!

 

 

 

6. 타입 종류 특이사항

 

boolean

: workbench에는 boolean이 없어서 tinyint로 대체하시면 됩니다.

 

float

: 마찬가지로 float는 varchar()로 대체하시면 됩니다.

 

 

 

 

 

 

그럼 다들 성공적인 DB 설계하시길 바랄게요!