MySQL tezgahı tamamen operatörlerle ilgilidir. Hızlı başlangıç: MySQL Workbench'te görsel veritabanı tasarımı. Veri ekleme ve düzenleme

MySQL Çalışma Tezgahıyazılım, veritabanı tasarımı için oluşturulmuştur. Veritabanını çalıştırmak ve modellemek için bir araç kataloğu bulunmaktadır. Ürün yüksek performansla öne çıkıyor.

Karmaşık bir geçiş sırasında yazılımın kullanılması tavsiye edilir. Tablolar kayıtlı işlemleri ve yabancı anahtarları görüntüler. Komut dosyaları yazmanıza olanak tanıyan entegre bir kabuk desteklenir. Her şeyden önce, program görsel grafik sunumu için bir tasarım aracıdır. İstekleri ayarlamanıza ve ardından bunları sunucu üzerinden göndermenize olanak tanıyan bir düzenleyici vardır. Kabul edilen cevaplar tablolar halinde sunulmaktadır. Görünüm oluşturulduğunda kullanıcı hâlâ düzenleme yapma olanağına sahiptir.

MySQL Workbench'in tam Rusça sürümünü kayıt olmadan ve SMS olmadan resmi web sitesinden ücretsiz olarak indirin.

Sistem gereksinimleri

  • Desteklenen İşletim Sistemi: Windows 10, Vista, 8.1, XP, 7, 8
  • Bit derinliği: 64 bit, 32 bit, x86

Bir web geliştirici yarattığı ve geliştirdiği projelerle büyür. Projeler büyüdükçe yazılımın karmaşıklığı artar, işlediği veri miktarı da kaçınılmaz olarak artar ve ayrıca veri şeması karmaşıklığı. Diğer web geliştiricileriyle iletişim, MySQL veritabanlarının aramızda çok popüler olduğunu ve bunları yönetmenin iyi bilinen bir yöntem olduğunu gösteriyor. PHPMyAdmin. Küçük projelerden büyük projelere, cms'lerden çerçevelere geçerken, benim gibi pek çok kişi MySQL'e sadık kalıyor. Ancak çok sayıda tablo ve ilişkiden oluşan karmaşık bir veritabanı tasarlamak için PHPMyAdmin'in yetenekleri son derece eksiktir. Bu yüzden bir inceleme yazmaya karar verdim MySQL Workbench, MySQL ile çalışmak için harika bir ücretsiz masaüstü programıdır.

İncelemenin ilk bölümünde programla çalışmanın temellerinden bahsedeceğim, böylece bu makaleyi şu şekilde kullanabilirsiniz: Yeni başlayanların rehberi.İkinci bölüm, uzak bir sunucuyla çalışırken Workbench'in savaşta kullanılmasına ayrılacaktır. İçinde temelleri vereceğim talimatlar ve bir sunucu bağlantısı kurmaya ve onunla senkronizasyona ilişkin öneriler.

MySQL Çalışma Tezgahı- Bir veritabanının tasarımını, modellenmesini, oluşturulmasını ve işletilmesini MySQL veritabanı sistemi için tek bir kesintisiz ortamda birleştiren görsel veritabanı tasarımına yönelik bir araç.

Programın gerçekten harika olduğunu söylemeliyim. Hızlı ve keyifle atmanızı sağlar proje veri şemaları, tasarım varlıklar ve bağlantılar aralarında acısız değişiklikleri uygulamakşemaya ve aynı hızla ve acısız bir şekilde senkronize etmek uzak bir sunucuyla. A grafik editörü EER diyagramları Komik hamamböceklerini anımsatan, veri modelinin genel resmini görmenizi ve hafifliğinin ve zarafetinin tadını çıkarmanızı sağlar :) İlk denemeden sonra bu araç, bir web programcısının savaş cephaneliğinde vazgeçilmez bir yardımcı haline gelir.

MySQL Workbench'i indirin

MySQL Workbench dağıtımı bu sayfada mevcuttur. Bu yazının yazıldığı sırada programın en son sürümü şu şekildedir: Sürüm 6.1. İndirmeden önce aşağıdaki platformlardan birini seçmelisiniz:

