과제를 진행하던 중 생성한 테이블을 한눈에 보이게 정리를 하고 싶었고 테이블을 ERD로 만들어서 보여주는 게 깔끔하다고 생각했다. 하지만 직접 그리기에는 손이 안 따라줄 것 같아서 사이트를 찾았고 여러 가지 사이트들 중에 아래 사이트가 디자인적이나 사용 방법이 제일 깔끔했던 것 같다. 다음에 한번 직접 그려보는 것도 해봐야겠다!
+ ERD 생성 사이트
dbdiagram.io - Database Relationship Diagrams Design Tool
dbdiagram.io
사용방법은 위 사이트에 접속하면 바로 보이는 Create your diagram 버튼을 클릭하면 된다. 그리고 나오는 화면이 아래 화면인데 여기서 주황색 박스로 표시한 부분을 클릭하면 Import from MySQL... 등등 총 4개가 나온다.
난 MySQL을 사용하고 있었기 때문에 Import from MySQL를 클릭했다. 클릭하면 아래 이미지가 나오게 된다.
여기에 만든 테이블 쿼리를 넣어주면 되는데 예를들어 아래 쿼리를 그대로 넣고 Submit 버튼을 클릭하면 된다.
create table users
(
id bigint primary key not null auto_increment,
email varchar(50) not null,
name varchar(50) not null,
nickname varchar(50) not null,
password varchar(100) not null,
created_at timestamp not null default CURRENT_TIMESTAMP(),
deleted_at timestamp null
);
그러면 아래 이미지에 주황색 박스처럼 쿼리가 변경되서 만들어진다.
근데 여기서 끝은 아니다. ERD를 만드는 이유는 테이블들 간의 관계성을 한눈에 보고 싶어서 만들었는데 user만 필요하다면 만들 이유가 없었다. 그래서 company로 1:1 관계를 만들어봤다. 여기서 중요한 거는 아래 이미지의 주황색 박스 부분이다. users 테이블의 id와 company 테이블의 user_id를 - 로 1:1 관계로 만들어준 것이다. 여기서 1:1을 만들 경우 -, 1:n은 더 큰 쪽에 부호를 < 이런 식으로 넣어주면 되고 n:1는 반대로 부호를 > 이런 식으로 넣어서 연결해 주면 된다.
아주 간단하게 ERD를 만들 수 있다! 이 사이트 덕분에 시간을 단축시킬 수 있었다 😭 😭 😭
'Development Log' 카테고리의 다른 글
💎 원티드 프리 온보딩 백엔드 인턴십 💎 - [1차 기업과제] 게시물 공유 API 요구사항 분석(feat.NestJS HttpModule) (2) | 2023.10.30 |
---|---|
Delete `␍`eslintprettier/prettier 오류 해결(feat. VSCODE) 🏃🏃🏃 (2) | 2023.10.26 |
변수명과 함수명에 대한 고민(아직도 ing...) (2) | 2023.10.11 |
[React/NestJS/TypeScript] 로그인 시 JWT Token 발급 및 인증(Token sessionStorage 저장) (0) | 2023.09.15 |
choco 설치와 mkcert 설치 후 React 적용(with. React + TypeScript) (2) | 2023.09.12 |