반응형
dbdiagram.io란
DBML(Database Markup Language)이란 언어를 사용해서 관계형 데이터베이스 논리적 설계를 돕는 무료 툴이다. ORM(Object Relational Mapping) 또는 SQL DDL(Data Definition Language)을 활용한 물리적 설계 전에 미리 간편하게 설계해서 시간을 절약할 수 있다.
DBML(Database Markup Language)이란?
아래 예처럼 SQL DDL을 좀 더 간소화한 것에 가깝다. 딱 설계에 필요한 정보만 남겨 DDL보다 훨씬 파악하기 쉽다.
Table users {
id integer
username varchar
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer
status post_status
created_at timestamp
}
Enum post_status {
draft
published
private [note: 'visible via URL only']
}
Ref: posts.user_id > users.id // many-to-one
실제 dbdiagram.io의 예
아래 예제 DBML을 입력한 상태면 각 테이블이 화면에 나타나고 관계가 표시된다.
// Use DBML to define your database structure
// Docs: https://github.com/holistics/dbml/tree/master/dbml-homepage/docs
Table follows {
following_user_id integer
followed_user_id integer
created_at timestamp
}
Table users {
id integer [primary key]
username varchar
role varchar
created_at timestamp
}
Table posts {
id integer [primary key]
title varchar
body text [note: 'Content of the post']
user_id integer
status varchar
created_at timestamp
}
Ref: posts.user_id > users.id // many-to-one
Ref: users.id < follows.following_user_id
Ref: users.id < follows.followed_user_id
장단점
MySQL 워크벤치 등 무료 툴도 위와 같은 다이어그램을 만들어주지만, 좀 더 간편해서 좋다. 대신 DBML에 익숙해지는데 약간 시간이 필요하다.
활용 예
깃허브 개인 프로젝트에 DB다이어그램을 간단히 넣고 싶을 때 활용할 수 있다.
반응형