İçeriğe atla

SQL şemasını DBML'ye çevir

CREATE TABLE ifadelerini DBML diyagram tanımına dönüştür.

Giriş
Çıkış

SQL şemasını DBML'ye çevir

Bir veya daha fazla CREATE TABLE ifadesini yapıştırın ve bu araç eşdeğer DBML'yi döndürür — dbdiagram.io ve benzer ilişki-varlık diyagramı araçlarının kullandığı düz metin biçimi. Her tablo bir Table bloğu olur, her sütun adını ve türünü korur, birincil anahtarlar, benzersizlik kısıtlamaları ve yabancı anahtarlar otomatik olarak aktarılır. Bu araç, bir şema dumpunuz olduğunda ve SQL'i barındırılan bir hizmete yüklemeden hızlı bir diyagrama ihtiyacınız olduğunda kullanılmak için yapılmıştır.

Lehçe seçeneği ayrıştırıcıya ne okuduğunu söyler — MySQL, PostgreSQL, SQLite veya SQL Server — çünkü aynı anahtar sözcük farklı veritabanı motorlarında farklı şeyler anlamına gelebilir (bir MySQL TINYINT(1) boolean olarak okunur, SQL Server IDENTITY sütunu otomatik artış olarak okunur). Lehçeye özgü türleri DBML'nin kanonik setine (int, varchar, decimal, timestamp vb.) daraltmak için tür eşlemesini açın veya orijinal adları korumak için kapalı bırakın. Yorumlar — MySQL COMMENT yan tümcesi veya PostgreSQL COMMENT ON ifadesi — "Yorumları sakla" açık olduğunda DBML Not girdilerine dönüştürülür. user_id gibi sütun adları isteğe bağlı olarak açık yabancı anahtar olmadan bile bir users tablosuyla ilişki çıkarabilir ve aynı adlandırma ön ekini paylaşan tablolar (shop_orders, shop_products) TableGroup'a gruplandırılabilir.

Araç satır içi REFERENCES yan tümcelerini, tablo düzeyinde FOREIGN KEY kısıtlamalarını ve sonraki ALTER TABLE ADD CONSTRAINT ifadelerini anlar, bu nedenle tek bir CREATE TABLE bloğu veya anahtarların daha sonra eklendiği tam bir dumpla çalışır. Bileşik birincil anahtarlar ve benzersizlik kısıtlamaları DBML dizin blokları olarak işlenir, bırakılmaz. Her şey yerel olarak tarayıcınızda çalışır — şemanız asla hiçbir yere yüklenmez, bu da yapıştırdığınız SQL gerçek bir üretim veritabanını tanımladığında önemlidir. DBML'yi kopyalayın, .txt dosyası olarak indirin veya çıktıyı devam etmek için başka bir araca gönderin.

FAQ

Hangi SQL lehçeleri destekleniyor?
MySQL, PostgreSQL, SQLite ve SQL Server. Tür eşlemesinin ve otomatik artış algılamanın SQL'i doğru okuması için eşleşen lehçeyi seçin.
Yabancı anahtarlar nasıl algılanır?
Satır içi REFERENCES yan tümcelerinden, tablo düzeyinde FOREIGN KEY kısıtlamalarından ve sonraki ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY ifadelerinden — üçü de DBML Ref satırlarına dönüştürülür.
"Sütun adlarından ilişkileri çıkar" ne yapar?
user_id gibi bir sütun adlandırıldığında ve açık yabancı anahtar yoksa, araç eşleşen bir users tablosu ve bir id sütunu arar ve çıkarmada çıkarılmış olarak işaretlenmiş Ref'i ekler.
Çıktıyı doğrudan dbdiagram.io'ya yapıştırabilir miyim?
Evet. Çıktı düz DBML'dir — tablolar, sütunlar, anahtarlar ve ilişkiler — dbdiagram.io ve uyumlu araçların beklediği biçimde.
Şemam bir yere yükleniyor mu?
Hayır. Yapıştırdığınız SQL tamamen tarayıcınızda ayrıştırılır ve asla cihazınızdan çıkmaz.