2 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Tempelkan skema SQL untuk langsung memvisualisasikan tabel, kolom, kunci, dan relasi menjadi ERD di dalam browser
  • Mem-parsing DDL CREATE TABLE dan ALTER TABLE dari PostgreSQL, MySQL, SQLite, dan SQL Server, serta menangani primary key·foreign key dan constraint unique, not-null
  • Mendukung pengeditan interaktif seperti drag tabel, tata letak otomatis, penambahan catatan, zoom, dan ganti nama dengan klik ganda
  • Hasil dapat diekspor sebagai PNG resolusi tinggi, SVG vektor, file proyek, atau tautan berbagi dengan diagram yang dienkode di URL
  • Tidak memerlukan akun, pendaftaran, atau instalasi, dan berfokus pada eksekusi lokal karena skema SQL tidak diunggah atau disimpan di server

Tempel SQL, lihat skema

  • Masukkan pernyataan CREATE TABLE ke editor di sebelah kiri, lalu skema SQL akan ditampilkan sebagai diagram ER
  • Skema contoh adalah struktur e-commerce kecil, terdiri dari 6 tabel dan 7 relasi: users, addresses, products, orders, order_items, reviews
  • Tabel dapat di-drag, diperbesar atau diperkecil dengan scroll, namanya diubah dengan klik ganda, lalu diekspor setelah selesai
  • Tersedia fitur untuk memuat skema contoh, dan layar menampilkan tingkat zoom 122%
  • Semua pemrosesan berjalan 100% lokal di browser, dan skema tidak keluar dari browser

SQL to ER Diagram — pembuat ERD online gratis

  • SQL to ER Diagram adalah alat open source gratis yang mengubah skema SQL menjadi ERD interaktif di dalam browser
  • Tempelkan pernyataan CREATE TABLE untuk langsung memvisualisasikan tabel, kolom, primary key, foreign key, dan relasi
  • Berfungsi dengan PostgreSQL, MySQL, SQLite, dan SQL Server
  • Mendukung drag tabel, penyelarasan tata letak otomatis, penambahan catatan, dan ekspor PNG atau SVG
  • Tidak ada yang diunggah, dan skema tetap berada di perangkat pengguna

Pertanyaan yang sering diajukan

  • Untuk membuat diagram ER dari SQL, cukup tempelkan pernyataan SQL CREATE TABLE ke editor, lalu alat ini akan langsung merender ERD interaktif
    • Anda dapat mengatur posisi tabel dengan drag lalu mengekspornya sebagai PNG atau SVG
  • Dialek SQL yang didukung adalah PostgreSQL, MySQL, SQLite, dan SQL Server, dan alat ini mem-parsing DDL standar CREATE TABLE dan ALTER TABLE
    • Menangani primary key, foreign key, unique, dan constraint not-null
  • SQL to ER Diagram sepenuhnya gratis dan open source, serta tidak memerlukan akun atau pendaftaran
  • Semua pekerjaan berjalan secara lokal di browser, dan skema SQL tidak diunggah atau disimpan di server
  • Diagram dapat diekspor sebagai PNG resolusi tinggi, SVG vektor, file proyek lengkap, atau tautan berbagi dengan diagram yang dienkode di URL
  • Tidak memerlukan instalasi, dan berjalan di browser web desktop maupun mobile

