4. mysql workbench 에서 ERD 툴 사용하기 (Modeling)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  RSS 방지선  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




## 앞서 테이블을 한개 만드는것을 워크벤치로 해보았다.
## 그런데 워크벤치의 모델링 툴을 사용하여, 여러개의 테이블을 설계한뒤에,
## 한번에 모두 생성할 수도 있다.
## 알아보자.


## 먼저 워크벤치의 메뉴에서, File -> New Model 을 누른다.





## 아래와 같이 모델링 탭이 하나 새로 열린다.

## 이곳에서 Add Diagram 아이콘을 더블클릭하면 새로운 탭이 하나 더 생성된다.


## 근데 잠깐만.

## 먼저, 스키마명을 변경해주겠다.

## 실제 DB에 들어갈 스키마명으로 변경해주는 것이 편하다.





## 마우스 오른쪽 버튼을 이용해 팝업메뉴를 띄워,

## Edit Schema 를 눌러 하단에 생기는 창에서 이름을 변경해준다.

## 변경해줬다면, Add Diagram 아이콘을 더블클릭하자.





## ERD 를 그릴수 있는 환경의 새로운 탭이 열렸다.





## 일단 테이블을 하나 생성해보자. 

## 테이블은 아래 이미지에 보이는 아이콘을 누른뒤, 원하는 곳에 클릭하면 생성된다.

## 생성된 테이블을 더블클릭하면, 아래에 테이블을 설정할 수 있는 화면이 나온다.

## 거기서 컬럼을 추가 및 설정 해주자.




## 참고로 외래키 설정은 아래 이미지에 보이는 아이콘을 사용한다.

## 아이콘을 누른뒤, tb_user_info 테이블의 user_seq 를 먼저 누른뒤,

## tb_user 테이블의 user_seq 를 누르면 서로 연결이 된다.





## 나는 아래와 같이 만들어 보았다.





## 연결된 선에 마우스를 가져다 대면, 어떤컬럼들끼리 연결되어있는지도 표시된다.





## 자, 그럼 이제 설계한 ERD 를 실제 DB에 반영해보자.

## 워크벤치의 Database -> Forward Engineer 을  클릭하자.






## 연결할 DB를 설정해준다.

## 만약 로컬에서 DB를 사용하고 있다면 hostname 에 localhost 를 넣으면 된다.

## 포트번호는 기본포트인 3306, 또는 설정한 포트번호를 넣자.

## 그리고 mysql 의 관리자 계정을 입력한뒤에, Next 클릭.





## 옵션창이 하나 나오는데, 별다른 설정이 없다면 그대로 Next 버튼을 클릭하면 된다.

## 하지만 개발중인 DB일 경우에는,

## 외래키가 설정되어 있다면, 데이터 입력/삭제가 조금 번거로울 수 있다.

## 그땐 Skip creation of FOREIGN KEYS 를 체크해서 외래키 관계설정을 생략가능하다.

## 나는 기본설정으로 Next 눌렀다.





## 반영할 데이터베이스 객체를 선택한다.

## 꼴랑 두개 만들어서 테스트해보는거니까, 다 선택해서 넣었다.





## SQL문이 생성되어져 나온다.

## 복사해서 사용해도 되고, 저장해서 나중에 사용해도 된다.

## 바로 DB에 적용할거면 Next 버튼을 누르면 된다.

## 그런데 아래 이미지는 참고만 하면 될 것 같다.

## 안의 내용은, 실패할때 찍은 사진이라 내용이 맞지않다.

## 조금 뒤에 실패한 이유에 대해 설명하겠다.






## 실패했다.

## 문법이 맞지가 않는다고 한다.

## 내가 적은 문법도 아닌데, 왜 틀렸냐 이자식아.

## 에러로그에 보면 친절히 설명해놨더구나.

## 생성된 SQL문과 실제 DB의 버전이 맞지가 않아서 생기는 오류이다.

## 기본적으로 워크벤치가 설정되면 mysql 8버전으로 세팅이 되어 있는 것 같다.

## 근데 내가 사용하는 DB 는 5.7.24 이거든.

## 그래서 VISIBLE 명령어를 못알아먹는거란다.


## 자 해결해야겠지, 해결하자.






## 먼저 내가 사용하고있는, 그리고 접속해있는 DB의 버전을 알아보자.

## 뭐 터미널로 들어가서 직접 알아봐도 되고, 방법이야 많겠지만은.

## 워크벤치를 이용해보도록 한다.

## 워크벤치 홈화면으로 돌아온뒤, 왼쪽 패널을 보자.

## Management -> Server Status 가 있다.

## 눌러보면 버전이 바로 나온다.

## 5.7.24 버전이라고 나와있구나.






## 그럼 이제 워크벤치의 설정을 좀 만져줘야겠다.

## Edit -> Preferences 를 눌러준다.





## Modeling ->MySQL 항목을 찾아가서 눌러보자.

## 여기 버전이 딱 있다.

## 자신에게 맞는 버전으로 바꿔주고, OK 버튼을 누르자.

## 아, OK 누르기전에, 혹시 저장안해놓은것 있으면 저장하라.

## 난 갑자기 한번 꺼지더라.. ERD모델파일 저장안해놔서 다시 작성한 슬픈 기억이 있다..






## 그리고 다시, 위의 DB에 넣는 과정을 수행해보자.






## 에러메시지 하나 없이, 깔끔하게 성공한 화면을 볼 수가 있다.

## 좋다.





## 그럼 실제 반영되었는지 확인해보자.

## 뭐 안보일수도 있다.

## 그럴땐, SCHEMAS 패널 제목옆에 있는 새로고침 아이콘을 눌르면 보일 것이다.

## 좋아. 끝.



댓글

Designed by JB FACTORY