데이터베이스 관계도 설계기

데이터베이스 관계도 설계기

실제 키와 제약에 연결된 카디널리티로 관계형 스키마를 설계하세요.

페이지 메모리에서만 처리합니다. 자동 저장되지 않으므로 보관할 설계는 JSON으로 다운로드하세요.

설계 열기

지원 문법·이름·처리 한도

PostgreSQL 부분집합: CREATE TABLE, 열의 NULL/NOT NULL·PRIMARY KEY·UNIQUE·REFERENCES, 테이블 PRIMARY KEY/UNIQUE/FOREIGN KEY, ALTER TABLE ADD CONSTRAINT FOREIGN KEY. 참조할 열 목록을 명시해야 합니다. 한 줄·중첩 블록 주석을 지원합니다. DEFAULT·CHECK·인덱스·스키마 지정 이름·배열·MATCH/DEFERRABLE 옵션·남는 문법은 거부하며 SQL을 실행하지 않습니다.

자료형: SMALLINT, INTEGER, BIGINT, TEXT, BOOLEAN, DATE, TIMESTAMP(시간대 없음), UUID, VARCHAR(1~10000), NUMERIC(p,s)는 1≤p≤100·0≤s≤p. INT/INT2/INT4/INT8/BOOL/DECIMAL은 대표 자료형으로 정규화합니다. 다른 자료형과 옵션은 지원하지 않습니다.

폼·JSON 이름은 대소문자를 구분하는 정확한 식별자이며 SQL 출력은 항상 큰따옴표로 감쌉니다. DDL의 따옴표 없는 이름은 ASCII 영문·밑줄로 시작하고 이후 영문·숫자·밑줄·$를 사용하며 소문자로 바뀝니다. PostgreSQL18 예약어는 사용할 수 없습니다. 큰따옴표 이름은 대소문자·유니코드를 보존합니다. 빈 이름·제어 문자·잘못된 유니코드·UTF-8 63바이트 초과는 자르지 않고 거부합니다. 이 규약의 제약 이름은 전체에서 유일하고 테이블 이름과도 겹칠 수 없습니다. SVG의 XML 1.0에 사용할 수 없는 U+FFFE·U+FFFF도 이름에서 거부합니다.

외래키 열은 대상 PK/UNIQUE의 순서와 정확히 일치하며 열 수와 정규화 자료형이 같아야 합니다. 기본키는 NOT NULL을 포함합니다. SET NULL은 NULL 허용 자식 열만 가능합니다. NULL 허용 복합 외래키는 PostgreSQL 기본 MATCH SIMPLE로 해석해 하나라도 NULL이면 부모 일치 의무를 피할 수 있습니다. 순환 관계를 삭제하지 않습니다.

JSON 형식: {"format":"local-er-v1","dialect":"postgresql-subset-v1","tables":[...]}. 테이블 필드는 name, columns, primaryKey(null 또는 {name,columns}), uniqueKeys, foreignKeys입니다. 열은 name,type,nullable을 갖고 외래키는 name,columns,target,targetColumns,onDelete,onUpdate를 갖습니다. 예제 JSON을 내보내면 전체 서식을 볼 수 있습니다. 알 수 없는 필드·디코딩 후 중복 JSON 키·잘못된 참조는 오류입니다.

UTF-8 입력과 JSON·DDL 출력 256KiB, 테이블 24개, 테이블당 열 40개·합계 300개, 기본키·고유키 80개, 외래키 80개, SQL 토큰 30,000개, 중첩 주석 32단계까지입니다. 잘못되거나 취소한 가져오기는 이전 설계를 메모리에 유지하며 새로고침 전까지 이전 출력 저장을 막습니다.

예제를 열거나 테이블을 추가하세요.

테이블과 열

폼은 적용 전까지 초안입니다. 그림과 저장은 적용한 편집만 사용합니다. 적용 설계 새로고침은 남은 초안을 반영하지 않고 저장된 설계를 다시 보여줍니다. 참조 중인 객체는 의존 제약을 먼저 제거해야 삭제할 수 있습니다.

데이터베이스 실행이나 서버 업로드가 없습니다. 전체 PostgreSQL에서 유효하더라도 여기 명시된 부분집합 밖의 문법은 거부합니다.

댓글과 질문

데이터베이스 관계도 설계기

작은 관계형 스키마를 직접 편집할 수 있는 그림으로 만듭니다. 테이블과 자료형이 있는 열을 추가하고 기본키·고유키를 정의한 뒤 순서가 있는 외래키 열을 연결하세요. 자기 참조와 순환 관계를 포함해 같은 검증 모델에서 그림과 PostgreSQL DDL을 생성합니다.

주요 기능

  • 참조를 함께 바꾸는 이름 변경과 적용 전 검증을 갖춘 테이블·열 편집 폼
  • 열 순서를 보존하는 복합 기본키·고유키·외래키와 대상 키·자료형 검사
  • 실제 NOT NULL·UNIQUE 제약으로 적용하는 필수·선택 부모 및 자식 최대 1개 설정
  • 따옴표 식별자와 주석을 지원하고 미지원 문법을 명확히 거부하는 PostgreSQL DDL 부분집합
  • 다시 편집할 수 있는 JSON, CREATE 후 ALTER로 작성한 DDL, 다운로드 가능한 SVG 관계도

