Comment générer un diagramme entité-relation (ER) à l'aide d'Oracle SQL Developer

372

Je veux utiliser Oracle SQL Developer pour générer un diagramme ER pour mes tables de base de données, mais je suis nouveau sur Oracle et cet outil.

Quel est le processus de création d'un diagramme ER dans SQL Developer?

Breezescut
la source
1
Vous pouvez également le faire à l'aide de l' outil de diagramme ER dans dbForge Studio pour Oracle. Essayez l'édition Express gratuite.
Devart

Réponses:

502

Créez un diagramme pour le schéma de base de données existant ou son sous-ensemble comme suit:

  1. Cliquez sur Fichier → Modeleur de données → Importer → Dictionnaire de données .
  2. Sélectionnez une connexion DB (ajoutez-en une si aucune).
  3. Cliquez sur Suivant .
  4. Vérifiez un ou plusieurs noms de schéma.
  5. Cliquez sur Suivant .
  6. Cochez un ou plusieurs objets à importer.
  7. Cliquez sur Suivant .
  8. Cliquez sur Terminer .

L'ERD s'affiche.

Exportez le diagramme comme suit:

  1. Cliquez sur Fichier → Modéliseur de données → Imprimer le diagramme → Vers un fichier image .
  2. Recherchez et sélectionnez l'emplacement du fichier d'exportation.
  3. Cliquez sur Enregistrer .

Le diagramme est exporté. Pour exporter au format vectoriel, utilisez plutôt Vers un fichier PDF . Cela permet une édition simplifiée à l'aide d' Inkscape (ou d'un autre éditeur d'images vectorielles).

Ces instructions peuvent fonctionner pour SQL Developer 3.2.09.23 à 4.1.3.20.

Sergei Mardiyants
la source
1
Ça ne marche pas pour moi. Le développeur SQL 3.2.20.09 n'affiche pas toutes les tables, mais il affiche d'autres objets tels que des vues, etc. Des idées?
SUN Jiangong
1
@sataniccrow: d'accord, l'outil de développement sql en général n'est pas facile à utiliser et buggé, rend tout travail pénible. mais a de nombreuses fonctions, d'autre part.
tbraun
J'ai rencontré un problème lors de la création d'une nouvelle connexion à la base de données lors de la création du modèle ER. En sélectionnant TNS comme type de connexion, la liste déroulante Alias ​​réseau n'affichait pas les entrées attendues dans mon fichier tnsnames.ora. Pour me déplacer, j'ai sélectionné le type de connexion comme étant de base et entré les valeurs souhaitées de nom d'hôte, de port et de service dans le fichier tnsnames.ora qui fonctionne autrement. Il se peut qu'il y ait un endroit où nous pouvons spécifier le fichier tnsnames.ora pour le SQL Modeler, mais je n'ai pas pu trouver un tel endroit via SQL Developer (Tools-> Preferences-> Data Modeler). Les choses ont été simples après.
DiligentKarma
2
Note latérale: Vous devez être à l'intérieur de l'outil Data Modeler sinon "Data Modeler" ne sera pas disponible dans le menu "Fichier".
Necreaux
Supposons que je génère le diagramme, puis mette à jour l'une des tables source. Comment «actualiser» le diagramme pour afficher la modification que j'ai apportée à la table source?
takanuva15
120

Depuis SQL Developer 3, c'est assez simple (ils auraient pu le rendre plus facile).

  1. Allez dans «Affichage → Modeleur de données → Navigateur» . Le navigateur apparaîtra comme l'un des onglets sur le côté gauche.
  2. Cliquez sur l' onglet «Navigateur» , développez le design (probablement appelé Untitled_1), faites un clic droit sur «Modèles relationnels» et sélectionnez «Nouveau modèle relationnel» .
  3. Faites un clic droit sur le modèle relationnel nouvellement créé (probablement Relational_1) et sélectionnez «Afficher» .
  4. Faites ensuite simplement glisser les tables de votre choix (par exemple depuis l' onglet «Connexions» ) sur le modèle. Notez que lorsque vous cliquez sur la première table dans l'onglet Connexions, SQLDeveloper ouvre cette table à droite: sélectionnez toutes les tables à partir de la gauche, puis assurez-vous que l' Relational_1onglet (ou quel que soit le nom) est bien actif dans la droite avant de les faire glisser , car il est probablement passé à l'une des tables sur lesquelles vous avez cliqué dans le lhs.
lintmouse
la source
2
Cela semble facile - mais tellement triste - le glisser-déposer ne fonctionne pas pour moi (WinXP / SQLDesigner 3.2.09). Suggestions?
Bastian Ebeling
Utilisez-vous SQL Designer ou SQL Developer?
lintmouse
J'ai utilisé Oracle SQL Developer désolé, c'était une faute de frappe au-dessus de l'écriture de SQLDesigner.
Bastian Ebeling
Je laisse simplement un commentaire ici parce que je viens de passer une demi-heure à trouver comment exporter le diagramme au format png ou pdf. Et je détesterais le refaire la prochaine fois que j'en aurai besoin (... ce n'est pas la première fois). Quoi qu'il en soit, la procédure est celle indiquée dans la réponse de @ Sergei ci-dessus: Cliquez sur Fichier → Modeleur de données → Imprimer le diagramme → Vers un fichier image (ou vers un fichier PDF)
Superole
40

