데이터베이스 - ERD 그리기

Soogyung Gwon·2026년 2월 19일

구름을잡아라

목록 보기
19/60

db(SQLite) 파일과 sql, dbml 파일

  1. SQLite .db 파일

    예: mydatabase.db

  • 실제 데이터베이스 파일
  • 테이블 구조 + 데이터 + 인덱스 전부 포함
  • 바이너리 파일
  • 바로 실행/접속 가능
  1. .sql 파일

    예: schema.sql, dump.sql

  • 텍스트 파일
  • SQL 명령어가 들어 있음
  • 사람이 읽을 수 있음
# 예:

CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  name TEXT
);

INSERT INTO users VALUES (1, 'Soo');

용도:

  • DB 생성 스크립트
  • 데이터 백업 (dump)
  • 마이그레이션 스크립트

=> .sql = 데이터베이스를 "만들거나 재현하는 설명서", 실행하면 DB가 생성됨.

  1. .dbml 파일

    DBML = Database Markup Language

  • 설계용 파일
  • ERD 작성용
  • 실제 데이터 없음
  • 실행 불가
# 예:

Table users {
  id integer [primary key]
  name varchar
}

용도:

  • DB 설계 문서화
  • ERD 생성 도구에서 사용
  • .dbml = 데이터베이스 “설계도”

https://dbdiagram.io 을 이용하여 자동으로 ERD 그리기

처음에는 SQLite에서 직접 dbml로 변환하는 방법을 알아보고 싶었지만, 없다는 결론

그래서 결국 wikidocs에 있는대로 dbml/cli 를 설치하여 변환하였다.

sql2dbml PFMS.sql -o PFMS.dbml

우려되는 점은 cli 툴 사용시, 잘못 변환되는 일도 있지 않을까 싶어서 어떻게 검증을 해야하나 고민이 되었다.

결국은 비교해서 확인하는 수밖에 없는 걸까?

1) 변환 후
2) PK/FK 확인
3) ERD 시각화해서 관계 검증
4) 원본 .schema와 비교

그 외에는 python으로 스크립트를 짜는 방법도 있는 듯 했다. (이건 다음에 시도해 보기로...)

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글