1 komentar

 
GN⁺ 4 jam lalu
Komentar Hacker News
  • Ini mengingatkan pada alat https://v0-yaerd.vercel.app yang saya buat bersama v0 beberapa bulan lalu
    Saya membuatnya karena belum pernah melihat alat yang bisa mengurai file migrasi Laravel untuk membuat ERD, lalu setelah itu saya menambahkan dukungan SQL dasar lewat prompt

  • Alatnya sangat keren, tetapi menurut saya diagram ER tidak bisa dibuat hanya dari SQL
    Entitas dan tabel pada dasarnya berbeda, dan meskipun sangat mirip, SQL saja tidak memiliki cukup informasi untuk membuat diagram ER
    Ini bukan berarti alat ini tidak berguna atau diagram semacam ini tidak membantu; ini hanya argumen yang agak mendasar, jadi orang lain mungkin tidak setuju

    • Bukankah prinsip dasar banyak ORM adalah bahwa entitas dan tabel secara umum saling berkorespondensi?
      Memang DDL tidak banyak menjelaskan tentang siklus hidup entitas, tetapi jika patokannya hanya menampilkan relasi, field, dan kardinalitas sebagai grafik, rasanya itu sudah cukup
    • Lebih tepatnya, menurut definisi Chen, diagram ER yang diekstrak dari SQL adalah diagram fisik pada level paling rendah, dan dari sana kita tidak bisa merekonstruksi diagram logis/konseptual
      Sekarang tampaknya tidak banyak orang yang terlalu memedulikan perbedaan ini
    • Kegunaan mengubah SQL menjadi ER adalah untuk memahami database yang baru pertama kali dilihat
      DB-nya sudah ada, tetapi mungkin tidak ada ERD dan dokumentasinya pun sangat minim
      Jadi ini lebih dekat ke alat eksplorasi, dan idealnya harus bisa membuat view serta menambahkan catatan
      Karena saat jumlah tabel sangat banyak atau banyak tabel yang tidak punya foreign key, kita tidak perlu melihat seluruh ERD sekaligus
    • Akan bagus kalau perbedaannya dijelaskan sedikit lebih jauh
      Secara praktis keduanya hampir bisa dipakai bergantian, tetapi secara konseptual tampaknya bisa ada lapisan makna yang lebih kaya di atas entitas dan relasi
      Misalnya penjelasan tentang relasi atau catatan tambahan yang menempel pada entitas
    • Akan bagus kalau dijelaskan sedikit lebih rinci
      Saya selalu memahami bahwa entitas selalu memiliki hubungan 1:1 dengan tabel, dan contoh akan sangat membantu
  • Kegunaan di mobile nilainya 1000 dari 100
    Panning, zoom, seleksi, dan perpindahannya begitu mulus sampai saya sempat mengira saya salah rasa

    • Seluruh codebase-nya jujur terasa menyegarkan: https://github.com/royalbhati/sqltoerdiagram/blob/main/src/m...
      Saya suka developer yang bisa menyaring masalah kompleks menjadi solusi sederhana, dan developer ini benar-benar luar biasa
      Saya tidak terpikir pujian yang lebih tinggi untuk diberikan kepada seorang developer
    • Kesan pertama saya adalah bagian diagramnya harus dipisahkan menjadi library tersendiri
      Selain ERD, tampaknya ada banyak tempat lain yang bisa memanfaatkan fitur diagram ini
    • Bagus sekali
      Bahkan saat mengedit dengan double tap, level zoom tidak di-reset
      Jelas termasuk salah satu situs paling ramah mobile yang pernah saya lihat
    • Satu-satunya yang agak disayangkan adalah di Safari mobile menekan field teks membuat tampilan membesar, tetapi ini masalah yang dialami semua orang
  • Ini bukan sesuatu yang besar, hanya alat kecil, tetapi saya merasa ini juga akan berguna bagi orang lain
    Saya terus menemui kebutuhan untuk memvisualisasikan skema database, tetapi sebagian besar alat punya paywall, mewajibkan pendaftaran, atau mengharuskan SQL dikirim ke server orang lain
    Tanpa backend, tanpa akun, dan data tidak pernah meninggalkan perangkat saya
    Bagian yang menyenangkan saat implementasi juga ada: alih-alih DOM/SVG, tabel dirasterisasi menjadi bitmap yang di-cache dan viewport culling digunakan agar tetap mulus bahkan saat ada ratusan tabel di layar
    Parser SQL melacak rentang sumber untuk semua token, sehingga edit seperti mengganti nama tabel hanya mengubah identifier dan referensi terkait secara tepat, sementara komentar dan format tetap dipertahankan
    Seluruh skema dimasukkan ke URL, dan berbagi dilakukan dengan menserialisasikan skema langsung ke URL itu sendiri, sehingga tidak perlu backend, status tersimpan, atau akun
    Saya juga bereksperimen dengan versi Rust/WASM, tetapi biaya boundary JS↔WASM lebih besar daripada penghematan komputasinya, sehingga parser menjadi sekitar 37% lebih lambat, meski pass penyelesaian overlap O(n^2) sekitar 2,2x lebih cepat
    Pada akhirnya saya mempertahankannya sebagai JavaScript murni, dan tanpa framework ukurannya sekitar 32KB dalam gzip

    • Judulnya menyebut gratis, jadi saya penasaran lisensi perangkat lunak bebas apa yang digunakan
      Jika lisensinya tidak dinyatakan, maka itu mungkin open source, tetapi bukan perangkat lunak bebas
    • Jika seluruh skema masuk ke URL, apakah itu tidak akan bermasalah karena batas panjang URL?
      “Semua pengirim dan penerima direkomendasikan untuk mendukung URI dengan panjang minimal 8000 oktet di dalam elemen protokol.”
      https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
    • Dibuat dengan sangat baik
      Responsif, rapi, dan pengalaman onboarding tanpa hambatan pendaftarannya sangat bagus
  • Pembedaan “entitas vs tabel” memang nyata, tetapi untuk sebagian besar developer yang hanya ingin memvisualisasikan skema yang sudah ada dengan cepat, menurut saya ini sudah memadai
    Di sini, kesempurnaan adalah musuh dari kegunaan
    Kebanyakan orang tidak sedang mencoba membangun abstraksi ORM; mereka hanya ingin melihat apa yang terhubung dengan apa

  • Ini mengingatkan saya pada https://explain.dalibo.com/
    Itu alat untuk memvisualisasikan rencana eksekusi query, dan salah satu alat paling berguna yang pernah saya pakai untuk optimasi query SQL
    Jika ingin memakainya untuk data sensitif, sebaiknya unduh versi v2 yang sepenuhnya offline di bagian bawah

  • Akan bagus jika ada opsi garis lurus dan garis siku 90 derajat
    Saya pribadi tidak pernah terlalu suka garis melengkung, tetapi tampilannya keren dan ini dibuat dengan sangat baik

    • Akan saya tambahkan ke daftar tugas
  • Saya penasaran apakah ada cara untuk menghasilkan SVG ini lewat CLI
    Saya sangat menyukainya, dan ekstensi Postgres untuk VSCode dengan fungsi serupa juga bagus, tetapi tetap terikat ke VSCode
    Lagi pula tidak ada opsi CLI yang bisa diekspor untuk dimasukkan ke repositori

  • Saya memakai https://github.com/ondras/wwwsqldesigner, dan menurut saya itu layak dipertimbangkan sebagai pembanding

    • Ini Ondras yang dari V8CGI?
      Saya sangat menyukai proyek itu, dan itu adalah salah satu implementasi JS server-side paling awal
      Mungkin saya satu-satunya pengikutnya, tetapi Ondřej, hasil karyamu benar-benar bagus
  • Lumayan, tetapi tidak ada file LICENSE di GitHub: https://github.com/royalbhati/sqltoerdiagram