Créer une base de données avec Devaki NextObjectDate de publication : 13/08/2007 , Date de mise à jour : 13/08/2007
Par
theLeadingEdge
I. Présentation
II. Installation
II-A. Prérequis
II-B. Windows
II-C. Linux
II-D. Configurer JDBC
III. Exécution
IV. Concevoir une BDD avec Devaki NextObject
IV-A. Nouveau MCD
IV-A-1. Configurer la connexion à la base de données
IV-A-2. Créer une entité
IV-A-3. Ajouter une propriété à une entité
IV-A-3-a. Propriété identifiante
IV-A-4. Créer une relation entre des entités
IV-A-4-a. Relation binaire
IV-A-4-b. Relation n-aire
IV-A-4-c. Relation porteuse d'information
IV-A-4-d. Ajuster les cardinalités
IV-B. Nouveau MPD
IV-B-1. Générer un MPD depuis un MCD
IV-B-2. Générer un MPD par rétro-conception d'une base
IV-C. Générer le script de création de la base
IV-D. Créer les tables dans la base de données
I. Présentation
Devaki NextObject est un projet sous licence GNU/Public.
C'est un AGL (Atelier de Génie Logiciel) permettant de réaliser les modèles de données de projets informatiques.
NextObject peut générer les scripts pour créer les schémas en utilisant le dialecte SQL des principales bases de données du marché. Il peut également générer le code Java des classes orm (Object Relational Mapping) correspondantes (featuring Torque).
Mais il se démarque surtout des autres outils gratuits de modélisation de base de données par sa capacité à gérer le niveau conceptuel. Les modèles produits sont conformes à Merise, et permettent de générer des schémas de base de données normalisés.
A l'ombre des deux incontournables poids lourds de la modélisation relationnelle que sont AMC/Power Designer et WinDesign, Devaki NextObject représente une alternative intéressante pour ceux qui font leurs premiers pas dans la modélisation de bases de données relationnelles.
La page d'accueil de Devaki NextObjects est consultable sur sourceforge.
II. Installation
II-A. Prérequis
J2SDK-1.4 ou plus récent.
II-B. Windows
Il suffit de décompacter l'archive devaki-nextobjects-0.3-alpha6.tar.gz dans le répertoire d'installation
II-C. Linux
Décompacter l'archive devaki-nextobjects-0.3-alpha6.tar.gz dans le répertoire d'installation
$ tar -xzvf devaki-nextobjects-${version}.tar.gz
II-D. Configurer JDBC
Comme pour toute application Java, l'archive contenant le pilote JDBC utilisé doit être localisée dans le CLASSPATH.
La doc conseille de le copier dans le répertoire $JAVA_HOME/jre/lib/ext.
|
|
|
Une autre façon de faire est de le copier dans le répertoire lib de l'installation de NextObject.
|
III. Exécution
L'application se lance avec
nextobjects.bat sous Windows
ou
$ ./nextobjects.sh sous Unix/Linux
L'espace de travail de Nextobjects est découpé en 4 parties :
- Une barre d'outils
- L'explorateur d'objets
- L'espace de travail
- Une console
IV. Concevoir une BDD avec Devaki NextObject
|
|
Ce n'est pas un cours sur les modèles de données de Merise.
Vous devez déjà être familier avec la méthode pour continuer.
Ce qui suit n'explique pas comment faire un modèle de données, mais comment le faire avec Devaki NextObject.
|
IV-A. Nouveau MCD
Pour commencer un nouveau Modèle conceptuel de données
|
|
|
Ouvrir le menu File,
puis /New/New CDM
ou faire un clic droit sur WorkSpace
dans l'explorateur d'objets,
puis
dans le menu contextuel,
/New/New CDM
(Conceptual Data Model = Modèle Conceptuel des Données)
|
|
|
|
IV-A-1. Configurer la connexion à la base de données
|
|
|
|
|
Ouvrir les propriétés du projet Menu ''Model'',
puis ''Project Preference ...''
|
|
|
|
|
|
Dans l'onglet ''DataBase'',
choisir l'éditeur de la base de donnée cible.
|
|
|
|
|
|
Renseigner les paramètres requis
puis cliquer sur le bouton ''Test JDBC Connection''.
Un message confirme que la connexion à la base de donnée s'effectue correctement.
|
|
|
|
IV-A-2. Créer une entité
|
|
|
|
|
Sélectionner dans la barre d'outils,
puis cliquer dans l'espace de travail du modèle pour créer une nouvelle entité.
|
|
|
|
IV-A-3. Ajouter une propriété à une entité
|
|
|
|
|
Pour ouvrir la fenêtre des propriétés de l'entité,
faire 1 clic droit sur l'entité,
puis cliquer sur ''Model Properties ...''
ou faire un double-clic sur l'entité.
|
|
|
|
|
|
Cliquer sur le bouton ''New''
pour créer un attribut et l'ajouter à l'entité
Puis renseigner les champs requis
|
|
|
|
IV-A-3-a. Propriété identifiante
Pour indiquer que la propriété est l'identifiant de l'entité et qu'elle deviendra la clef primaire (PK) de la table dans le modèle physique, il suffit de cocher la case correspondante (P).
Il est possible également de préciser si elle doit être auto-incrémentée (identity) et de renseigner des clefs alternatives (AK).
|
|
|
|
|
|
Clef Primaire |
|
|
Obligatoire |
|
|
Auto-Incrément |
|
|
Clef alternative |
|
|
Index |
|
|
|
IV-A-4. Créer une relation entre des entités
IV-A-4-a. Relation binaire
|
|
|
|
|
Sélectionner dans la barre d'outils, puis cliquer dans une entité.
Tirer le lien jusque dans la seconde entité de l'association.
Une relation est crée automatiquement.
|
|
|
|
IV-A-4-b. Relation n-aire
|
|
|
|
|
Sélectionner dans la barre d'outils, puis cliquer dans la relation.
Tirer le lien jusque dans la troisième entité de la relation.
|
|
|
|
IV-A-4-c. Relation porteuse d'information
|
|
|
|
|
Pour ouvrir la fenêtre des propriétés de la relation,
faire 1 clic droit sur la relation,
puis cliquer sur ''Model Properties ...''
ou faire un double-clic sur la relation.
|
|
|
|
|
|
Cliquer sur le bouton ''New''
pour créer un attribut et l'ajouter à la relation.
Puis renseigner les champs requis
|
|
|
|
IV-A-4-d. Ajuster les cardinalités
|
|
|
|
|
Pour ouvrir la fenêtre des propriétés,
faire 1 clic droit sur la patte de la relation,
puis cliquer sur ''Model Properties ...''
ou faire un double-clic sur la patte de la relation.
|
|
|
|
|
|
|
|
|
|
IV-B. Nouveau MPD
|
|
NextObject ne gère pas le niveau Logique.
On saute du Modèle Conceptuel au Modèle Physique.
|
|
|
|
Il y a plusieurs manières d'obtenir 1 MPD avec NextObject.
Il est possible de commencer directement un MPD.
|
|
|
Pour commencer un nouveau Modèle Physique de Données
ouvrir le menu File,
puis /New/New PDM
ou faire un clic droit sur WorkSpace
dans l'explorateur d'objets,
puis /New/New PDM
(Physical Data Model = Modèle Physique des Données)
|
|
|
|
IV-B-1. Générer un MPD depuis un MCD
Une autre façon de faire est de dériver le MPD depuis le MCD.
|
|
|
Toutefois, avant de générer le Modèle Physique, il faut vérifier la conformité du Modèle Conceptuel.
|
|
|
|
|
|
Le cas échéant, les erreurs détectées sont affichées dans la console.
|
|
|
|
|
|
L'option de menu Generate PDM n'est accessible que lorsque le modèle a passé avec succès la validation.
|
|
|
|
|
|
|
IV-B-2. Générer un MPD par rétro-conception d'une base
Ses auteurs ne le présentent pas comme un outil de rétro-conception, il est possible malgré tout de reconstituer le MPD d'une base de données existante avec NextObject.
|
|
|
Ouvrir le menu ''File'',
puis ''New''/''New PDM''
|
|
|
|
|
|
Comme il s'agit d'un nouveau modèle, il faut commencer par configurer l'accès à la base de données contenant le schéma.
Ouvrir les propriétés du projet
Menu ''Model'',
puis ''Project Preference ...''
|
|
|
|
|
|
Dans l'onglet ''DataBase'', choisir l'éditeur de la base de donnée cible.
Renseigner les paramètres requis
puis cliquer sur le bouton ''Test JDBC Connection''
Un message confirme que la connection à la base de donnée s'effectue correctement.
Le niveau physique donne accès à des fonctions supplémentaires, qui n'apparaissent pas au niveau conceptuel.
Cliquer sur ''Import Schema''
|
|
|
|
|
|
|
|
|
|
IV-C. Générer le script de création de la base
|
|
|
|
|
Avant de générer le script de création de la base, il faut vérifier la conformité du Modèle Physique.
|
|
|
|
|
|
L'option de menu ''Generate SQL'' n'est accessible que lorsque le modèle a passé avec succès la validation.
|
|
|
|
|
|
Le script généré est consultable dans l'onglet ''SQL Viewer''.
Il tient compte des spécificités de la base de données cible
|
|
|
|
IV-D. Créer les tables dans la base de données
|
|
|
|
|
Il ne reste plus maintenant, qu'à créer le schéma dans la base de données.
|
|
|
|
|
|
Cliquer sur ''Insert SQL''
pour exécuter le script de création du schéma.
|
|
|
|
Résultat de l'exécution du script dans une base Oracle |
SQL>
SQL> -----------------------------------------------------------------------------
SQL> -- Entity0
SQL> -----------------------------------------------------------------------------
SQL> DROP TABLE Entity0 CASCADE CONSTRAINTS;
DROP TABLE Entity0 CASCADE CONSTRAINTS
*ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante
SQL> DROP SEQUENCE Entity0_SEQ;
DROP SEQUENCE Entity0_SEQ
*ERREUR Ó la ligne 1 :
ORA-02289: la séquence n'existe pas
SQL>
SQL> CREATE TABLE Entity0
2 (
3 item_0 NUMBER NOT NULL
4 );
Table créée.
SQL>
SQL> ALTER TABLE Entity0
2 ADD CONSTRAINT Entity0_PK
3 PRIMARY KEY (item_0);
Table modifiée.
SQL>
SQL> CREATE SEQUENCE Entity0_SEQ INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE NOCACHE ORDER;
Séquence créée.
|
Copyright ©2007 theLeadingEdge.
Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérets. Cette page est déposée à la SACD.
|