Ücretsiz araç
SQLite’tan ER diyagramına
sqlite3’ün .schema ya da .dump için yazdığı çıktıyı yapıştırın; türsüz sütunlar dahil tabloların, anahtarların ve yabancı anahtarların ER diyagramını alın. Not uygulaması örneğini deneyin: defterler, notlar, etiketler ve notları etiketlere bağlayan tablo.
Örnek çıktı
Nasıl çalışır
Şemayı yapıştırın ya da bırakın
.schema ya da .dump çıktısı, SQL ile yazılmış bir migration dosyası ya da herhangi bir SQLite aracından kopyalanmış CREATE TABLE deyimleri.
Tabloları ve bağlantıları görün
Her tablo sütunlarıyla bir karta dönüşür; her REFERENCES ifadesi de yabancı anahtar denetimi açık olsun olmasın, işaret ettiği tabloya giden bir çizgi olur.
Archboard’da açın
Yeniden düzenlemek, not eklemek, bağlantı paylaşmak ya da SVG ve PNG olarak dışa aktarmak için yeni diyagram olarak kaydedin. Kayıt için Google ya da GitHub hesabı yeterli.
Veritabanı şemasını bir SQLite dosyasından alın
Bunu veritabanı dosyasının bulunduğu yerde çalıştırın ve yazdığı çıktıyı yapıştırın:
.schema her CREATE deyimini satırlar olmadan yazar; .dump aynısına ek olarak verileri de yazar, veriler atlanır. app.db yerine dosyanın adını yazın ya da çıktıyı kaydetmek için > schema.sql ekleyip o dosyayı bırakın.
sqlite3 app.db .schema
Şemadaki SQLite sözdizimi
sqlite3 çıktısındaki her yapıya ne olur:
INTEGER PRIMARY KEY- PK olarak işaretlenir. Bu sütun tablonun rowid’sidir; diğer tablolar ona REFERENCES ile başvurabilir.
AUTOINCREMENT- Birincil anahtarın parçası olarak okunur ve gösterilmez. SQLite bunu, MySQL’in AUTO_INCREMENT’inden farklı olarak alt çizgisiz yazar.
CREATE TABLE note_tags (note_id, tag_id)- Okunur. Türü yazılmadan tanımlanan bir sütun adıyla ve türsüz gösterilir; üzerindeki anahtarlar yine sayılır.
WITHOUT ROWID · STRICT- Tablo seçeneği olarak atlanır; tablo, sütunları ve birincil anahtarı her zamanki gibi okunur.
sqlite_sequence- Gizlenir. SQLite bu tabloyu AUTOINCREMENT için oluşturur ve .schema onu da yazar, ama uygulamanın tasarımının parçası değildir; .dump ise onu yalnız INSERT satırlarıyla doldurur ve bu satırlar atlanır.
CREATE TRIGGER- Atlanır ve sayılır. BEGIN … END içindeki noktalı virgüller doğru işlenir; bir tetikleyiciden sonraki tablolar yine okunur.
SQLite diyagramının dışında kalanlar
- Tetikleyiciler ve görünümler. Gövdeleri atlanır ve sayılır; yaptıkları hiçbir şey diyagramda görünmez.
- sqlite_sequence ve sqlite_stat1 gibi SQLite’ın kendi kayıt tabloları. Adı sqlite_ ile başlayan her şey gizlenir.
- Yabancı anahtarların uygulanıp uygulanmadığı. SQLite’ta PRAGMA foreign_keys varsayılan olarak kapalıdır; diyagram, bu ayardan bağımsız olarak tanımlanmış her REFERENCES’ı çizer.
- Veritabanı dosyasının kendisi. Bir .db dosyası burada açılamaz; sayfa boyutu, satır sayıları ve kayıtlı satırlar gösterilmez. Onun yerine .schema metnini yapıştırın.
SQLite soruları
.schema mı .dump mı: hangisini kullanmalıyım?
.schema yalnız CREATE deyimlerini yazdığı için daha kısadır. .dump her satırı BEGIN TRANSACTION ile COMMIT arasında INSERT deyimleri olarak ekler; satırlar atlandığı için o da çalışır. Tek bir tabloyu yazdırmak için .schema’ya adını verin, örneğin .schema notes.
Bazı sütunların neden türü yok?
SQLite, CREATE TABLE note_tags (note_id, tag_id) örneğindeki gibi bir sütunun türsüz tanımlanmasına izin verir. Diyagram böyle bir sütunu adıyla ve boş bir türle gösterir. STRICT bir tabloda her sütunun türü vardır ve yazıldığı gibi gösterilir.
Tablolarım arasında neden çizgi yok?
Çizgiler REFERENCES ifadelerinden ve FOREIGN KEY kısıtlarından gelir. Birçok uygulama bunları hiç tanımlamaz, yalnız kimlikleri saklar; o durumda çizilecek bir şey kalmaz. Şema bunları tanımladığında, PRAGMA foreign_keys açık olsun olmasın çizgiler görünür.
Bir mobil uygulamanın SQLite veritabanını diyagrama dökebilir miyim?
Evet. Veritabanı dosyasını cihazdan ya da emülatörden bilgisayarınıza kopyalayın, sqlite3 app.db .schema komutunu çalıştırın ve çıktıyı yapıştırın. Aynısı masaüstü uygulamaları, Electron uygulamaları ve yerel Django ya da Rails geliştirme veritabanları için de geçerlidir.
Bir şema yapıştırınca bir şey kaydediliyor mu?
Önizleme kaydedilmez. Archboard’da aç’ı seçtiğinizde çizilen diyagram, yani tablo kartları, sütun adları ve türleri ile çizgiler, çalışma alanınıza yeni bir diyagram olarak kaydedilir. .db dosyasında sonradan yapılan değişiklikler onu güncellemez.
SQLite ER diyagramı aracı ücretsiz mi?
Evet. Şema yapıştırmak ve diyagramı görmek için hesap gerekmez. Diyagramı Archboard’da açmak için ücretsiz bir hesap yeterli.
Bir dakikada canvas açın
Google veya GitHub ile giriş yapın. Tek koltuk ücretsiz; ekip katılınca planı yükseltin.