Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Developpez.com - Merise
X

Choisissez d'abord la catégorieensuite la rubrique :


Créer une base de données avec Devaki NextObject

Date 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 :
  1. Une barre d'outils
  2. L'explorateur d'objets
  3. L'espace de travail
  4. 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.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com