Varolan şemadan (SQL Server) tablo ilişki diyagramı oluştur [kapalı]


200

Bir veritabanına bağlantı verildiğinde mevcut tabloları ve ilişkilerini gösteren bir diyagram üretmenin bir yolu var mı?

Bu, SQL Server 2008 Express Edition içindir.


SchemaSpy adlı ücretsiz bir araç bunu cazibe gibi yapabilir. Ancak, biraz kurulum gerektiriyor. Buradaki adımı ayrıntılı olarak açıkladım
kmonsoor

iyi bir tane: 60 DB Ters mühendislik araçları (soldaki filtreye bakın) - dbmstools.com/categories/database-diagram-tools/sqlserver
George Birbilis

Yanıtlar:


160

Evet, SQL Server 2008'in kendisini kullanabilirsiniz, ancak SQL Server Management Studio Express'i yüklemeniz gerekir (yüklü değilse). Veritabanı Diyagramlarına sağ tıklayın ve yeni diyagram oluşturun. Mevcut tabloları seçin ve tablolarınızdaki referansları doğru bir şekilde belirlediyseniz. Seçili tabloların tam şemasını görebileceksiniz. Daha fazla başvuru için bkz. SQL Server veritabanı diyagramlarını kullanmaya başlama


2
SQL Server Compact 3.5 ile bunu yapmak için herhangi bir yolu var mı?
Scott Anderson

Gerekli tüm tabloları eklediğinizde mevcut tüm ilişkileri de görebilmelisiniz.
Vishwas SL

53

DBVis'i deneyin - https://www.dbvis.com/download adresinden indirin - bir pro sürümü (gerekli değildir) ve yeterli olması gereken açık bir sürümü var.

Tek yapmanız gereken SQL Server için doğru JDBC - veritabanı sürücüsünü almaktır, araç tek bir düğmeye basarak tabloları ve referansları ortogonal, hiyerarşik, daire şeklinde ;-) vb. Gösterir. Ücretsiz sürümü yıllardır kullanıyorum.


1
Bu, kurulumu çok kolaydı ve SQL Server araçlarından çok daha okunabilir bir diyagram üretti. +1
davidtbernal

JDBC çalıştırıyorsanız, kurulumu çok kolaydır. Aksi takdirde tanıdık yapılandırma heck tüm potansiyel .
ruffin

Bunun için + ∞. hayat kurtarıcı!
Olayinka

1
Temmuz 2018'de bunu denedim, hala harikalar yaratıyor ve hala ücretsiz! +1
Andrea Scarcella

Uygun yabancı anahtar ilişkileriniz varsa güzel çalışır.
phord


8

SQL ifadeleri için ters kar taneleri deneyebilirsiniz. Sourceforge veya demo sitesine http://snowflakejoins.com/ adresinden katılabilirsiniz .


Görevi yapmaz (veritabanı şemasını görselleştirmek) ama yine de oldukça serin. Keşke böyle bir şey metinsel bir açıklamadan bir bilgisayar ağının düzenli bir diyagramı oluşturmak için ...
Ivan

4

Neden sadece SQL Server'da yerleşik veritabanı diyagramı işlevselliğini kullanmıyorsunuz?


6
Her zaman mevcut değildir .. SSMS ve SQL'in bazı sürümleri lisanslama nedeniyle izin vermez.
Piotr Kula

Veya GNU / LInux veya Macos'ta herhangi bir lisans olmadan, sadece bağlantı kimlik bilgileriyle olabilirsiniz.
helvete

2

Bir veritabanı diyagramı oluşturursanız, Visio Professional veritabanı tersine mühendislik özelliğine sahiptir. Ücretsiz değildir, ancak çoğu şirkette oldukça yaygındır ve elde edilmesi oldukça kolaydır.

Visio 2003'ün tersine mühendislik için SQL2005 veya SQL2008 ile iyi oynamadığını unutmayın - 2007'yi almanız gerekecek.


7
Bu özellik maalesef Visio 2013'te kaldırılmıştır.
Kjell-Åke Gafvelin


2

SQL Server için SchemaCrawler , GraphViz yardımıyla veritabanı diyagramları oluşturabilir. Yabancı anahtar ilişkileri görüntülenir (ve adlandırma kuralları kullanılarak bile çıkarılabilir) ve tablolar ve sütunlar normal ifadeler kullanılarak hariç tutulabilir.


1
"Yabancı anahtar ilişkiler, adlandırma kuralları kullanılarak çıkarılır" - çoğu gerçek iş durumunda tamamen uygulanamaz.
Ivan

2
Bunun ne sıklıkta gerekli olduğuna şaşıracaksınız.
phord

0

MySQL WorkBench ücretsiz bir yazılımdır ve Oracle tarafından geliştirilmiştir, bir SQL dosyasını içe aktarabilir veya bir veritabanı belirtebilirsiniz ve daha görsel olarak çekici hale getirmek için hareket edebileceğiniz bir SQL Şeması oluşturur. GNU / Linux ve Windows üzerinde çalışır ve ücretsizdir ve profesyonel bir görünüme sahiptir.


Artık MySQL dışındaki DBMS'leri desteklemiyor gibi görünüyor. Ayrıca, diyagram otomatik düzeni dehşet vericidir.
Ivan

otomatik düzen sadece her şeyi bir diğerinin üstüne yığınlar, daha sonra her tabloyu uygun konuma sürüklemelisiniz, korkunç olabilir, ancak herhangi bir algoritmanın her şeyi düzgün bir şekilde sipariş etmek için yeterince akıllı olacağından şüpheliyim. SQL desteğine gelince, H2 sunucu sorguları ile kullanıyorum ve işe yarıyor, bence çoğu SQL-92 uyumlu SQL'i destekliyorlar, bu nedenle kodunuz SQL-92'ye uymuyorsa kontrol etmek için iyi bir fırsat olabilir.
dendini

Uyumsuzluklar, tırnak işaretleri / parantez kullanımı gibi çok temel şeylerden DDL'deki büyük tablolara (tablolar / anahtarlar / kısıtlamalar / dizinler tanımlama dili) ve türlerdeki temel farklılıklara (Unicode dizeleri için ayrı bir tür kullanmak gibi) kadar her yerde yatmaktadır.
Ivan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.