2 puan yazan GN⁺ 4 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • SQL şemasını yapıştırdığınızda tarayıcı içinde tabloları, sütunları, anahtarları ve ilişkileri anında ERD olarak görselleştirir
  • PostgreSQL, MySQL, SQLite ve SQL Server sözdizimindeki CREATE TABLE ve ALTER TABLE DDL ifadelerini ayrıştırır; birincil anahtarlar, yabancı anahtarlar ile unique ve not-null kısıtlarını işler
  • Tablo sürükleme, otomatik yerleşim, not ekleme, yakınlaştırma/uzaklaştırma, çift tıklayarak yeniden adlandırma gibi etkileşimli düzenleme özelliklerini destekler
  • Sonuçlar yüksek çözünürlüklü PNG, vektör SVG, proje dosyası ve diyagramın URL içine kodlandığı paylaşım bağlantısı olarak dışa aktarılabilir
  • Hesap, kayıt veya kurulum gerektirmez; SQL şemasını sunucuya yüklemez ya da kaydetmez, bu nedenle yerel çalışmaya odaklanır

SQL yapıştır, şemayı gör

  • Sol düzenleyiciye CREATE TABLE ifadelerini eklerseniz SQL şeması ER diyagramı olarak gösterilir
  • Örnek şema küçük bir e-ticaret yapısıdır ve users, addresses, products, orders, order_items, reviews olmak üzere 6 tablo ve 7 ilişki içerir
  • Tabloları sürükleyebilir, kaydırarak yakınlaştırıp uzaklaştırabilir, çift tıklayarak adlarını değiştirebilir ve işiniz bittiğinde dışa aktarabilirsiniz
  • Örnek şemayı yükleme özelliği vardır ve ekranda yakınlaştırma oranı %122 olarak gösterilir
  • Tüm işlemler tarayıcıda %100 yerel olarak çalışır ve şema tarayıcının dışına çıkmaz

SQL to ER Diagram — ücretsiz çevrimiçi ERD oluşturucu

  • SQL to ER Diagram, SQL şemalarını tarayıcı içinde etkileşimli ERD'lere dönüştüren ücretsiz ve açık kaynaklı bir araçtır
  • CREATE TABLE ifadelerini yapıştırdığınızda tabloları, sütunları, birincil anahtarları, yabancı anahtarları ve ilişkileri anında görselleştirir
  • PostgreSQL, MySQL, SQLite ve SQL Server ile çalışır
  • Tablo sürükleme, otomatik düzen hizalama, not ekleme ve PNG veya SVG dışa aktarmayı destekler
  • Hiçbir şey yüklenmez ve şema kullanıcının cihazında kalır

Sık sorulan sorular

  • SQL'den ER diyagramı oluşturmak için düzenleyiciye SQL CREATE TABLE ifadelerini yapıştırmanız yeterlidir; araç etkileşimli ERD'yi anında oluşturur
    • Tabloları sürükleyerek yerleştirdikten sonra PNG veya SVG olarak dışa aktarabilirsiniz
  • Desteklenen SQL lehçeleri PostgreSQL, MySQL, SQLite ve SQL Server'dır; standart CREATE TABLE ve ALTER TABLE DDL ifadelerini ayrıştırır
    • Birincil anahtarları, yabancı anahtarları, unique ve not-null kısıtlarını işler
  • SQL to ER Diagram tamamen ücretsiz ve açık kaynaklıdır; hesap veya kayıt gerekmez
  • Tüm işlemler tarayıcıda yerel olarak çalışır; SQL şeması sunucuya yüklenmez veya kaydedilmez
  • Diyagramlar yüksek çözünürlüklü PNG, vektör SVG, tam proje dosyası ve diyagramın URL içine kodlandığı paylaşım bağlantısı olarak dışa aktarılabilir
  • Kurulum gerektirmez; masaüstü ve mobil web tarayıcılarında çalışır

