Wygeneruj diagram relacji tabeli z istniejącego schematu (SQL Server) [zamknięty]

199

Czy istnieje sposób na stworzenie diagramu pokazującego istniejące tabele i ich relacje, biorąc pod uwagę połączenie z bazą danych?

To jest dla SQL Server 2008 Express Edition.

Nick Zalutskiy
źródło
darmowe narzędzie o nazwie SchemaSpy może to zrobić jak urok. Ale potrzebuje trochę konfiguracji. Szczegółowo opisałem
kmonsoor
miło: 60 DB Narzędzia do inżynierii wstecznej (patrz filtr po lewej) - dbmstools.com/categories/database-diagram-tools/sqlserver
George Birbilis

Odpowiedzi:

160

Tak, możesz używać samego programu SQL Server 2008, ale musisz zainstalować program SQL Server Management Studio Express (jeśli nie jest zainstalowany). Kliknij prawym przyciskiem myszy diagramy bazy danych i utwórz nowy diagram. Wybierz istniejące tabele i jeśli poprawnie podałeś odwołania w swoich tabelach. Będziesz mógł zobaczyć pełny schemat wybranych tabel. Aby uzyskać dodatkowe informacje, zobacz Wprowadzenie do diagramów baz danych programu SQL Server

Gripsoft
źródło
2
Jakiś sposób to zrobić za pomocą programu SQL Server Compact 3.5?
Scott Anderson
Po dodaniu wszystkich niezbędnych tabel należy również zobaczyć wszystkie istniejące relacje.
Vishwas SL,
53

Wypróbuj DBVis - pobierz na https://www.dbvis.com/download - istnieje wersja pro (niepotrzebna) i otwarta wersja, która powinna wystarczyć.

Wszystko, co musisz zrobić, to uzyskać odpowiedni JDBC - sterownik bazy danych dla SQL Server, narzędzie pokazuje tabele i referencje ortogonalne, hierarchiczne, w kółku ;-) itd., Wystarczy nacisnąć jeden przycisk. Korzystam z darmowej wersji od lat.

Georgi
źródło
1
To było bardzo łatwe do skonfigurowania i stworzyło znacznie bardziej czytelny schemat niż narzędzia SQL Server. +1
davidtbernal
Bardzo łatwa konfiguracja, jeśli już korzystasz z JDBC. W przeciwnym razie potencjalnie w sumie do znanej konfiguracji cholera .
ruffin
+ ∞ za to. ratownik życia!
Olayinka,
1
Próbowałem tego w lipcu 2018 roku, nadal działa cuda i nadal jest bezpłatny! +1
Andrea Scarcella
Działa ładnie, jeśli masz odpowiednie relacje klucza obcego.
phord
8

W przypadku instrukcji SQL możesz wypróbować odwrócone płatki śniegu. Możesz dołączyć do sourceforge lub strony demo http://snowflakejoins.com/ .

Pascal
źródło
Nie wykonuje zadania (wizualizacji schematu bazy danych), ale nadal jest całkiem fajny. Chciałbym, aby było coś takiego, aby wygenerować schludny schemat sieci komputerowej na podstawie opisu tekstowego ...
Ivan
4

Dlaczego nie użyjesz funkcji diagramu bazy danych wbudowanej w SQL Server?

Sprzedawcy Mitchel
źródło
6
Nie zawsze jest dostępny. Niektóre wersje SSMS i SQL nie pozwalają na licencję.
Piotr Kula,
Lub możesz, wiesz, że jesteś na GNU / LInux lub Macos faktycznie bez żadnej licencji, tylko z poświadczeniami połączenia.
helvete
2

Visio Professional ma funkcję inżynierii wstecznej bazy danych, jeśli utworzysz schemat bazy danych. To nie jest darmowe, ale jest dość wszechobecne w większości firm i powinno być dość łatwe do zdobycia.

Zauważ, że Visio 2003 nie działa dobrze z SQL2005 lub SQL2008 do inżynierii odwrotnej - będziesz potrzebować 2007.

ConcernedOfTunbridgeWells
źródło
7
Ta funkcja została niestety usunięta w Visio 2013.
Kjell-Åke Gafvelin
2

SchemaCrawler dla SQL Server może generować diagramy baz danych za pomocą GraphViz. Relacje klucza obcego są wyświetlane (i można je nawet wywnioskować przy użyciu konwencji nazewnictwa), a tabele i kolumny można wykluczyć za pomocą wyrażeń regularnych.

Sualeh Fatehi
źródło
1
„Wnioskuje się o relacjach klucza obcego na podstawie konwencji nazewnictwa” - całkowicie nie ma zastosowania w większości rzeczywistych przypadków biznesowych.
Ivan
2
Byłbyś zaskoczony, jak często jest to potrzebne.
phord
0

MySQL WorkBench jest darmowym oprogramowaniem opracowanym przez Oracle. Możesz zaimportować plik SQL lub określić bazę danych i wygeneruje on diagram SQL, który możesz przenosić, aby był bardziej atrakcyjny wizualnie. Działa na systemach GNU / Linux i Windows, jest bezpłatny i ma profesjonalny wygląd.

dendini
źródło
Wydaje się, że nie obsługuje już DBMSów innych niż MySQL. Również jego automatyczny układ diagramów jest straszny.
Ivan
automatyczny układ po prostu układa wszystko jeden na drugim, musisz następnie przeciągnąć każdą tabelę do odpowiedniej pozycji, może to być straszne, ale wątpię, aby jakikolwiek algorytm byłby wystarczająco inteligentny, aby uporządkować wszystko porządnie. Jeśli chodzi o obsługę SQL, używam go z zapytaniami do serwera H2 i działa, myślę, że obsługują większość SQL zgodnych z SQL-92, więc jeśli twój kod nie jest zgodny z SQL-92, może to być dobra okazja, aby to sprawdzić.
dendini
Niekompatybilności leżą wszędzie, od bardzo podstawowych rzeczy, takich jak użycie cudzysłowów / nawiasów, do ogromnych różnic w DDL (język definicji tabel / kluczy / ograniczeń / indeksów) i fundamentalnych różnic w typach (takich jak użycie osobnego typu dla ciągów Unicode).
Ivan