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).


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 .


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


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.


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


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.


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.


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.




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).


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.


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.


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


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.


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.



0

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


0

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.