ERD (Entity-Relationship Diagram) 중요성

개체-관계 모델 설명 wiki

 

ERD가 없으면 기존 구조를 파악하기 어려워, 새로운 컬럼이나 테이블을 추가하면서 역정규화 되거나, 같은 내용의 컬럼이 서로 다른 테이블 2개에 각각 생성되는 경우가 빈번하다. 이는 갱신이상 등 데이터 불일치를 유발한다.

이런 식으로 같은 용도의 테이블을 여러개 추가하다 보면 돌이킬 수 없어진다. 나중에 정규화 하려고 했는데 기존 레코드를 싹 다 복사해서 2개로 나눠주어야만 한다거나, migration이 운영 환경에 영향을 주는 등 불상사가 발생할 수 있다.

 

따로 손으로 관리하기 보단 DB tool, IDE 등에서 현재 table 구조 바탕으로 ERD 자동 생성해주는 기능 사용하는게 편한데, FK를 사용하지 않는 경우에는 테이블 간의 참조 관계가 잘 보이지 않아 쓰기 애매하다.

 

ERD tools

https://www.erdcloud.com/  

https://dbdiagram.io/home  

https://aquerytool.com/