Boa ferramenta para visualizar o esquema do banco de dados? [fechadas]

137

Existem boas ferramentas para visualizar um esquema de banco de dados preexistente? Estou usando o MySQL, se isso importa.

Atualmente, estou usando o MySQL Workbench para processar um despejo de script de criação de SQL, mas é desajeitado, lento e um processo manual para arrastar todas as tabelas (o que seria bom se não fosse tão lento).

Esteira
fonte
não há alternativa para ler a coisa ... a menos que você acha que isso é útil apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html
gcb
2
Fiz essa pergunta novamente em softwarerecs.stackexchange.com e agradeço muito as alternativas à minha própria solução atual.
Jeroen
Visualize esquemas mysql usando o dbForge Studio for MySQL. O Database Designer está incluído na edição Express gratuita.
Devart

Respostas:

83

Encontrei SchemaSpy muito bom - você precisa executar o script sempre que o esquema mudar, mas isso não é tão importante.

Como apontado nos comentários, há também uma GUI para isso.

Outra ferramenta interessante é o SchemaCrawler .

rkj
fonte
3
Obrigado, eu pensei que a interface da linha de comando era meio dolorosa, é claro que quando o fiz funcionar, notei o link para a GUI na primeira página, joachim-uhl.de/projekte/schemaspygui . Observe também que o programa insere anúncios do Google no HTML resultante.
21419 James McMahon
1
Isso é bom. E vale a pena notar que é necessário fazer bastante barbear nos iaques para fazê-lo funcionar.
Ken Prince
Isso é ótimo! Foi fácil fazê-lo funcionar. Basta seguir as instruções. Além disso, deve-se notar que ele funciona não apenas com o MySQL e: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
iled
Salve seu trabalho e vá com o DbVisualizer ( dbvis.com ). Ele funciona com uma variedade de bancos de dados, incluindo SQLite, e seu EULA permite que a versão gratuita seja usada para projetos comerciais.
Aralox
14

Eu normalmente uso o SchemaSpy para fazer isso, mas recentemente encontrei um artigo muito simples sobre o sqlfairy que apenas usa o arquivo de despejo para criar o gráfico da estrutura

Hons
fonte
2
+1 para sqlfairy não requer o JRE (como a maioria das outras respostas).
Mikewaters
Acabei de obter o que precisava do sqlfairy. Simples e rápido.
Fivedogit 21/05
O sqlfairy pode usar grandes quantidades de espaço em disco para grandes bancos de dados. Eu o executei em um banco de dados com 615 MB de largura e quebrou após ter preenchido os 18 GB que permaneciam livres no meu disco rígido.
28515 Pascal
Esse é um comentário antigo ... Essas ferramentas ainda estão em desenvolvimento?
Hons
11

Eu gosto desta ferramenta, chamada simplesmente DbSchema . Ele é escrito em Java e é executado no OS X, Windows ou Linux. É um pouco desajeitado, especialmente quando se trata de impressão, mas, pela minha experiência, são todos assim. Este é o melhor dos vários que eu tentei. Faz diagramas claros e agradáveis. Teste grátis. Custa cerca de US $ 120, dependendo de quantas licenças você compra.

Ethan
fonte
Excelente ferramenta. Também há edição gratuita que possui a maioria dos ótimos recursos (sincronização com o db ao vivo, por exemplo).
wheleph
essa é uma ótima ferramenta, pode até gerar chaves estrangeiras virtuais, uau!
Nassim
10

no Mac OS X, você pode usar o Sequel Pro


fonte
1
+1Sequel Pro é altamente recomendável.
Anne
6
Eu acho que esta resposta precisa de explicação adicional: norbauer.com/rails-consulting/notes/...
fguillen
1
Obrigado @fguillen! Vamos adicionar a explicação aqui (antes que o link possa quebrar ...). São apenas quatro etapas fáceis: 1.) Instale o graphviz , está disponível em MacPorts ( sudo port install graphviz) e em Homebrew ( brew install graphviz). 2.) Exportar arquivo Dot (no SequelPro, vá para File> Export> Graphviz Dot e exporte seu banco de dados) 3.) Abra o terminal e converta o arquivo dot para SVG dot -Tsvg your_database.dot > your_database.svg 4.) Opcionalmente, converta SVG gerado para JPG ou PNG usando qualquer ferramenta de sua escolha (Inkscape, ImageMagick, GraphicsMagick, etc.)
Arvid
2

Você já tentou a função de organizar> organizar automaticamente no MySQL Workbench. Isso pode evitar que você mova manualmente as tabelas.

Brian Fisher
fonte
2
Sim, meio que ajudou, mas não foi ótimo.
Mat
Vale a pena tentar, eu sempre acabo me arrumando também - mas às vezes isso pode me ajudar a começar.
Brian Fisher
2

O DeZign for Databases pode ser interessante para você. Você pode fazer engenharia reversa e modificar bancos de dados existentes. Possui uma função de layout automático e o layout do diagrama não é agregado ao sincronizar seu modelo de dados com o banco de dados.