사용 방법

  1. 복합키·순환 참조 예제를 열거나 지원 DDL·JSON을 가져오거나 새 테이블을 추가합니다.
  2. 테이블을 선택하고 열·기본키·고유키 편집을 적용합니다. 이름은 정확히 보존하며 SQL 출력에서 큰따옴표로 감쌉니다.
  3. 외래키마다 자식 열과 부모 키 열의 순서를 지정하고 삭제·갱신 동작을 선택해 적용합니다.
  4. 관계의 개수와 순환 표시를 확인합니다. 필수 여부나 자식 최대 1개 변경은 실제 스키마 제약에 반영됩니다.
  5. 적용된 설계를 SQL·구조 JSON·SVG로 저장합니다. 페이지를 떠나기 전에 JSON을 다운로드하세요.

활용 예시

  • 주문 관계를 연결하기 전에 테넌트·고객 복합키를 검토
  • 설계 리뷰에서 NULL 허용 부모 참조와 일대일 제약을 설명
  • CREATE TABLE 뒤 ALTER TABLE 외래키를 배치해 순환 스키마 교환
  • 데이터베이스에 접속하지 않고 지원 DDL을 테이블·키 그림으로 변환

자주 묻는 질문

SQL 포맷터나 데이터 흐름 계보 작성기와 무엇이 다른가요?

포맷터는 SQL을 정렬하고 쿼리에서 참조한 테이블을 요약합니다. 계보 도구는 직접 선언한 필드 의존성을 따라갑니다. 이 도구는 테이블 열과 관계형 키, 제약에 따른 카디널리티를 정의하고 같은 정규화 스키마로 다시 열 수 있는 DDL을 만듭니다.

어떤 SQL을 가져올 수 있나요?

문서화된 PostgreSQL 부분집합만 지원합니다. 지정 자료형·NULL/NOT NULL·기본키·고유키·명시적 대상 열을 갖춘 외래키가 있는 CREATE TABLE과 ALTER TABLE ADD CONSTRAINT FOREIGN KEY를 읽습니다. DEFAULT·CHECK·인덱스·스키마·배열·MATCH·지연 제약 등은 무시하지 않고 오류로 거부합니다.

복합 외래키와 순환 참조도 가능한가요?

가능합니다. 열 순서와 개수를 보존하며 참조 열은 선언된 기본키나 고유키의 순서와 정확히 일치해야 합니다. 정규화한 자료형도 같아야 하며 이는 PostgreSQL의 모든 호환 규칙보다 엄격한 범위입니다. SQL 출력은 모든 테이블과 키를 만든 뒤 외래키를 추가해 순환과 자기 참조를 보존합니다.

카디널리티 숫자는 어떤 의미인가요?

외래키의 모든 자식 열이 NOT NULL이면 자식마다 필수 부모 1개, 그렇지 않으면 기본 MATCH SIMPLE 규칙상 부모 0~1개입니다. 자식 외래키 열에 포함되는 고유키가 있으면 부모마다 연결된 자식은 최대 1개이며 아니면 여러 개가 가능합니다. 외래키만으로 부모에게 반드시 자식이 있어야 한다고 강제하지는 않습니다.

저장한 파일을 다시 열어 편집할 수 있나요?

JSON은 정확한 필드를 가진 local-er-v1·postgresql-subset-v1 형식이며 정규화한 스키마를 보존합니다. 생성 DDL도 스키마 의미를 보존하지만 원래 주석·공백·생략된 제약 이름은 그대로 남기지 않습니다. 생략된 이름에는 결정적인 이름을 부여합니다. SVG는 그림이며 편집 프로젝트 형식이 아닙니다.

검사를 통과하면 실제 데이터베이스에서도 실행되나요?

데이터베이스에 접속하거나 SQL을 실행하지 않습니다. 제약 이름의 전역 중복 금지와 외래키 자료형 일치 등을 정한 제한된 설계 규약입니다. 사용 전 서버 호환성·권한·기존 객체·데이터를 검토하세요. 입력·출력 256KiB, 테이블 24개, 테이블당 열 40개·합계 300개, 기본키·고유키 80개, 외래키 80개까지입니다.

개인정보 안내

스키마, 열 이름, 가져온 파일은 페이지 메모리에만 있습니다. 이 도구는 이를 업로드하거나 SQL을 실행하거나 DB에 접속하거나 브라우저 저장소·URL에 자동 저장하지 않습니다. 다운로드와 클립보드 쓰기는 버튼을 누른 경우에만 수행합니다. 운영체제 파일 읽기 자체는 중단할 수 없지만 취소하거나 새 입력으로 대체한 읽기 결과는 적용하지 않습니다.

관련 도구