Bir platform seçtikten sonra Oracle'a kaydolmanız veya oturum açmanız istenir. İstemiyorsanız aşağıda bir bağlantı var. "Hayır teşekkürler, sadece indirme işlemimi başlat"- üstüne tıkla ;)

İşin başlangıcı

Programın başlangıç ​​ekranı, işlevselliğinin ana alanlarını yansıtır - veritabanı modellerinin tasarlanması ve yönetimi:

Ekranın üst kısmında projelerinizin MySQL sunucularına yapılan bağlantıların bir listesi bulunur ve en son açık veri modellerinin bir listesi ekranın altında bulunur. İş genellikle şununla başlar: veri şeması oluşturma veya Mevcut bir yapıyı MySQL Workbench'e yükleme. Hadi çalışalım!

Veri modeli oluşturma ve düzenleme

Model eklemek için "Modeller" başlığının yanındaki artı işaretini tıklayın veya "Dosya → Yeni Model" (Ctrl + N):

Bu ekranda veritabanı adını girin, varsayılan kodlamayı seçin ve gerekiyorsa yorum alanını doldurun. Tablo oluşturmaya başlayabilirsiniz.

Tablo ekleme ve düzenleme

Proje veritabanlarının listesi ve veritabanı içindeki tabloların listesi sekmede yer alacaktır. "Fiziksel Şemalar". Tablo oluşturmak için üzerine çift tıklayın "+Tablo Ekle":

Alanların listesini ve özelliklerini düzenlemek için kullanışlı bir arayüz açılacaktır. Burada alan adını, veri türünü ayarlayabilir ve ayrıca alanlar için çeşitli nitelikleri ayarlayabiliriz: alan ata birincil anahtar (PK), işaretle Boş Değil (NN), ikili (BIN), benzersiz (UQ) ve diğerleri, sahaya hazır otomatik artış (AI) Ve varsayılan değer.

Dizin yönetimi

Sekmede tablo dizinlerini ekleyebilir, silebilir ve düzenleyebilirsiniz. "Dizinler" tablo yönetimi arayüzü:

Dizinin adını girin, türünü seçin ve ardından bu dizine katılan alanların listesini gereken sırayla kontrol edin. Alanların sırası, onay kutularının işaretlenme sırasına karşılık gelecektir. Bu örnekte alana benzersiz bir dizin ekledim Kullanıcı adı.

Tablolar arasındaki ilişkiler

Yabancı anahtarların ayarlanması ve tabloların bağlanması yalnızca tablolar için mümkündür InnoDB(bu depolama sistemi varsayılan olarak seçilidir). İlişkileri yönetmek için her tablonun bir sekmesi vardır "Yabancı anahtarlar":

Bağlantı eklemek için sekmeyi açın "Yabancı anahtarlar" çocuk masası, yabancı anahtarın adını girin ve ebeveyn tablosu. Sütundaki sekmenin orta kısmında Kolon alt tablodan ve sütundan anahtar alanı seçin Başvurulan Sütun- ana tablodaki ilgili alan (alan türleri eşleşmelidir). Yabancı anahtarlar oluştururken karşılık gelen dizinler alt tabloda otomatik olarak oluşturulur.

Bölümde "Yabancı Anahtar Seçenekleri" karşılık gelen alan değiştiğinde yabancı anahtarın davranışını yapılandırma (GÜNCELLEMEDE) ve kaldırma (SİLİNDİĞİNDE) ebeveyn kaydı:

  • KISITLAMAK- bir üst kaydı değiştirirken/silerken hata veriyor
  • ÇAĞLAYAN- ebeveyn kaydı değiştiğinde yabancı anahtarı güncelleyin, ebeveyn silindiğinde alt kaydı silin
  • BOŞ AYARLA- yabancı anahtar değerini ayarlayın HÜKÜMSÜZ ebeveyni değiştirirken/silerken (bayrak ayarlanmış alanlar için kabul edilemez GEÇERSİZ DEĞİL!)
  • HİÇBİR EYLEM- hiçbir şey yapmayın, ancak aslında etki RESTRICT'e benzer

Yukarıdaki örnekte alt tabloya ekledim Kullanıcı profili ana tabloya bağlanmak için yabancı anahtar Kullanıcı. Bir alanı düzenlerken Kullanıcı kimliği ve pozisyonların tablodan silinmesi Kullanıcı benzer değişiklikler yapılacak otomatik olarak tablodaki ilgili kayıtlarda da ortaya çıkar Kullanıcı profili.

