Eu sou novo no Oracle Databases e gostaria de desenvolver um dicionário de dados e diagramas de ER para nossos bancos de dados existentes. Você tem dicas, scripts, ferramentas para fazer isso?
Eu sou novo no Oracle Databases e gostaria de desenvolver um dicionário de dados e diagramas de ER para nossos bancos de dados existentes. Você tem dicas, scripts, ferramentas para fazer isso?
Respostas:
O Data Modeller da Oracle pode fazer engenharia reversa a partir de um banco de dados existente. Eles estavam cobrando por isso ao mesmo tempo, mas agora é gratuito.
Apesar de admitir que estamos usando o PowerDesigner da Sybase , é um exagero para o que você deseja. Estamos usando para apoiar todo o nosso esforço de engenharia de software, desde o diagrama de casos de uso para a coleta de requisitos, capturando esses requisitos, modelos conceituais e físicos (banco de dados, código orientado a objetos, infraestrutura, etc.), matrizes de verificação de requisitos / funcionalidades ...
Basicamente, qualquer coisa orientada a UML que nos ajude a descobrir, arquitetar, rastrear e implementar soluções de negócios da perspectiva de TI.
Não se deixe enganar pelo nome "Sybase" - ele suporta MUITOS principais formatos de diagrama RDBMS e UML e possui modelos para todos eles. É uma ferramenta muito legal.
O modelador de dados do desenvolvedor oracle sql gratuito funciona bem. observe que este é um download separado daquele fornecido com o desenvolvedor do sql. A ferramenta de modelo de dados no sql developer não possui tantos recursos.
http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html
Tem algumas orientações em vídeo.
arquivo-> importação -> dicionário de dados. Você adiciona uma conexão a um banco de dados e decide o que deseja fazer engenharia reversa.
Observe que a peça do modelo será uma bagunça e levará tempo para torná-la limpa o suficiente para ser lida. Quando a Oracle faz engenharia reversa, ele fornece um modelo físico e não um ERD. Você pode alterar o modelo físico em um ERD. No entanto, a maioria das pessoas não sabe o que é um ERD e acha que um ERD é um modelo físico. Os ERDs têm um valor mínimo no estágio em que seu modelo de dados existe. Não há boas razões para manter um modelo físico (que é mais fácil para os desenvolvedores lerem) e um ERD.
Quanto ao dicionário de dados ... Isso geralmente significa documentação sobre o seu modelo de dados. A melhor maneira de fazer isso é usar a ferramenta e o comando "comment". O Oracle permite criar comentários para todas as tabelas, colunas e objetos e armazená-los no banco de dados. Dessa forma, você pode ter documentação no banco de dados que é passível de consulta. O modelador de dados do Sql Developer pode consultar isso.
Você pode fazer isso na GUI, mas acho mais rápido usar comandos "comment" e colocá-lo no banco de dados a partir de scripts sql, depois puxe-o, em vez de clicar em cada objeto. Google "oracle sql comment" para obter detalhes sobre como isso funciona.
Eu sei que o SQLServer funciona com o Visio; Não tenho certeza se o Oracle faz ou não, nunca tentei, mas o Visio tem muitos truques nas mangas.
Além disso, se você estiver em uma empresa razoavelmente grande, o Visio não é tão difícil de obter uma cópia, embora a licença possa ser um pouco rica. Porém, equipes profissionais em empresas razoavelmente grandes geralmente já possuem o Visio, portanto, não é grande coisa.
Se alguém puder negar ou confirmar que o Visio fará isso no Oracle, assim como no SqlServer, isso seria incrível.
Respondi à mesma pergunta em /programming/8140387/oracle-extract-graphical-database-representation/8149947#8149947 Veja abaixo.
Para uma ferramenta gratuita, recomendo o espião de esquema, http://schemaspy.sourceforge.net/ . Ele precisa do Java Runtime. Consulte http://schemaspy.sourceforge.net/sample/relationships.html para ver os diagramas gerados.
O uso simples com o modelo Oracle hr é dado abaixo.
SET JDBC_ORACLE_JAR=C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.jar
SET CONNECTION_USERNAME=hr
SET CONNECTION_PASSWORD=hr
SET TNS_DATABASE_NAME=orcl
SET SCHEMA_NAME=HR
SET TABLE_NAME='EMP'
SET OUTPUT_NAME=HR_EMP
java -jar schemaSpy_5.0.0.jar -dp %JDBC_ORACLE_JAR% -db %TNS_DATABASE_NAME% -o schemaOutput%OUTPUT_NAME% -u %CONNECTION_USERNAME% -p %CONNECTION_PASSWORD% -i %TABLE_NAME%.* -schemas %SCHEMA_NAME% -hq -noviews -loglevel severe
java -jar schemaSpy_5.0.0.jar -dp %JDBC_ORACLE_JAR% -db %TNS_DATABASE_NAME% -o schemaOutput%OUTPUT_NAME% -u %CONNECTION_USERNAME% -p %CONNECTION_PASSWORD% -schemas %SCHEMA_NAME% -hq -noviews -loglevel severe
O primeiro mostrará um diagrama com as tabelas começando com o EMP. O segundo mostrará um diagrama com todas as tabelas no esquema hr.
Usamos o Dataedo para gerar dicionários de dados e ERDs para todos os nossos bancos de dados - Oralce e SQL Servers. Você acabou de se conectar a um banco de dados, o esquema é importado para o repositório e você pode descrever cada elemento com a interface do usuário. A ferramenta permite dividir grandes bancos de dados em módulos lógicos, definir FKs e UKs ausentes, usar rich text e colar imagens. O uso da ferramenta física e lógica dos FKs cria ERDs simples.
Cada vez que o esquema do banco de dados é alterado, você pode importar essas alterações e elas são refletidas automaticamente no repositório.
O dicionário de dados com ERDs é exportado para PDF ou HTML interativo.
Sou o gerente de produto da Dataedo.