Le processus de génération d'un diagramme Entité-Relation dans Oracle SQL Developer a été décrit dans Oracle Magazine par Jeff Smith ( lien ).

Extrait:

Diagramme entité-relation

Diagramme entité-relation

Commencer

Pour passer en revue l'exemple, vous avez besoin d'une instance Oracle Database avec l'exemple de schéma HR disponible dans l'installation de base de données par défaut. Vous avez également besoin de la version 4.0 d'Oracle SQL Developer, dans laquelle vous accédez à Oracle SQL Developer Data Modeler via le sous-menu Data Modeler [...] Alternativement, vous pouvez utiliser la version autonome d'Oracle SQL Developer Data Modeler. La fonctionnalité de modélisation est identique dans les deux implémentations, et les deux sont disponibles en téléchargement gratuit depuis Oracle Technology Network.

Dans Oracle SQL Developer, sélectionnez Affichage -> Data Modeler -> Navigateur. Dans le panneau Navigateur, sélectionnez le nœud Modèles relationnels, cliquez avec le bouton droit et sélectionnez Nouveau modèle relationnel pour ouvrir un panneau de diagramme de modèle vierge. Vous commencez maintenant au même endroit que quelqu'un qui utilise le module de modélisation de données Oracle SQL Developer autonome. Importation de votre dictionnaire de données

Importation de votre dictionnaire de données

Une conception dans Oracle SQL Developer Data Modeler se compose d'un modèle logique et d'un ou plusieurs modèles relationnels et physiques. Pour commencer le processus de création de votre conception, vous devez importer les informations de schéma à partir de votre base de données existante. Sélectionnez Fichier -> Data Modeler -> Importer -> Dictionnaire de données pour ouvrir l'assistant d'importation de dictionnaire de données.

Cliquez sur Ajouter pour ouvrir la boîte de dialogue Nouveau -> Sélectionner la connexion à la base de données et connectez-vous en tant qu'utilisateur HR. (Pour des informations détaillées sur la création d'une connexion à partir d'Oracle SQL Developer, voir «Making Database Connections», dans le numéro de mai / juin 2008 d'Oracle Magazine.)

Sélectionnez votre connexion et cliquez sur Suivant. Vous voyez une liste de schémas à partir desquels vous pouvez importer. Tapez HR dans la zone Filtre pour affiner la liste de sélection. Cochez la case en regard de HR, puis cliquez sur Suivant.

Lire la suite...

Dariusz Woźniak
la source
38

Pour un diagramme de classes utilisant une base de données Oracle, procédez comme suit:

Fichier → Data Modeler → Importer → Dictionnaire de données → sélectionner la connexion DB → Suivant → sélectionner la base de données-> sélectionner les tabels -> Terminer

Swati Pisal
la source
24

Il existe un outil complémentaire appelé Oracle Data Modeler que vous pouvez consulter. Des démos en ligne sont disponibles sur le site pour vous aider à démarrer. Auparavant, c'était un élément de coût supplémentaire, mais j'ai remarqué qu'une fois de plus, c'est gratuit.

Depuis la page de présentation de Data Modeler:

SQL Developer Data Modeler est un outil de conception et de modélisation de données gratuit, prouvant une gamme complète d'outils et d'utilitaires de modélisation de données et de bases de données, y compris la modélisation pour les diagrammes de relation d'entité (ERD), relationnelle (conception de base de données), type de données et modélisation multidimensionnelle, avec ingénierie avant et arrière et génération de code DDL. Data Modeler importe et exporte vers une variété de sources et de cibles, fournit une variété d'options de formatage et valide les modèles via un ensemble prédéfini de règles de conception.

DCookie
la source
6
SQL Developer version 3 inclut Data Modeler mais la version autonome est plus facile à utiliser car vous n'avez pas à fouiller dans les menus pour trouver les éléments pertinents pour le modeleur
Gary Myers
7

Oracle avait un composant dans SQL Developer appelé Data Modeler . Il n'existe plus dans le produit depuis au moins le 3.2.20.10.

C'est maintenant un téléchargement séparé que vous pouvez trouver ici:

http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html

BIBD
la source
À partir de 2019 (SQL Developer 19.2), la fonctionnalité est définitivement intégrée, bien qu'il soit possible de l'activer et de la désactiver dans "Gérer les fonctionnalités et les mises à jour" ( Outils / Fonctionnalités ).
Álvaro González
1
Yah, je souhaite qu'Oracle se fasse une opinion sur celui-ci. Chaque fois que je vais le chercher dans une nouvelle version, il est déplacé quelque part "mieux"
BIBD
3

Il est facile d'accéder à File - Data Modeler - Import - Data Dictionary - DB connection - OK

Douglas Marques
la source
3

J'exécute SQL Developer 17.2.0.188 build 188.1159 qui contient en effet une capacité de modélisation des données. Je viens de créer un diagramme de modèle relationnel via le menu: Fichier-> Données Modeler-> Importer-> Dictionnaire de données ... .

J'ai également le Data Modeler autonome, qui fait la même chose.

Comme l'indique le didacticiel Data Modeler :

Figure 4: Modèle relationnel et diagramme pour les RH

Le diagramme que vous avez généré n'est pas un ERD. Les modèles logiques sont des abstractions plus élevées. Un ERD représente des entités et leurs attributs et relations, tandis qu'un modèle relationnel ou physique représente des tables, des colonnes et des clés étrangères. "

J Slick
la source