Bir proje oluştururken genellikle başlangıç ​​verilerini veritabanına eklemeniz gerekir. Bunlar kök kategoriler, yönetici kullanıcılar vb. olabilir. MySQL Workbench tablo yönetiminde bunun için bir sekme var "Ekler":

Örnekte görülebileceği gibi, veri tabanına yazmadan önce verilere bazı MySQL fonksiyonlarının uygulanması gerekiyorsa, bu sözdizimi kullanılarak yapılır. \func functionName("veri"), Örneğin, \func md5("şifre").

EER diyagramı oluşturma (varlık-ilişki diyagramı)

Veri şemasını, varlıkları ve bunların ilişkilerini grafiksel biçimde sunmak için MySQL Workbench'te bir EER diyagram düzenleyicisi bulunur. Veritabanı yönetimi ekranının üst kısmında bir diyagram oluşturmak için simgeye çift tıklayın. "+Diyagram Ekle":

Arayüzünde tablolar oluşturabilir ve düzenleyebilir, aralarında çeşitli türlerde ilişkiler ekleyebilirsiniz. Diyagramda zaten mevcut olan bir tabloyu diyagrama eklemek için tabloyu panelden sürüklemeniz yeterlidir. "Katalog Ağacı".

Bir veri şemasını dışa aktarmak için grafik dosyası seçme "Dosya → Dışa Aktar" ve sonra seçeneklerden biri (PNG, SVG, PDF, PostScript Dosyası).

Mevcut bir veri şemasını içe aktarma (SQL dökümünden)

Zaten bir veri şemamız varsa, daha ileri çalışmalar için kolayca MySQL Workbench'e aktarılabilir. Bir modeli bir SQL dosyasından içe aktarmak için "Dosya → İçe Aktar → Tersine Mühendislik MySQL Komut Dosyası Oluştur...", ardından gerekli SQL dosyasını seçin ve tıklayın. "Yürüt >"

MySQL Workbench ayrıca veri modelinin doğrudan uzak bir sunucuya aktarılmasını ve senkronize edilmesini sağlar. Bunu yapmak için oluşturmanız gerekecek MySQL'e uzaktan erişimi bağlama Bu incelemenin devamında bundan bahsedeceğim.

Makaledeki demo projesi bu bağlantıdan indirilebilir. Size başarılar ve güzel hamamböceği planları diliyorum!

MySQL Workbench programının MySQL'in bir parçası olarak ortaya çıkmasıyla birlikte, veritabanları (DB'ler) oluşturma süreci önemli ölçüde basitleştirildi. Sonuçta, daha önce bir SQL betiği kullanılarak manuel olarak yapılması gerekenler ve Komut satırı artık kullanıcı dostu bir GUI kullanılarak "görsel modda" yapılabilir.

MySQL Workbench kullanarak veritabanı oluşturma sürecine daha detaylı bakalım.

Aşağıdaki ekran görüntüsü MySQL Workbench program penceresinin genel görünümünü göstermektedir.

Veritabanı oluşturmak için sol panelde veritabanı listesinin bulunduğu alanda (ŞEMALAR olarak gösterilir) sağ tıklamanız ve içerik menüsü"Şema Oluştur"u seçin.

Bundan sonra, yeni veritabanının adını belirtmeniz ve sıralama parametrelerini belirtmeniz gereken bir sekme görünecektir. Örneğin veritabanı mynewdatabase olarak adlandırılacaktır. Açılır listeden sıralama seçeneklerini seçebilir veya varsayılan olarak sunulanları bırakabilirsiniz (bu örnekte varsayılan seçenekler kalmıştır).

Bundan sonra veritabanını oluşturmaya devam etmek için “Uygula” düğmesine tıklayın. Görüntülenen iletişim kutusu MySQL Workbench tarafından oluşturulan veritabanı oluşturma komut dosyasını görüntüleyecektir. Gerekirse bu komut dosyası doğrudan bu pencerede düzenlenebilir.

