{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "ko",
  "slug": "sql-to-er-diagram",
  "url": "https://tesign.com/item/sql-to-er-diagram/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/sql-to-er-diagram/",
      "json": "https://tesign.com/item/sql-to-er-diagram/index.json",
      "markdown": "https://tesign.com/item/sql-to-er-diagram/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/sql-to-er-diagram/",
      "json": "https://tesign.com/en/item/sql-to-er-diagram/index.json",
      "markdown": "https://tesign.com/en/item/sql-to-er-diagram/index.md"
    }
  },
  "name": "SQL to ER Diagram",
  "use_label": "SQL 스키마를 ER 도표로",
  "one_liner": "CREATE TABLE 문을 붙여 넣으면 브라우저 안에서만 동작하는 인터랙티브 ER 다이어그램이 그려지는 정적 페이지",
  "text": {
    "why": "서버가 없어 스키마가 기기를 떠나지 않고, 공유 링크는 프로젝트 전체(SQL·배치·카메라·방언)를 gzip+base64로 URL 해시에 담는다. 캔버스 렌더러(비트맵 캐시+뷰포트 컬링)는 300 테이블·593 FK를 확대·축소할 때 약 120fps로 벤치마크됐고, 캔버스에서 테이블·컬럼 이름을 더블클릭해 고치면 주석과 서식을 보존한 채 SQL 원문에 반영된다. 의존성 2개, 번들 32KB gzip.",
    "take": "SQL 파일이 정본이고 다이어그램은 그것을 양방향으로 편집하는 화면이라는 설계가 핵심이다.",
    "build": [
      "dist/가 정적 파일이라 사내 위키나 GitHub Pages에 올려 팀 스키마 문서로 쓸 수 있고, MIT라 자기 SQL 방언 파서를 추가해 포크해도 된다."
    ],
    "who": [
      {
        "role": "백엔드 개발자",
        "situation": "마이그레이션 파일을 붙여 넣어 관계 확인"
      },
      {
        "role": "데이터 분석가",
        "situation": "BigQuery WITH 쿼리의 CTE 의존 관계 시각화"
      },
      {
        "role": "팀 리드",
        "situation": "계정 없이 링크 하나로 스키마 리뷰 공유"
      }
    ],
    "start": [
      {
        "command": false,
        "text": "npm install"
      },
      {
        "command": false,
        "text": "npm run dev      # http://localhost:5173"
      },
      {
        "command": false,
        "text": "npm run build    # outputs static files to dist/"
      },
      {
        "command": false,
        "text": "npm run preview  # preview the production build locally"
      },
      {
        "command": false,
        "text": "설치 없이 쓰려면: https://sqltoerdiagram.com"
      }
    ],
    "caveat": [
      "MIT. 순수 브라우저 앱. README 기준 지원 방언은 PostgreSQL·MySQL·SQLite·SQL Server·Snowflake와 BigQuery 모드(라이브 사이트는 Oracle·MariaDB·Prisma·DBML 등도 나열하지만 README에는 없음). 파서는 CREATE/ALTER TABLE과 PK·FK·UNIQUE 제약 중심이라 뷰·인덱스·트리거는 지원 목록에 없다. 마지막 푸시 2026-07-17."
    ]
  },
  "cta": {
    "type": "try",
    "label": "TRY",
    "url": "https://sqltoerdiagram.com./"
  },
  "ready": "browser",
  "categories": [
    "data",
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "erd",
    "sql",
    "database",
    "diagram",
    "canvas",
    "static-site"
  ],
  "platform": [
    "web"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "상업 이용·수정·재배포 가능. 저작권 고지는 유지.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "HTML",
  "source_urls": {
    "canonical": "https://sqltoerdiagram.com./",
    "github": "https://github.com/royalbhati/sqltoerdiagram",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "github",
        "url": "https://github.com/royalbhati/sqltoerdiagram",
        "posted_at": "2026-06-14T06:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 618,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T19:34:33.185Z",
    "stars_observed_since_check": 0,
    "star_delta_24h": null,
    "star_delta_7d": null,
    "star_delta_30d": 2,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      2,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": null,
    "hn_points_observed_at": null,
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-07-17T16:17:09.000Z",
    "owner_type": "User",
    "open_issues": 1,
    "contributors": 2,
    "releases_count": 0,
    "latest_release": null,
    "checked_at": "2026-09-15T19:34:33.185Z",
    "core_checked_at": "2026-09-15T19:34:33.185Z"
  },
  "signals": [
    {
      "kind": "back",
      "label": "과거 기록",
      "value": null
    }
  ],
  "images": {
    "og": "https://tesign.com/img/sql-to-er-diagram-ee5a44a02c.png",
    "cover": "https://tesign.com/img/sql-to-er-diagram-ee5a44a02c.png",
    "cover_width": 2400,
    "cover_height": 1260,
    "gallery": [
      "https://tesign.com/img/sql-to-er-diagram-ee5a44a02c.png"
    ],
    "alt": "SQL 편집 패널과, 테이블 상자들이 외래 키 선으로 이어진 ER 다이어그램 캔버스",
    "tier": 1
  },
  "dates": {
    "first_seen_at": "2026-09-13T08:17:48.734Z",
    "source_created_at": "2026-06-14T04:12:26.000Z",
    "discovery_hours": 2188.089648333333,
    "launch_signal_at": "2026-06-14T06:00:00.000Z",
    "kept_at": "2026-09-14T19:27:43.498Z",
    "first_published_at": "2026-09-14T19:27:43.735Z",
    "updated_at": "2026-09-15T04:36:57.018Z",
    "ingestion_mode": "backfill"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "과거 데이터를 되짚어 채운 항목입니다. 라이브 발견이 아닙니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
