Générer la structure de la BD

Après avoir complété et validé les détails du schéma d’implantation, il est possible de générer le squelette de code de base de données pour le système cible défini préalablement. Actuellement, Perceptory permet de générer du code de base de données pour Oracle 9i ou 10g. Le choix de la version d’Oracle souhaitée se fait au démarrage du générateur de code.

Le lancement du générateur de squelette de code se fait automatiquement lorsque le schéma est validé (cf. Schéma d’implantation, étape 3) et ne contient aucune erreur ou omission. Voici la fenêtre indiquant les différentes étapes de génération du code.

Le générateur de code procède à une étape de traitement lorsque le schéma inclut les éléments à traiter dans cette étape. Sinon, il passe à l’étape suivante.

Le générateur de code peut utiliser des informations prédéfinies dans les options du systèmes cibles pour produire automatiquement le code de cette étape ou demander des informations supplémentaires à l’usager. Par conséquent, l’usager devra suivre les instructions présentées dans les différents formulaires propres à cette étape et faire ses choix.

L’ensemble des choix de l’usager ainsi que des traitements effectués par le générateur de code seront inscrits dans le fichier des transactions (apparaissant à droite de ce formulaire). Ce fichier peut ensuite être sauvegardé et conservé avec les scripts produits par le générateur de code.

Voici les différentes étapes de génération du code:

  • Chemin d’accès du dictionnaire:
    Chemin d’accès où est stockée la base de données du modèle.
  • 1- Attribut avec géométrie et/ou multiplicité:
    Cette étape de traduction permet d’implanter les attributs avec des géométries et/ou des multiplicités. L’usager doit choisir d’implanter l’attribut dans une nouvelle table ou implanter autant de fois l’attribut que la valeur de la cardinalité maximale.
  • 2-Existence des classes et évolution spatiale des attributs:
    Cette étape de traduction permet d’implanter l’existence des classes et l’évolution spatiale des attributs. Cette étape résulte en l’implantation d’un ou plusieurs attributs ‘date’ dans la classe.
  • 3- Implantation des stéréotypes et/ou métaclasses:
    Cette étape de traduction permet d’implanter les stéréotypes et /ou métaclasses. Cette étape résulte en l’implantation d’une généralisation entre la classe stéréotype et les classes stéréotypées ou entre la métaclasse et les autres classes. L’usager doit faire un choix d’implantation.
  • 4- Implantation des relations 1,1:
    Cette étape de traduction permet d’implanter les relations 1,1. Cette étape implique la création d’une relation parent-enfant où une classe sera la classe-enfant et héritera de la clé étrangère de la classe-parent. L’usager doit identifier la classe-parent. L’option de fusionner les classes n’est pas supportée dans cette version du générateur de code.
  • 5- Implantation des relations 1,X:
    Cette étape implique la création d’une relation parent-enfant et propose deux choix d’implantation soit : la classe-enfant hérite de la clé de la classe-parent ou bien la classe-parent hérite X fois de la clé de la classe-enfant
  • 6- Implantation des généralisations:
    Cette étape propose cinq stratégies différentes d’implantation basées sur l’implantation (ou non) de la superclasse et de l’héritage (ou non) des attributs. L’usager doit faire un choix d’implantation. Des mises en garde s’afficheront si le choix d’implantation n’est pas optimal pour la généralisation en traitement.
  • 7- Définition des clés primaires:
    Cette étape permet de créer les clés primaires, à partir des informations fournies dans les options du système cible, pour les classes qui n’en ont pas au niveau conceptuel.
  • 8- Implantation des relations X,N et X,X.:
    Les relations de ce type peuvent être implantées en relation N,N ou en X relations 1,N. L’usager doit faire un choix d’implantation et le sens d’implantation dans le cas de la relation X,X
  • 9- Implantation des relation 1,N:
    Cette étape implique la création d’une relation parent-enfant où une la classe-enfant héritera de la clé de la classe-parent.
  • 10- Implantation des relations N,N.:
    L’implantation de ce type de relation résulte en la création d’une classe-relation incluant les clés des classes impliquées. L’usager doit nommer la classe résultante. Un nom par défaut est proposé suivant les informations fournies dans les options du système cible.
  • 11- Géométrie et évolution spatiale des classes.:
    La géométrie est implantée et les classes avec géométries sont nommées suivant les informations fournies dans les options du système cible. Pour le système cible Oracle, un champ de format SDO_GEOMETRY est ajouté à chaque classe ayant une géométrie.
  • 12- Implantation des domaines de valeurs.:
    Les domaines de valeurs peuvent être implantés en une seule table qui gère l’ensemble des domaines, en autant de tables qu’il y a de domaines et finalement en contraintes CHECK dans la base de données. L’usager doit faire un choix d’implantation.
  • Arret de la génération de code après chaque étape:
    Si cette option est cochée, le générateur de code effectuera une pause après l’exécution de chaque étape et permettra à l’usage de pouvoir interrompre complètement la génération de code en appuyant sur le bouton « Abort » ou bien poursuivre l’exécution des étapes en appuyant sur le bouton « Continue ». L’option contraire, laisse le générateur de code opérer jusqu’à ce qu’une opération nécessite l’intervention de l’usager. Il n’est alors pas possible d’interrompre l’exécution de la génération de code.