Pencerenin üst kısmında Çevrimiçi DDL alanı bulunur. Komut dosyası yürütme parametrelerini ayarlamak için tasarlanmıştır. Bu parametreler mevcut bir veritabanını işlerken faydalı olabilir. Veritabanı oluştururken varsayılan değerlerin (“Varsayılan”) bırakılması önerilir.

Bu yazının amacı, acemi bir geliştiricinin Oracle'ın görsel veritabanı tasarım aracı MySQL Workbench'i kullanarak basit bir veritabanına hızlı bir şekilde alışmasına ve tasarlamasına ve bunun ER modelini ve SQL dökümünü almasına yardımcı olmaktır.

Daha az kelime ve daha fazla anlam! Dış görünüş program penceresinde “Veri Modelleme” bölümü şuna benzer:

Mevcut bir modeli açmak için bağlantıya tıklayın: Mevcut EER Modelini Aç, yeni bir model oluşturmak için şu seçeneği seçin: Yeni EER Modeli Oluşturun Mevcut bir veritabanından varlık-ilişki modeli oluşturmak için parametreye tıklayın: Mevcut Veritabanından EER Modeli Oluşturun ve bir SQL betiğinden bir EER modeli oluşturmak için şunları seçmeniz gerekir: SQL Komut Dosyasından EER Modeli Oluşturun.
Yeni bir model oluşturmak için Yeni EER Modeli Oluştur bağlantısını kullanın; üzerine tıkladıktan sonra parametrelerin bulunduğu bir pencere görüntülenecektir:

Öncelikle tablolar oluşturmanız gerekiyor, bunu yapmak için düğmeye tıklayın Tablo Ekle aşağıdaki form görünecektir:

Öncelikle bir tablo oluşturalım kullanıcılar Kullanıcı verilerini depolayacak olan bilgi sistemi, sahada Tablo ismi form bölümüne tablo adını girin Sütunlar Tablo alanları oluşturalım:
- İlk alan İD benzersiz bir kullanıcı numarası içerecek, özelliklerini ayarlayacaktır: Otomatik Artış, Boş Değil, Birincil anahtar Ve Eşsiz, Bölümde Veri tipi bir tam sayı türü seçin tamsayı.
- Depolanacağı ikinci alan fio AD SOYAD. kullanıcı, özellik alanını ayarlayın: Geçersiz değil, Birincil anahtar, Bölümde Veri tipi dize türünü seç VARCHAR 255 .
- Üçüncü alan giriş yapmak, kullanıcı giriş bilgilerini içerecektir; alan gibi benzersiz olmalıdır İD, öyleyse özelliği ayarlayalım Eşsiz ve karakter sayısını ayarlayın 255 .
- Aşağıdaki alanlar: şifreşifreyi içeren, e_posta adresi içeren E-posta ve alan tip Kullanıcı tipini içeren özel özellikler olmayacak, string tipinde olacak VARCHAR uzun süredir 255 son alan dışındaki karakterler tip kimin yeteri kadarı var 45 karakterler.
Tamamlanan işlemlerden sonra tablo adının bulunduğu bir form kullanıcılarşöyle görünecek:

Diyagramda bir tablo görünecek kullanıcılar alanlar ve dizinlerle:

Benzer şekilde bir tablo oluşturalım ayarlar alanları içeren IS veritabanına erişim ayarlarıyla İD, ev sahibi ana bilgisayar adını (sunucu adresi) belirtmek için, db- veri tabanı ismi, kullanıcı Ve şifre IS'yi uzak bir sunucuya yüklemek için bir kullanıcı adı ve parola ile.

Daha sonra, zaten bilinen yöntemi kullanarak, alanlardaki mağazalarla ilgili verileri depolayacak bir tablo mağazaları oluşturacağız: İD tip tamsayı– anahtar, sıfırdan farklı, otomatik artış alanına sahip benzersiz isim mağaza adının saklanması, alan adres– fiziksel adresi, alanı tel- telefon numarasını saklayın, alan– çevrimiçi mağaza web sitesi ve alanı e-postaİle e-posta adresi mağaza.