1 yorum

 
GN⁺ 4 시간 전
Hacker News yorumları
  • Birkaç ay önce v0 ile birlikte yaptığım araç https://v0-yaerd.vercel.app aklıma geldi
    Laravel migration dosyalarını yorumlayıp ERD oluşturabilen bir araç görmediğim için yapmıştım; sonrasında temel SQL desteğini de prompt ile ekledim

  • Araç çok hoş ama yalnızca SQL’den ER diyagramı çıkarılamayacağını düşünüyorum
    Varlıklar ile tablolar temelde farklı şeyler; çok benzeseler de yalnızca SQL, ER diyagramı oluşturacak kadar bilgi içermiyor
    Bu aracın işe yaramaz olduğunu ya da bu tür diyagramların faydasız olduğunu söylemiyorum; biraz ilkesel bir nokta, başkaları katılmayabilir

    • Varlıklar ile tabloların çoğunlukla birbirine karşılık gelmesi, sayısız ORM’nin temel prensibi değil mi?
      Elbette DDL, bir varlığın yaşam döngüsü hakkında çok şey söylemez; ama ölçüt ilişkileri, alanları ve kardinaliteyi grafik üzerinde göstermekse bence yeterli görünüyor
    • Daha doğru söylemek gerekirse, Chen’in tanımına göre SQL’den çıkarılan bir ER diyagramı en alt seviyede bir fiziksel diyagramdır; buradan mantıksal/kavramsal diyagramı yeniden kuramazsınız
      Bugünlerde çoğu insan bu ayrımı pek önemsemiyor gibi görünüyor
    • SQL’den ER’ye dönüştürmenin amacı, ilk kez görülen bir veritabanını anlamaktır
      Ortada zaten bir DB vardır ama ERD olmayabilir ve dokümantasyon da neredeyse hiç bulunmayabilir
      Bu yüzden daha çok bir keşif aracı gibi; ideal olarak görünümler oluşturup notlar ekleyebilmek gerekir
      Çünkü tablo sayısı çok fazlaysa ya da foreign key eksik tablolar çoksa tüm ERD’yi tek seferde görmek zorunda kalmamak gerekir
    • Farkı biraz daha açıklarsan iyi olur
      Pratikte neredeyse birbirinin yerine kullanılabiliyorlar ama kavramsal olarak varlıkların ve ilişkilerin üstünde daha zengin bir anlam katmanı olabilir gibi geliyor
      Örneğin ilişkilere dair açıklamalar ya da varlıklara eklenen ilave notlar gibi
    • Biraz daha ayrıntı verirsen iyi olur
      Varlıkların her zaman tablolarla 1:1 ilişkide olduğunu sanıyordum; örnek olursa çok yardımcı olur
  • Mobil kullanılabilirlik 100 üzerinden 1000
    Kaydırma, yakınlaştırma/uzaklaştırma, seçim ve taşıma o kadar akıcı ki bir an bana mı öyle geliyor sandım

    • Tüm kod tabanı da açıkçası ferahlatıcı: https://github.com/royalbhati/sqltoerdiagram/blob/main/src/m...
      Karmaşık problemleri sade çözümlere damıtabilen geliştiricileri severim; bu geliştirici gerçekten çok iyi
      Bir geliştiriciye yapılabilecek daha büyük bir övgü düşünemiyorum
    • İlk aklıma gelen şey, diyagram kısmının ayrı bir kütüphane olarak ayrılması gerektiğiydi
      Sadece ERD için değil, bu diyagram özelliğinin kullanılabileceği pek çok yer var gibi görünüyor
    • Gerçekten çok iyi
      Düzenlemek için çift dokununca bile yakınlaştırma seviyesi sıfırlanmıyor
      Şimdiye kadar gördüğüm mobil dostu siteler arasında kesinlikle üst sıralarda
    • Mobil Safari’de metin alanına dokununca büyütme yapması dışında bir kusur yok; ama bu herkesin yaşadığı bir sorun
  • Büyük bir şey değil, küçük bir araç ama başkaları için de faydalı olabileceğini düşündüm
    Veritabanı şemasını görselleştirmem gereken durumlar sık çıkıyordu ve araçların çoğunda ücret duvarı, zorunlu üyelik ya da SQL’i başkasının sunucusuna gönderme gibi sorunlar vardı
    Backend yok, hesap yok, veriler cihazımdan çıkmıyor
    Uygularken eğlenceli olan bazı kısımlar da vardı: DOM/SVG yerine tabloları önbelleğe alınmış bitmap’lere rasterize edip viewport culling kullanıyorum; böylece ekranda yüzlerce tablo olsa bile akıcı kalıyor
    SQL parser, tüm token’ların kaynak aralıklarını takip ediyor; böylece tablo adı değiştirme gibi düzenlemeler yalnızca ilgili tanımlayıcıları ve referansları doğru biçimde değiştiriyor, yorumlar ve biçimlendirme ise olduğu gibi kalıyor
    Tüm şema URL’nin içine sığıyor ve paylaşım, şemayı doğrudan URL’ye serileştirerek yapılıyor; yani backend, kayıtlı durum ya da hesap gerekmiyor
    Rust/WASM sürümünü de denedim ama JS↔WASM sınır maliyeti, hesaplama tasarrufundan daha büyük çıktı; bu yüzden parser yaklaşık %37 daha yavaştı, ama O(n^2) çakışma giderme geçişi yaklaşık 2.2 kat daha hızlıydı
    Sonunda saf JavaScript’te kaldım; framework yok ve gzip ile yaklaşık 32KB

    • Başlıkta ücretsiz deniyor; öyleyse hangi özgür yazılım lisansını kullandığını merak ediyorum
      Lisans açıkça belirtilmediyse açık kaynak olabilir ama özgür yazılım değildir
    • Tüm şema URL’ye giriyorsa, URL uzunluğu sınırı yüzünden sorun çıkmaz mı diye merak ettim
      “Tüm göndericilerin ve alıcıların, protokol öğeleri içinde en az 8000 oktet uzunluğundaki URI’leri desteklemesi önerilir.”
      https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
    • Gerçekten çok iyi yapılmış
      Duyarlı, temiz ve kayıt zorunluluğu olmayan onboarding deneyimi harika
  • “Varlık vs tablo” ayrımı gerçekten var ama mevcut bir şemayı hızlıca görselleştirmek isteyen çoğu geliştirici için bunun yeterince iyi olduğunu düşünüyorum
    Burada mükemmel, kullanışlının düşmanı
    Çoğu kişi ORM soyutlaması kurmaya çalışmıyor; sadece neyin neye bağlı olduğunu görmek istiyor

  • https://explain.dalibo.com/ aklıma geldi
    Sorgu yürütme planlarını görselleştiren bir araç; SQL sorgu optimizasyonu için kullandıklarımdan en faydalılarından biriydi
    Hassas verilerde kullanacaksanız alttaki tamamen çevrimdışı v2 sürümünü indirmeniz daha iyi olur

  • Düz çizgi ve 90 derecelik kırık çizgi seçeneği de olsa güzel olurdu
    Kavisli çizgileri hiç sevmem ama görüntü çok hoş ve iyi yapılmış

    • Yapılacaklar listesine ekleyeceğim
  • Bu SVG’leri CLI ile üretmenin bir yolu var mı merak ediyorum
    Gerçekten hoşuma gitti; benzer iş yapan VSCode Postgres eklentisi de iyiydi ama VSCode’a bağlıydı
    Yine de depoya koyulabilecek dışa aktarılabilir bir CLI seçeneği yoktu

  • https://github.com/ondras/wwwsqldesigner kullanıyorum; karşılaştırma için değerlendirmeye değer bence

    • V8CGI’daki Ondras o Ondras mı?
      O projeyi gerçekten çok sevmiştim; ilk sunucu tarafı JS uygulamalarından biriydi
      Belki tek takipçisi bendim ama Ondřej, yaptığın işler gerçekten harikaydı
  • Fena değil ama GitHub’da LICENSE dosyası yok: https://github.com/royalbhati/sqltoerdiagram