fonte
Observe que o recurso de pagamento automático não é adequado para bancos de dados maiores - é apenas uma grande bagunça. (por exemplo, o espaço para o diagrama parece ser limitado e, portanto, há muitas mesas amontoadas na borda direita (no nosso caso, 75 mesas em um só lugar). Eu brinquei com as diferentes opções de layout, mas o resultado não é bom em nenhuma das opções.
Lonzak 21/01
2

Visio professional possui uma ferramenta de engenharia reversa de banco de dados. Você deve poder usá-lo com o MySQL através de um driver ODBC. Funciona melhor quando você faz a engenharia reversa do banco de dados e cria os diagramas, arrastando-os para fora do painel de tabelas e visualizações. Ele arrastará qualquer objeto de chave estrangeira e os colocará no diagrama também.

ConcernedOfTunbridgeWells
fonte
2

Estou começando a criar o próprio script Perl com base no módulo SQL :: Translator (GraphViz). Aqui estão os primeiros resultados .

mj41
fonte
2

Procurei por um longo tempo uma ferramenta decente e, de preferência gratuita, para linux e encontrei esse aplicativo java que é muito bom (finalmente !!):

http://sqldeveloper.solyp.com/

Sendo Java, ele é multiplataforma (eu o executo no Linux sem problemas) e ele se conectará a qualquer banco de dados para o qual você possa obter um driver JDBC. ou seja: praticamente qualquer banco de dados .

É muito fácil importar seu banco de dados e obter um visual ( ERM ) do esquema do banco de dados. O recurso de layout automático também é bom, mas observe que isso não é feito automaticamente e você precisa clicar no botão "layout automático" depois de importar seus objetos para o diagrama.

O aplicativo também é uma boa ferramenta genérica de administração / navegação de banco de dados. Como um pequeno exemplo, eu o uso em vez do pgadmin para algum trabalho de desenvolvimento básico, devido a detalhes simples, como a largura da coluna dos resultados da consulta SQL, dimensionados automaticamente para caber no conteúdo (o que me deixa louco no pgadmin).

Russ
fonte
Eu concordo com isto. Eu tenho procurado por qualquer ferramenta GUI para visualizar bancos de dados postgresql no linux e a maioria deles cai de cara no chão. Acabei de começar a usar o SQL Developer, mas é a melhor opção gratuita que encontrei até agora.
Adam Plumb
1
Não posso fornecer uma nova resposta, já que a pergunta está encerrada, mas a ferramenta que você realmente deseja é o DbVisualizer ( dbvis.com ). É fantástico ... muito melhor do que o recomendado na minha pergunta (se meu uso nos últimos anos for alguma indicação).
Russ
1

Eu uso o SQL :: Translator com DBIx :: Class

De qualquer maneira, tenho DBIx :: Class na minha cadeia de ferramentas e combiná-la com o SQL :: Translator permite converter o esquema em vários formatos diferentes. Principalmente, scripts de inicialização de SQL para diferentes servidores de banco de dados (facilitando o desenvolvimento no SQLite e a migração para o Postgresql para produção), mas também pode gerar dados do GraphViz, portanto, é fácil gerar diagramas.

Quentin
fonte
1

ER / Studio por Embarcadero é um dos mais caros, mas o modo hierárquico que ele apresenta é de longe o melhor para entender os modelos de banco de dados. Isso torna a escrita de consultas a tarefa mais fácil do mundo.

Também é incrível com normalização, desnormalização, armazenamento, documentação, etc.

A desvantagem é que é uma ferramenta bastante cara, especialmente quando você se multiplataforma.

Raj More
fonte
1

Adminer (anteriormente phpMinAdmin), o aplicativo da web para gerenciar bancos de dados MySQL, desenha um diagrama simples.

O software em si é semelhante ao phpMyAdmin, mas possui mais recursos, é leve e vem em um único arquivo PHP.

texto alternativo

Tom Pažourek
fonte
1
Talvez isso funcione para esquemas triviais, mas eu tentei em um esquema com 28 tabelas e me deu uma lista puramente vertical de todas as tabelas em ordem alfabética, com uma confusão de linhas verticais tentando ilustrar relacionamentos. Não poderia ser mais inútil.
Dolph
Exatamente, no meu caso, 40 mesas. Você pode clicar para arrastá-lo, mas depois de selecionar, não poderá selecionar.
Ziyan Junaideen
0

Quando você diz visualizar o esquema do banco de dados, está se referindo a um documento de texto de todas as suas tabelas, sprocs etc., ou está se referindo a uma representação visual do seu esquema e dependências?

Eu sei que você mencionou o MySQL (e é muito possível que ele seja suportado agora, mas não tenho certeza), mas o RedGate possui várias ferramentas que tornam isso bastante simples. Seu programa SQL Doc pode levar todo o seu banco de dados e criar a documentação completa do banco de dados. O SQL Dependency Tracker pode fornecer uma representação visual de todas as suas tabelas e mostrar seus vínculos, ou você pode carregar apenas determinadas tabelas ou sprocs para mostrar o que os está usando ou o que eles estão usando.

TheTXI
fonte
As ferramentas do Red Gate são apenas o SQL Server, receio.
Dave R.
Eu estava atrás de uma representação gráfica visual em vez de um documento completo do banco de dados, mas ainda parece interessante (mesmo que seja apenas o SQL Server - tenha outras coisas usando isso).
Mat
0

Anos atrás, eu costumava usar o Data Architect. Não sei se ainda está lá fora.

Você pode fazer engenharia reversa de um esquema existente em um diagrama de tabela relacional.

Ou você pode ir ainda mais longe e fazer engenharia reversa de um modelo de Entidade-Relacionamento com um diagrama que o acompanha. Os diagramas de ER foram realmente úteis para mim quando discutimos os dados com pessoas que não eram programadores nem especialistas em banco de dados.

Às vezes, algumas correções manuais no modelo e no diagrama de ER eram necessárias antes de ser uma ferramenta de comunicação útil com as partes interessadas.

Walter Mitty
fonte
0

SchemaBall está fazendo a visualização de uma maneira interessante.

mj41
fonte
0

Eu tentei o DBSchema. Recursos agradáveis, mas extremamente lentos para um banco de dados com cerca de 75 tabelas. Inutilizável.

deeeptext
fonte
0

Experimente o PHPMyAdmin, que possui ótimos recursos de visualização e edição. Tenho certeza que você pode exportar para o exel.

byteSlayer
fonte