Ücretsiz araç
MySQL ve MariaDB’den ER diyagramına
Bir mysqldump dosyasını ya da MySQL Workbench betiğini ters tırnakları, ENGINE seçenekleri ve sürüm yorumlarıyla birlikte yapıştırın; tabloların ve yabancı anahtarların ER diyagramını alın. MariaDB dökümleri de aynı şekilde okunur. Ürünler, varyantlar, siparişler ve yorumlar içeren mağaza vitrini örneğini deneyin.
Örnek çıktı
Nasıl çalışır
MySQL dökümünüzü yapıştırın ya da bırakın
mysqldump ya da mariadb-dump çıktısı, Workbench veya phpMyAdmin’den bir dışa aktarım ya da SHOW CREATE TABLE’ın yazdığı CREATE TABLE metni.
Tabloları ve bağlantılarını görün
Her tablo sütunları ve anahtarlarıyla bir karta dönüşür. Kısıt olarak tanımlanmış ya da REFERENCES ile satır içinde yazılmış yabancı anahtarlar, eşleşen sütunlar arasında çizgiler 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ı MySQL’den alın
Bunu çalıştırın, sonra schema.sql dosyasını yapıştırın ya da bırakın:
--no-data satırları dışarıda bırakır; --skip-comments ve --compact de yorum başlığını ve DROP TABLE, LOCK TABLES, SET NAMES satırlarını temizler. mydb yerine veritabanının adını yazın, gerekirse -u ve -p ekleyin. MariaDB’de mariadb-dump aynı seçenekleri alır.
mysqldump --no-data --skip-comments --compact mydb > schema.sql
Dökümdeki MySQL sözdizimi
Bir mysqldump dosyasındaki her yapıya ne olur:
`order_items`- Okunur. Ters tırnak içindeki adlar, tırnaksız yazılmış aynı adlarla eşleşir; döküm ANSI_QUOTES ayarlıyorsa çift tırnaklı adlar da çalışır.
ENGINE=InnoDB- DEFAULT CHARSET, COLLATE ve diğer tablo seçenekleriyle birlikte atlanır; tablonun kendisi okunur.
AUTO_INCREMENT- Gösterilmez: sütun INT UNSIGNED gibi türünü korur. Tablonun ardından yazılan AUTO_INCREMENT sayacı da yok sayılır.
REFERENCES products (id)- İlişki olarak çizilir. 9.0 öncesi MySQL bu satır içi biçimi kabul eder ama uygulamaz; bu yüzden önizleme böyle bir tanım gördüğünde not ekler.
KEY idx_name (name)- Düz bir dizindir, işaret eklemez. UNIQUE KEY, UK olarak işaretlenir; bir sütunun hemen ardından yazılan KEY ise MySQL’deki gibi birincil anahtar demektir.
/*!40101 … */- Yorum sayılıp atlanır; mysqldump’ın her tablonun çevresine yazdığı SET sarmalayıcıları da buna dahildir.
DELIMITER ;;- Anlaşılır: DELIMITER satırları arasındaki yordamlar ve fonksiyonlar bütünüyle atlanıp sayılır, arkalarından gelen tablolar yine okunur. mysqldump’ın oraya yazdığı tetikleyiciler ve olaylar sürüm yorumlarına sarılıdır; bu yüzden yorum olarak atlanırlar.
ENUM (…) · SET (…)- Sütun türü olarak enum ve set yazılır; izin verilen değerler listelenmez.
MySQL diyagramının dışında kalanlar
- Saklı yordamlar, fonksiyonlar, tetikleyiciler ve olaylar; hiçbiri çizilmez. Yordamlar ve fonksiyonlar önizlemede sayılır; mysqldump’ın sürüm yorumlarının içine yazdığı tetikleyiciler ve olaylar ise yorum olarak atlanır.
- /*!50100 PARTITION BY … */ gibi sürüm yorumlarının içindeki her şey. Bu metin yorum sayılır; bölümleme ve sürüme bağlı diğer seçenekler görünmez.
- Uzatılmış INSERT deyimlerindeki satırlar. Tek bir INSERT satırı birkaç megabayt tutsa bile okunmadan atlanır.
- Çalışan bir MySQL ya da MariaDB sunucusundan gelen her şey. Bağlantı kurulmaz; satır sayıları, tablo boyutları ve sunucu ayarları gösterilmez.
MySQL ve MariaDB soruları
En iyi mysqldump komutu hangisi?
mysqldump --no-data --skip-comments --compact mydb > schema.sql yalnız CREATE TABLE deyimlerini, satırlar ve onları saran satırlar olmadan verir. Tam döküm de çalışır: INSERT deyimleri atlandığı için diyagram aynıdır, yalnız dosya daha büyüktür.
MariaDB ile çalışır mı?
Evet. MariaDB aynı döküm biçimini yazar; MySQL / MariaDB’yi seçin ya da algılamaya bırakın. mariadb-dump çıktısı, ters tırnaklı adlar ve AUTO_INCREMENT MySQL’dekiyle aynı okunur; satır içi REFERENCES de dosyayı hangi sunucu yazmış olursa olsun ilişki olarak çizilir.
Satır içi REFERENCES neden not alıyor?
MySQL 8 ve öncesinde bir sütunun hemen ardından yazılan REFERENCES kabul edilir ama yok sayılır: yabancı anahtar oluşturulmaz. MySQL 9.0 ve sonrası onu oluşturur. Betik ilişkiyi belirttiği için diyagram onu her durumda çizer; not, veritabanında o anahtarın gerçekten olup olmadığını kontrol etmeniz için bir hatırlatmadır.
Döküm yerine Workbench betikleri ya da migration’lar yapıştırabilir miyim?
Evet. MySQL Workbench’in forward engineering ile ürettiği betik, Laravel’in şema dökümü, Rails’in structure.sql dosyası ya da elle yazılmış DDL çalışır. ALTER TABLE … ADD CONSTRAINT … FOREIGN KEY ya da ADD COLUMN gibi tabloları sonradan değiştiren deyimler, adını verdikleri tablolara uygulanır.
Bir MySQL dökümü 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 ilişki çizgileri, çalışma alanınıza yeni bir diyagram olarak kaydedilir. MySQL şemasında sonradan yapılan değişiklikler onu güncellemez.
MySQL ER diyagramı aracı ücretsiz mi?
Evet. Döküm 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.