설계 단계에 있어, 그리고 새로운 기능을 만드는 단계에 있어 너무나도 중요한 DB 설계. 언제까지 노트에만 적어서 할 순 없겠죠. 더욱이 협업을 하는 중이라면 더더욱 ERD 를 그려 공유를 할 필요가 있겠습니다. 오늘은 ERD 를 그리는데 있어 툴을 정한 기준을 나열하고, 해당 툴의 장점에 대해 이야기를 해 보겠습니다.
이번에 소개할 ERD 그리기 툴은, 현재 사용하는 DB 의 구조를 그대로 바로 그려주기, 관계 연결까지 다 할 수 있는 툴입니다. 하나하나 그리면서 퀄리티 낮은 ERD 를 할 필요가 전혀 없습니다
1. 제한적이지 않은 테이블의 수를 그릴 수 있음
다른 여러 툴들을 사용하다보면 가장 불편한 점이, ui 가 너무 좋고 완성도가 높아도 15개 정도의 테이블을 그리고 나면 더 많은 테이블을 하기 위해선 돈을 지불하라는 말을 합니다.. 정말 불편하지만 돈을 내겠다면 말리지 않습니다. 하지만 그게 설득력이 하나도 없이 너무비싸다는 것만 알아두시길,
하지만 이 툴에서는 테이블 개수에 대한 제한이 없습니다..!!!!
2. UI 결과물이 허접하지 않음
당연하게도, 테이블이 15개가 넘어가는 회사의 ERD 이기에 공개를 할 수 없지만 가늠만 가능하게끔 둔 것입니다ㅎㅎ
3.수작업으로 하나하나 그릴 필요가 없다
workbench 를 사용중이라면 Server - Data export 로 .sql 파일을 내보냅니다
그 후 dbdiagram 사이트에서 import from MySQL 을 택하고, 방금 workbench 에서 내보내기를 했던 .sql 파일을 그대로 들여옵니다. 그러면 타입 명명 규칙을 변환을 알아서 하고, note 로 적었던 부분, default 값 등을 전부 그대로 가져옵니다.
위 사진은 ERD 를 그리지 않고, 테이블을 생성하면서 각 필드의 type 을 지정하고, note 를 적으며, Ref 로 각각의 테이블에 대한 관계를 적은 것입니다. 이렇게 작성하는 방법을 배워서 하라는건 절대로 아니고,
내 sql 서버에서 그대로 schema 를 가져와서 복붙을 할 수 있습니다
4. 관계를 설명하면 테이블끼리 자동으로 연결을 해준다
위에어 Ref: 부분은 관계를 설명한 부분입니다. 관계를 설명해두면 어떤 필드가 어떤 테이블과 연관이 있는지 선으로 연결이 됩니다. 만일 자신이 PK, FK 설정을 잘 해두었다면 너무 손쉽게 가져올 것입니다. 하지만 rails 는 Payment 테이블에 user 의 id 값이 들어가는 관계가 있을 때에 필드명만 user_id 라고 해두면 알아서 관계가 만들어집니다. 이렇게 rails 에서는 DB에서 FK 설정을 해두지 않고 필드 명만으로 가져와 기존의 테이블들과는 조금 다르게 설계를 하곤 합니다. 그렇다고 좌절할 필요는 없습니다. 이 툴은 rails 안의 schema.rb 파일의 내용을 복붙하면 알아서 FK 연결을 해 ERD 를 그려줍니다. 필드에 마우스를 가져다대면, 어떤 테이블에서 가져왔는지 선이 색이 바뀌며 보여줍니다
보통 프로젝트가 진행중이었다면, 보통 models 폴더의 파일들에 각 class 마다의 관계를 설정해두셨을 것입니다. 그 관계를 저는 chatgpt 에게
와 같은 형식으로 변환을 해달라고 시키면 전부 변환을 해주니, 이 관계 정리도 전혀 어렵지 않게 실행할 수 있겠죠
너무 쉽게 제한없이 ERD 를 그리다 보니 이 툴을 소개를 해 드릴 수 밖에 없다고 생각했어요
가장 좋다고 느낀 것은 이렇게 그려진 ERD 를 사진으로 저장하고 있을 필요 자체가 없다는 거였죠.
상단 네비게이션 바에서 publish 를 하면 비밀번호를 설정할 수 있고, 공유가 가능한 링크가 생겨납니다. 정말 좋은 기능입니다
해당 링크는 dbdocs.io 로 연결이 됩니다
publish 를 하게 되면 총 2개의 주소에서 관리를 하게 되는 것입니다
1. dbdiagram 사이트에서 내용을 입력/수정하고 publish 를 해야
2. dbdocs 사이트에서 업데이트된 내용을 볼 수 있습니다
필드 업데이트 사항이 있다면, dbdocs 에서 헤매지 마시고, dbdiagram 으로 가서 내용 업데이트 후에 publish 를 하면 dbdocs 에 적용이 됩니다
'테크 세미나' 카테고리의 다른 글
내 커스텀 이메일 주소 사용하기 (2) | 2024.04.05 |
---|---|
맥북 게이밍 마우스 연결 화면 넘기기 설정 (2) | 2024.02.14 |
도메인 구매하기 - 가격 부터 방법 까지. 연 만원대 도메인 (0) | 2023.11.30 |
2024 맥북 개발 세팅하기 (처음부터) (5) | 2023.11.24 |
내 웹사이트 웹훅 연결하기 , rails stripe webhook (0) | 2023.10.16 |