O zaman bir tablo oluşturalım ürünler Mağaza ürünleriyle ilgili verileri şu alanlarda depolamak: İD tip tamsayı– anahtar, sıfır olmayan, otomatik artışlı benzersiz, mağazanın adını saklayan ad alanı, anahtar, tam sayı türünün sıfır olmayan alanı shop_id mağaza numarasının saklanması, alan type_idÜrün çeşitleri tablosundan ürün numarasına ilişkin bilgilerle birlikte. Marka alanı – üreticinin markası, 255 karakter uzunluğunda, alan modeli– ürün modeli, alan ile veri– ürün tipinin verileri ve özellikleri ile Küçük metin, alan imgÜrün resminin tam adresi, 255 karakter uzunluğunda ve ürünün fiyatının yer aldığı fiyat alanı ve garantiÜrünün garanti süresine ilişkin bilgilerin yer aldığı 45 karakter uzunluğundadır.

Oluşturduğumuz tablolar ayarlar, mağazalar Ve ürünler Bunun gibi:

Daha sonra ürün türlerini saklayan bir tabloya ihtiyacımız var ürün tipi benzersiz, boş olmayan bir anahtar alanından oluşur İD bir tamsayı tipinin otomatik olarak artması ve ürün tipinin adını içeren 255 karakter uzunluğunda benzersiz bir ad alanı ile.

Tablo şuna benziyor:

Son iki tablo ise emirler Ve teslimatlarİlki müşteri siparişleriyle ilgili bilgileri, sonuncusu ise ürün teslimatıyla ilgili bilgileri içerir.

Tablo alanları emirler: İD anahtar, sıfırdan farklı, otomatik artışlı tamsayı türünün benzersiz alanı, alan shop_id mağaza numarasını içeren - sıfırdan farklı bir tamsayı alanı ürün kimliğiürün numarasını saklama - sıfırdan farklı bir tamsayı alanı beş tarih sipariş tarihiyle birlikte – tip TARİH, alan miktar sipariş edilen malların sayısıyla birlikte – tam sayı türü, alan tel müşterinin telefon numarasıyla (255 karakter uzunluğunda bir dize türü) ve sipariş onayıyla ilgili bilgileri içeren bir onay alanıyla (mantıksal bir tür).

Tablo alanları teslimatlar: Sipariş Kimliği sipariş numarası ile - anahtar, sıfırdan farklı, otomatik artışlı tamsayı tipinin benzersiz alanı, alan alanı beş siparişi veren kullanıcının numarasıyla birlikte - sıfırdan farklı bir tamsayı alanı adres müşteri tarafından belirtilen malların teslimat adresinin saklanması - 255 karakter uzunluğunda bir dize türü, alan zaman malların istenen teslimat süresinin saklanması - 255 karakter uzunluğunda bir dize türü, alan tarih müşterinin siparişi verdiği tarihle birlikte - yazın TARİH ve bir boole alanı onaylamak Malların teslimatı hakkında bilgilerin saklanması.

Tablolar emirler Ve teslimatlar Bunun gibi:

Tablo ilişkileri

Yedi tablodan oluşan bir veritabanı oluşturduk, şimdi tabloları bağlamamız gerekiyor, tamsayı tipinin anahtar alanlarını zaten oluşturduk, bunlar bağlantının temeli olacak.
Örneğin iki tabloyu birbirine bağlamak için ürünler Ve ürün tipi, ürünler tablosunun bulunduğu diyagram üzerinde farenin sol tuşuna çift tıklayıp sekmeyi seçmeniz gerekir. Yabancı anahtarlar(Yabancı anahtarlar), alanın daha da içine Yabancı anahtar adı yabancı anahtar için benzersiz bir ad girin, sekmeye çift tıklayın Başvurulan tablo ve tabloyu seçin ürün tipi, ardından sağdaki formda referans alanını seçin type_id ve açılır listeden alanı seçin İD.

Böylece tablonun her iki alanı da birbirine bağlanır, ardından tablolar arasındaki ilişki türünü ayarlamanız, görünen tablolar arasındaki ilişkiye tıklayarak bir pencere açmanız ve sekmeyi seçmeniz gerekir. Yabancı anahtar ve bölümde Kardinalite Bire çok bağlantı türünü seçin ve pencereyi kapatın. Diyagram tablolar arasındaki ilişkiyi gösterecektir:

Benzer şekilde, tablolardaki tüm anahtar alanları mantıksal olarak birbirine bağlanacak şekilde bağlarız, ardından tasarlanan veritabanının üçüncüye karşılık geldiğinden emin olmamız gerekir. normal biçim.

