2010-10-07 14 views
5

Bir ilişkisel veritabanındaki verileri keşfetmek ve master-detay ilişkilerini detaylandırmak için herhangi bir araç olup olmadığını bilmek istiyorum.Yabancı tabloları da içeren bir SQL veritabanındaki verileri nasıl keşfedebilirim?

Zaten tek bir tablo verileri görüntülemek için nasıl biliyorum ve tabloları JOIN SQL sorguları oluşturmak için biliyorum. Ancak, N düzeylerini derinleştirmek için bir SQL ifadesi yazmalıyım, ilgilendiğim öğenin kimliğini bulmalı ve N kere tekrarlamalıyım. Sonuçları görselleştirmek son derece sıkıcı ve zordur.

Ancak, bana bir tablodaki verilere bakmak sağlayan bir araç var olup olmadığını bilmek istiyorum, ve yabancı anahtarlar varsa, bana yabancı verileri göstermek için verileri genişletmek sağlar. Ve umarım, birden fazla detay seviyesinde çalışmamı sağlar.

Bu tür araçlar var mı?

SQL'i çalıştırmak için MS SQL kullanıyorum ve SQL Server Management Studio'yu kullanıyorum.

+0

yapıyoruz sıkıcı koşmak bir ifadenin bazı kaydetmek ve sonraki çalışma içine neden kopyalayacağız ancak https://www.red-gate.com/simple-talk/sql/database-administration/exploring-your-sql-server-databases-with-t-sql/ veritabanı yapılarını araştırmak için bazı iyi komut dosyaları içerir. yabancı keşfetmek için çift n tuşları. – Myles

cevap

2

Anahtarlar ve tablo bilgileri ile ilgili bilgiler sysobjects ve diğer sys tabloları üzerinden erişilebilir ve buradaki bazı bilgileri sağlamak için bu tabloları okuyabilen bazı özel komut dizileri görmüştüm. aşağı işlevselliği bu kapsam dışındadır. Bence TOAD (Oracle uygulama geliştiricileri için araç) bu yol boyunca bazı seçeneklere sahip olabilir (muhtemelen ücretsiz sürümde olmasa da). görselleştirmek ve tıklayıp sonuçlar arasında detaya sağlayacak bir pano kurulumu aradığınız gibi

Neredeyse geliyor. Bu işlevsellik için özgür yazılımdan emin değilim, ancak iş nesneleri, mikrostrateji ve diğer birçok kişi, aradığınız şeyi (bence) size verecektir. Muhtemelen pahalı ve kurulum beklemek için biraz zaman alabilir ... tis ne yapmak için ödeme aldım;)

Sadece echo Beth için, MSSQL ... withins diyagramları oluşturabilirsiniz ... ve uygun anahtarların ve ilişkilerin kurulduğu varsayılarak, tabloların nasıl bir ilişki içinde olduğu fikri.

Kurgu eklemek için: sorularınızın bu bölümünde yolunda yeni bir yorumunu: Zaten tek bir tablo verileri görüntülemek için nasıl biliyorum ve tabloları JOIN SQL sorguları oluşturmak için biliyorum. Ancak, N düzeylerini derinleştirmek için bir SQL ifadesi yazmalıyım, ilgilendiğim öğenin kimliğini bulmalı ve N kere tekrarlamalıyım. Sonuçları görselleştirmek son derece sıkıcı ve zordur.

Ben yuva benim sorguları (bu üretim için böyle bir şey uygulamaya çalışıyorum cesaret yok, yalnızca bir sorun giderme tekniktir) ...

select * from finaltable where ID in 
    (select id2 for table2 where anotheridcolumn in 
    (select id3 from yetanothertable where yet anotheridcolumn in (input_id_you're_looking_for) 

Gerçekten bu tekniği kullanmak ister edeceğiz

beklediğiniz eğer, en fazla 5 veya 10 satır sonunda iade ... ama bunu kendi başına bir araç değil biliyorum

+0

Önerileriniz için teşekkürler! MS SQL için TOAD'a baktım ve ücretli sürümün aradığım şeye yakın olan "Master-Details Browser" adlı bir özelliği var. Tek sınırlama, verileri görmenize izin vermeden önce, tablolarınız ve ilişkileriniz için bir diyagram oluşturmanızı gerektirmesidir.Keşke veriyi araştırırken, anında, herhangi bir masaya katılabilseydim. –

+0

Listelenen araçların hepsi aynı gerektirir. Bir programın, bu tür bir uçuşu bir araya getirecek herhangi bir sonuca ulaşmak için bir veri tabanı oluşturmanın çok fazla yolu vardır. Bir veri tabanı, içinde sadece bir yapı ve veri olup, bu verilerin nasıl kullanıldığının mantığı, bunun ötesine geçer. Aynı şeyi yapmak için pek çok yöntem var ... aradığınız bir değer bile hesaplanabilir ve doğrudan depolanamaz. Bir tablonun tümünde 5 katmana sahip bir tablo içinde bir telco veri tabanı devresi gördüm ... bu da bir devre oluşturmak için tablonun 5 kez kendisine bağlanması anlamına geliyordu. Hiçbir program bu mantığı seçemez – Twelfth

+0

Tesadüfen, bunu yapan bir program varsa, lütfen onu yayınlamayın ... Sanırım bir işten çıkmış olacağım;) – Twelfth

2

creating a diagram Yardımcı olur mu? Ya da bir görüntünün görsel kısmını mı kullanıyorsunuz?

+0

Bir şema neredeyse istediğim kadardır - ancak şema sadece şemayı gösterir. Verileri gösteren bir diyagram istiyorum! –

İlgili konular