SQL 포맷터JSON 포맷터XML 포맷터WebAssembly 모듈 검사기다국어 연결 행렬 검사기구문 트리 질의 실험실컨테이너 빌드 단계 분석기의존성 그래프 탐색기버전 제약 충돌 분석기작업 스케줄 충돌 검사기패치 검토 작업대소스맵 탐색기다국어 카탈로그 검사기구조화 데이터 대조기HTTP 아카이브 분석기웹훅 서명 실험실Protobuf 스키마 작업대GraphQL 스키마 실험실Avro 스키마 호환성 검사기로컬 SQL 데이터 작업대스키마 기반 입력 폼 생성기3D 메쉬 검사·복구기관망 유량·압력 실험실로봇팔 운동학 실험열저항 회로 실험실보 휨 실험실기어열 배치 실험공차 누적 실험실센서 교정 곡선 맞추기PCB 적층 비교 설계기디지털 필터 설계기도로망 도달 범위 지도태양 그림자 배치 실험GPS 오차 시뮬레이터디지털 논리 회로 실험아날로그 회로 실험실링크 기구 운동 실험해석용 메쉬 생성기OpenAPI 계약 검사기DB 스키마 변경 계획기수식 차원 검사기트러스 힘 실험실논리식 최소화 실험실제어계 응답 실험실대기행렬 시뮬레이터위치 구역 출입 이벤트 실험실좌표계 변환 실험실측량 폐합 검산 실험실위성·래스터 구간 분류단계구분도 설계기지도 인쇄 편집기GeoTIFF 래스터 재투영고도 등고선 생성기지형 가시영역 실험실지형 유역 탐색기오프라인 지도 타일 패키저텍스트 파일 인코딩 작업대파일 경로 호환성 검사기SBOM 라이선스 탐색기파일 형식 위장 검사기npm 잠금 파일 충돌 해결기소스 비밀값 점검기오프라인 웹 자료 패키저인증서 체인 검사기토렌트 메타정보 검사기파일 분할 전송 패키저로컬 파일 암호 금고동일 파일 찾기압축 파일 작업대디자인 토큰 관리기반응형 간격 체계 설계기반응형 타이포 시스템 설계기포장 전개도 설계기SVG 아이콘 스프라이트 묶기Flexbox 배치 설계기CSS Grid 배치 설계기정규 언어 동치 검사기Markdown 문서 묶음 검사기로그 패턴 추출기반응형 HTML 레이아웃 검사기메일 HTML 렌더 검토기내부 링크 구조 분석기상태 전이 모델 테스트 생성기페트리넷 흐름 실험Git 이력 그래프 탐색기HTTP 요청 명령 설계기바이너리 프로토콜 설계기바이너리 Hex 편집기바이너리 차이 패치 만들기파일 전자서명 작업대API 모의 응답 실험실데이터 열 매핑 설계기이벤트 로그 세션 분석기시계열 누락 검사기학습 데이터 분할기데이터 흐름 계보 작성기결정트리 학습 실험실데이터 비식별 처리기데이터 계약 규칙 검사기JSON Schema 검증기항목 동시출현 분석기robots 규칙 시뮬레이터HTML 검색 기본 검사기접근성 구조 검사기RSS·Atom 피드 작성기IndexNow 배포 알림 준비기검색 로봇 로그 분석기CSP 정책 검토기검색 실적 CSV 분석기CSV 수식 위험 검사기CORS 응답 시뮬레이터HTTP 캐시 동작 실험실쿠키 속성 검사기성능 추적 파일 분석기사이트맵 구조 검사기파일 일괄 이름 바꾸기파일 묶음 무결성 검증기폴더 용량 지도폴더 차이 검토기방문 순서 최적화GeoJSON 지도 편집기지도 영역 중첩 분석기지도 라벨 배치기공간 속성 결합기GeoJSON 공간 위상 검사기GPS 이동 기록 분석기이동 기록 위치 가림표 관계 결합기피벗 테이블 작업대데이터 품질 프로파일러표 데이터 정제 작업대기록 대사 도구데이터 사전 작성기canonical 관계 검사기리다이렉트 계획 검증기HTTP 응답 속도·핑 참고 테스트내 브라우저·시스템 정보JSON ↔ YAML 변환기XML ↔ JSON 변환기HTML 포맷터JavaScript 압축기목 데이터 생성기.gitignore 생성기라이선스 생성기User-Agent 분석기비밀번호 강도 검사코드 이미지 만들기HTTP 상태 코드 찾기MIME 타입 찾기JS·SQL 문자열 이스케이프CSS 박스 그림자 생성기CSS 그라데이션 생성기들여쓰기 변환기진법 변환기유니코드 이스케이프 변환기유니코드 문자 분석기JSON 구조 비교기Markdown 표 생성기Base64 인코더URL 인코더Cron 표현식 생성기정규식 테스터UUID 생성기해시 생성기타임스탬프 변환기JWT 디코더HTML 엔티티 변환기Markdown 미리보기CSS Minifier메타태그·OG 생성기JSON CSV 변환대소문자·케이스 변환이미지 Base64 변환
개발 도구 도구 전체 보기 →이미지/미디어 →텍스트/변환 →생활/재미 →