Skip to content

Mysql Workbench 5.2 Kullanımı-1

workbench

Not: Bu yazı 01.01.2016 tarihinde Mysql Workbench Community version 6.1 için güncellenmiştir.

Mysql’de veritabanı tasarımı yaparken ilişkilerin doğru şekilde belirlenmesi için bir tasarım aracına ihtiyaç duyuluyor, bu yüzden workbench kullanıyoruz. Workbench, sql sorgusu yazmadan ER (Varlık-İlişki) diyagramına göre veritabanınızı şekillendiriyor. Tablo ve ilişkileri oluşturuyor. Değişiklikleri de otomatik şekilde güncelleyebiliyor.

Programı çok beğenmeme rağmen sorunları da yok değil. Örneğin, çalışma yaparken donmalar gerçekleşiyor ve programı kapatmak zorunda kalıyorsunuz. Ben Ubuntu kullandığım için sorunun ondan kaynaklandığını düşüyordum. Fakat Windows kullanan arkadaşlarıma sorduğumda aynı sorunu yaşadıklarını söylediler. Düzelmesi için kapatıp açmanız yetiyor, önceki çalışmanızı da genelde sorunsuz bir biçimde kurtarabiliyorsunuz.

Workbench’de karşımıza üç ayrı araç çıkıyor. Bunlardan ilki sql development, diğeri data modelling, sonuncusu ise server administration.

Sql Development kullanarak istediğiniz veritabanındaki tablolardan sql kullanarak sorgulama yapabilirsiniz, bu sql sorgularını istediğiniz gibi düzenleyebilirsiniz.

sql_screen

Server administration, veritabanı sunucusunu yönetmenizi sağlar. Hata loglarına bakabilir, yapılan işlemleri görebilir, sunucunun durumunu takip edebilirsiniz.

server_administration

Bizim en çok kullandığımız data modelling (veri modelleme) kısmı ise tablo oluşturmaya, tablolar arası ilişki kurmaya, tasarımı veritabanıyla senkronize etmeye, trigger yazmaya, view oluşturmaya ve bunun gibi bir çok veritabanı işlemi yapmaya yarar. Programın diğer bölümleri çok açıklamaya ihtiyaç bırakmayacak şekilde sade ve basit bu yüzden bunların üzerinde çok durmayacağım.

Yeni Mysql Workbench 6.1 Community versiyonunda File menüsü altındaki “New Model” veya aşağıdaki şekilde gösterilen “+” işareti kullanılabilir.

model_tool

Aynı işi aşağıdaki şekilde de yapabilirsiniz.

create_new_model

Daha sonra karşımıza aşağıdaki gibi bir ekran gelmektedir. Add Diagram’a tıklayarak ER diyagramlarını oluşturacağımız çalışma sayfasına geçeceğiz. Tıklamadan önce ufak bir püf noktası vermek istiyorum. Veritabanı kayıtlarında karakter sorunu ile karşılaşmak istemiyorsanız veritabanı ismine(aşağıdaki şekilde “mydb” yazan yer) çift tıklayın.

change_name_db

“Schema” isimli bir sekme açıldığını göreceksiniz. “Default Collation” kısmını utf8-utf8_general_ci şeklinde seçin. Veritabanında karakter sorunu ile karşılaşmayacaksınız.

“Add Diagram” düğmesine bastıktan sonra aşağıdaki gibi bir çalışma alanıyla karşılacağız.

real_workbench

File menüsünde bilinen dosya işlemleri gerçekleştirilir. Sayfa yazdırma için boyut ayarları buradan yapılır.  Edit menüsünde, kopyalama, yapıştırma seçme gibi işlemler gerçekleştirilir. Burada üzerinde durulması gereken bu menü altındaki “Preferences” seçeneği. Buradan çalışma alanıyla ilgili ayarlar gerçekleştirilebilir.

workbench_preferences

Mysql depolama motoru da buradan değiştirilmektedir. “Model:Mysql” sekmesi altında istediğimiz depolama motorunu seçebiliriz. Biz Foreign Key barındırdığı için ve trigger kullanacağımız için  InnoDB kullanacağız. O yüzden onu seçiyoruz. Eğer referanslarla çalışmak istiyorsanız MyIsam motorunu kullanabilirsiniz. MyIsam InnoDB’den daha hızlıdır, sadece CRUD işlemlerini yapacaksınız yeterlidir. Fakat trigger ve fonksiyon yazmak gibi bir düşünceniz varsa InnoDB kullanmalısınız.

mysql_workbench_arrange_menu

“Arrange” menüsü altında, çalışma alanındaki tabloları düzenlemeye yarayan seçenekler bulunmaktadır.

