평소에 JetBrain사에 DataGrip IDE로 데이터베이스를 접속해서 관리하고 있습니다. 하지만 MySQL Workbench로도 작업을 하는 경우가 많이 있는데요. 오늘은 데이터베이스를 ERD 다이어그램으로 변경하는 방법을 알아보겠습니다. MySQL Workbench에 모델링(Modeling) 툴을 사용하면 테이블을 쉽게 관리할 수 있습니다.
ERD 다이어그램
ERD (Entity Relationship Diagram) 이란 E-R 다이어그램이라고 하며 보통 ERD 라고 말합니다. ERD란 데이터베이스의 관계를 도표로 나타낸 것이라고 할 수 있는데요. 여러개의 테이블을 관리하다보면 단순히 코드로만 생각하기 어려울 때가 있습니다. 때문에 모델링 툴로 관계를 생각하면서 디자인을 할 수 있습니다. MySQL 워크벤치 툴은 이러한 기능을 쉽게 사용할 수 있습니다. 지금 부터 테이블을 ERD 모델로 변경해보겠습니다.
▼ 다음과 같은 테이블을 만들었다면 이 스키마의 테이블들을 ERD 다이어그램으로 표현할 수 있습니다.
▼ MySQL Workbench 프로그램을 실행하고 왼쪽탭에서 ERD 탭을 누른 뒤에 + 버튼을 눌러서 새로운 모델을 하나 만듭니다.
▼ 새로운 파일이 생성되었습니다.
▼ Database 메뉴를 선택하고 Reverse Enginneer 메뉴를 선택합니다. 단축키는 CMD + R 입니다. 윈도우 환경에서도 비슷하게 메뉴가 존재합니다.
▼ 데이터베이스 접속 정보를 입력하고 Countinue 를 누릅니다. 이미 데이터베이스에 접속한 적이 있다면 아마 Countinue 버튼만 눌러도 될 겁니다.
▼ 데이터베이스에 연결된 모습입니다. 데이터베이스를 연결하고 자동으로 스키마 리스트를 조회한 뒤 서버 설정에 문제가 없는지 확인합니다. 과정이 종료되면 계속 버튼을 눌러서 다음 화면으로 이동합니다.
▼ 데이터베이스에 연결된 뒤에 모델링에 포함될 스키마를 선택합니다. 여러 데이터베이스를 선택할 수 있지만 저는 1개의 스키마만 선택했습니다.
▼ 스키마 선택이 종료되면 선택된 스키마의 테이블들을 조회합니다. 다음을 눌러줍니다.
▼ 모델에 추가할 테이블 객체를 임포트 합니다. 필터를 통해서 가져올 테이블을 지정할 수 있지만 일단 전체를 가져와 보겠습니다. Execute(실행) 버튼을 눌러줍니다.
▼ 이제 테이블을 다이어그램으로 확인할 수 있습니다. 한개의 M:N 관계와 1:N 관계를 확인할 수 있습니다. 이 다이어그램을 수정하고 동기화하면 테이블이 수정되는 것을 확인할 수 있습니다.
지금까지 MySQL 워크벤치에서 스키마를 ERD 다이어그램으로 표현하는 방법을 알아봤습니다. 이 반대의 동작도 가능합니다. 예를들어 테이블 모델링을 한 뒤에 동기화 하게되면 테이블이 만들어지는 식이죠. 다양한 툴이 데이터베이스 툴이 있지만 크로스플랫폼에서 동작하며 무료인 DBMS 툴은 MySQL Workbench 만한게 없는 것 같습니다. 사용법도 쉽구요.