Normal biçim- ilişkisel veri modelindeki bir ilişkinin, onu artıklık açısından karakterize eden ve potansiyel olarak veri örnekleme veya değiştirme konusunda mantıksal olarak hatalı sonuçlara yol açabilen bir özelliği. Normal form, bir ilişkinin karşılaması gereken bir dizi gereksinim olarak tanımlanır.

İlişkisel modelde, ilişki kavramının tanımı gereği bir ilişki her zaman birinci normal formdadır. Çeşitli tablolar ise ilişkilerin doğru temsili olmayabilir ve dolayısıyla birinci normal formda olmayabilir. Bir ilişki değişkeni, yalnızca birinci normal formda olması ve anahtar olmayan her özelliğin aday anahtarına indirgenemez (işlevsel olarak tamamlanmış) olması durumunda ikinci normal formdadır. Bir veritabanı ikinci normal forma indirgenirse ve anahtar olmayan her sütun birbirinden bağımsızsa üçüncü normal formda olacaktır.

Dolayısıyla tabanımız üçüncü normal formdadır çünkü Anahtar olmayan her sütun birbirinden bağımsızdır. Bu, veritabanı diyagramımızda açıkça görülmektedir:

Tablolar dışında çoğu tablo bire çok ilişki içindedir teslimatlar Ve emirler bire bir ilişki içinde çünkü teslim edildiyse yalnızca bir sipariş olabilir, yani. Bir siparişin yalnızca bir teslimatı vardır. Geri kalan bağlantılar yukarıda açıkça belirtilmiştir.

Şimdi veritabanımızı sunucuya yükleyelim. Bunu yapmak için bağlantıya tıklayarak veritabanına yeni bir bağlantı oluşturun. Yeni bağlantı programın başlangıç ​​penceresinde:

Daha sonra açılan penceredeki alanları doldurun:

Alanda bağlantı adını belirtin Bağlantı adı, listeden bağlantı yöntemini seçin Bağlantı Yöntemi, sekmede ana bilgisayar adını ve bağlantı noktasını ayarlayın Parametreler, varsa kullanıcı adınızı ve şifrenizi belirtin ve Tamam butonuna tıklayın. Daha sonra sekmeyi açın EER Diyagramı, panelde öğeyi seçin Veri tabanı ve parametreye tıklayın İleri Mühendis:

Pencere göründükten sonra düğmeye tıklayın "Sonraki", parametreyi seçin MySQL Tablo Nesnelerini Dışa Aktarma ve düğmeye basın "Sonraki":

Butona tıkladıktan sonra SQL kodlu bir sekme açılacak, butona tıklayarak kaydedebilirsiniz. "Dosyaya kaydet" gerekirse ve ardından düğmeye basın "Sonraki". Bağlantı parametrelerini içeren bir pencere görünecektir:

Bağlantı parametrelerinin doğru olup olmadığını kontrol edip butonuna tıklıyoruz "Uygulamak", eğer SQL kodu hata içermiyorsa, kodu çalıştırdıktan sonra tabloların listesini içeren bir pencere göreceğiz, aksi takdirde bir hata mesajı görüntülenecektir. Artık veritabanımız sunucuya yüklendi.

İlginiz için teşekkür ederiz, programın kendisini indirin.

GÜNCELLEME:

Bazı Khabra sakinleri, masa bağlantı hatlarının sahadan sahaya modunda görüntülenmesi olasılığıyla ilgilendiler

Kullanıcılardan birinin tavsiyesi üzerine ilişkilerin ve tabloların görünümünün nasıl değiştirileceğine dair kısa bir açıklama yapacağım, bunun için menü bölümünde aşağıdaki seçeneği seçmeniz gerekiyor İlişki Gösterimi:

Bundan sonra tablo ilişkileri şu şekli alacaktır:

Tabloların türünü değiştirmek de mümkündür; bunu yapmak için menünün yukarıdaki bölümünde ve aşağıdaki bölümdeki kutuyu işaretlemeniz gerekir. Nesne Gösterimi:

Diyagramdaki tablo IDEF1X standardına göre ayarlanmış gibi görünüyor:

Düşünceli yorumlarınız için teşekkür ederiz!




Tepe