Je suis nouveau dans les bases de données Oracle et j'aimerais développer un dictionnaire de données et des diagrammes ER pour nos bases de données existantes. Avez-vous des conseils, des scripts, des outils pour le faire?
Je suis nouveau dans les bases de données Oracle et j'aimerais développer un dictionnaire de données et des diagrammes ER pour nos bases de données existantes. Avez-vous des conseils, des scripts, des outils pour le faire?
Réponses:
Le Data Modeller d' Oracle peut effectuer une rétro-ingénierie à partir d'une base de données existante. Ils le facturaient en même temps, mais il est désormais gratuit.
Nous utilisons PowerAMC de Sybase bien que j'avoue, c'est assez exagéré pour ce que vous voulez. Nous utilisons pour soutenir notre effort complet d'ingénierie logicielle, de la création de diagrammes de cas d'utilisation pour la collecte d'exigences, la capture de ces exigences, les modèles conceptuels et physiques (base de données, code orienté objet, infrastructure, etc.), les matrices de vérification des exigences / fonctionnalités ...
Fondamentalement, tout ce qui est orienté UML et qui nous aide à découvrir, à concevoir, à suivre et à mettre en œuvre des solutions commerciales d'un point de vue informatique.
Ne vous laissez pas berner par le nom de "Sybase" - il prend en charge de NOMBREUX formats de diagrammes RDBMS et UML majeurs et a des modèles pour tous. C'est un outil très cool.
Le modélisateur de données de développeur gratuit Oracle SQL fonctionne bien. notez qu'il s'agit d'un téléchargement distinct de celui fourni avec le développeur sql. L'outil de modèle de données dans sql developer n'a pas autant de fonctionnalités.
http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html
Il a quelques procédures vidéo.
fichier-> importer -> dictionnaire de données. Vous ajoutez une connexion à une base de données et décidez ce que vous souhaitez inverser.
Notez que la partie du modèle sera un gâchis et vous prendra du temps pour la rendre suffisamment nette pour la lecture. Lorsque Oracle reverse engineering, il vous donne un modèle physique et non un ERD. Vous pouvez changer le modèle physique en un ERD. Cependant, la plupart des gens ne savent pas ce qu'est un ERD et pensent qu'un ERD est un modèle physique. Les ERD ont une valeur minimale au stade où existe votre modèle de données. Il n'y a aucune bonne raison de conserver un modèle physique (qui est plus facile à lire pour les développeurs) et un ERD.
En ce qui concerne le dictionnaire de données ... Cela signifie généralement de la documentation sur votre modèle de données. La meilleure façon de le faire est d'utiliser l'outil et d'utiliser la commande "comment". Oracle vous permet de créer des commentaires pour toutes les tables, colonnes et objets et de les stocker dans la base de données. De cette façon, vous pouvez avoir une documentation dans la base de données qui est interrogeable. Le modélisateur de données Sql Developer peut l'interroger.
Vous pouvez le faire dans l'interface graphique, mais je trouve plus rapide d'utiliser les commandes "comment" et de le mettre dans la base de données à partir de scripts sql, puis de le tirer, au lieu de cliquer sur chaque objet. Google "oracle sql comment" pour plus de détails sur la façon dont cela fonctionne.
Je sais que SQLServer fonctionne avec Visio; Je ne sais pas si Oracle le fait ou non, je ne l'ai jamais essayé, mais Visio a BEAUCOUP de tours dans ses manches.
De plus, si vous êtes dans une entreprise assez importante, Visio n'est pas si difficile à récupérer une copie de, bien que la licence puisse être un peu riche. Mais les équipes professionnelles dans des entreprises raisonnablement grandes ont déjà déjà Visio, donc ce n'est pas si grave.
Si quelqu'un peut nier ou confirmer que Visio le fera pour Oracle comme pour SqlServer, ce serait génial.
J'ai répondu à la même question dans /programming/8140387/oracle-extract-graphical-database-representation/8149947#8149947 Voir ci-dessous.
Pour un outil gratuit, je recommande le schéma espion, http://schemaspy.sourceforge.net/ . Il a besoin de Java Runtime. Consultez http://schemaspy.sourceforge.net/sample/relationships.html pour voir les diagrammes qu'il génère.
une utilisation simple avec le modèle oracle hr est donnée ci-dessous.
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
Le premier vous donnera un diagramme avec des tableaux commençant par EMP. Le second vous donnera un diagramme avec toutes les tables dans le schéma hr.
Nous utilisons Dataedo pour générer des dictionnaires de données et des ERD pour toutes nos bases de données - Oralce & SQL Servers. Vous venez de vous connecter à une base de données, le schéma est importé dans le référentiel et vous pouvez décrire chaque élément avec l'interface utilisateur. L'outil permet de diviser de grandes bases de données en modules logiques, de définir les FK et UK manquants, d'utiliser du texte riche et de coller des images. L'utilisation de l'outil FK physique et logique crée des ERD simples.
Chaque fois que le schéma de la base de données change, vous pouvez importer ces modifications et elles sont automatiquement reflétées dans le référentiel.
Le dictionnaire de données avec ERD est exporté au format PDF ou HTML interactif.
Je suis le chef de produit de Dataedo.