“Model” menüsü önemli bir menüdür. Burada aynı veritabanı üzerinde çalışacak farklı diyagramlar ekleyebilirsiniz. “Create Diagram from Catalog Objects” ise aynı database üzerindeki farklı çalışma alanlarındaki tabloları, aynı çalışma alanında toplamaya yarar. Eğer veritabanı tasarımınız üç ayrı koldan yapılıyorsa tasarımları açıp bu şekilde birleştirebilirsiniz. “User Defined Types…” seçeneği ise tablolardaki tiplerle ilgili özel tanımlamalar yapmak için kullanılır. Örneğin, Mysql veritabanında para ile ilgili özel bir veri tipi bulunmamaktadır. Bu seçeneği tıklayarak kendinize para isminde bir tip oluşturabilirsiniz.

user_defined_types

Yukarıda bunun bir örneği gösterilmiştir. DECIMAL(10,2) yerine geçecek, money isminde bir tip belirlenmiştir. “Add” butonuna tıkladıktan sonra tablolarda artık “money” isminde bir değişken tipini kullanabileceğiz.

model_menu

“Model” menüsü altında “Object Notation” ve “Relation Notation” şeklinde ayar bulunmaktadır. Obje notasyonu tabloların şekillerini belirleyen bir seçenekken ilişki notasyonu ise ilişkilerin şekillerinin nasıl olacağını belirleyen bir seçenektir. Burada hangi notasyonun seçileceği kullanıcıya bırakılmıştır. Hangi notasyonu biliyorsanız ona göre seçim yapabilirsiniz.”Diagram Properties and Size” çalışma alanının boyutunu ayarlamak için kullanılır. Alanın yetmediği yerde bu seçeneği kullanarak ek yapabilirsiniz. “Model Options” seçeneği varsayılan olarak Edit menüsündeki Preferences genel ayarları ile aynı olarak işaretlenmiştir. İsterseniz bu global ayarları kullanmayabilir kendiniz ayarlayabilirsiniz.

Araç çubuğundaki Database sekmesi veritabanına bağlanma ayarlarını, senkronizasyon ayarlarını, çeşitli veritabanı göç araçlarını içerisinde barındırır.

“Manage Connections…” seçeneğinde belirlediğiniz bağlantılar, bir daha ayar yapmanıza gerek kalmadan kullanılmak için saklanır.

database

“Reverse Engineer…” veritabanındaki tabloları okuyup sql kodlarını import(dahil) etmeye yararken, “Forward Engineer…” ise çalışma alanınızda bulunan diyagramların veritabanına export(ihraç) edilmesini sağlar. “Synchronize Model…” çalışma alanınızdaki değişikliklerin veritabanıyla eşitlenmesini sağlar. “Synchronize Model with Any Source…” ise herhangi bir kaynaktan alınan tabloları senkronize eder. “Generate Catalog Diff Report…” iki kaynak arasındaki farklılıkları bulur. Bunlar iki sql script dosyası veya iki veritabanının karşılaştırılması şeklinde olabilir.

“Plugins” menüsü eklentilerin yönetildiği yerdir. “Scripting” seçeneği bize bir shell sağlayarak tekrarlayan işleri programlayıp, workbench’e yaptırmamızı sağlar. “Community” seçeneği, blog adresini, sıkça sorulan soruları, tartışmaları takip edebileceğiniz adresleri barındırır.  “Help” görsellerle desteklenmiş bir yardım menüsüdür. Programla ilgili seçeneklerin, menülerin, araç çubuklarının ayrıntılarını buradan öğrenebilirsiniz.

Çalışma alanındaki dikey araç çubuğuna bakacak olursak:

 

select Nesneleri seçmeye yarar.

handTaşıma işlemleri için kullanılır.

eraseSilme işlemleri için kullanılır.

labelBirbiriyle ilişkili tabloların aynı renk altındaki bir katmanda toplanmasını sağlamak için yapılmış bir araç.

nameÇalışma alanına yazı eklemek için kullanılır.

backgrÇalışma alanına resim yerleştirmek için kullanılır.

tableTablo oluşturmak için kullanılır.

viewView oluşturmak için kullanılır.

routinRoutin yazmak için kullanılır.

onetooneTablolar arasında tanımsız bire-bir ilişki kurmak için kullanılır.

onetomanyTablolar arasında tanımsız bire-çok ilişki kurmak için kullanılır.

onetoonerigidTablolar arasında tanımlı bire-bir ilişki kurmak için kullanılır.

onetomanydefTablolar arasında tanımlı bire-çok ilişki kurmak için kullanılır.

manytomanyTablolar arasında çoka-çok ilişki kurmak için kullanılır.

existcolonVarolan kolonları kullanarak ilişki oluşturmak için kullanılır.

Mysql Workbench 5.2 Kullanımı-2

One Comment

  1. Öncelikle bu kadar sade, kolay anlaşılır ve ayrıntılılarıda unutmadan yazdığınız için çok teşekkür ederim. Artık internette böyle tek yerden tüm işini görecek bilgi bulmak çok zor. Elinize emeğinize sağlık

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir