IUT Orsay Département informatique ACSI S2 TP6 Atelier de génie logiciel WinDesign Exercice 1 : Prise en main du logiciel Pour ce TP, vous allez utiliser le logiciel WinDesign. Ce logiciel permet notamment de créer facilement un MCD et de générer automatiquement le schéma relationnel et le script SQL de création de la base de données correspondants. Ce premier exercice vise à vous familiariser avec le logiciel. Pour cela, vous allez créer dans WinDesign le MCD correspondant à l'exemple PrintOrsay vu en cours. 1) Ouvrir le logiciel en cliquant sur l'icône WinDesign. 2) Dans le menu Fichier, cliquer sur Nouveau. 3) Choisir le module de conception de base de données DataBase. 4) Dans la fenêtre qui s'ouvre, modifier le nom du diagramme, puis cliquer sur Modèle Conceptuel de Données. Cliquer sur OK pour confirmer. Vous allez maintenant commencer à rentrer le MCD correspondant à l'exemple PrintOrsay du cours.
5) Pour créer une nouvelle entité CLIENT, cliquer sur l'icône Entité dans la barre d'outil. 6) Positionner la nouvelle entité sur le diagramme et entrer le nom de l'entité (CLIENT) dans la fenêtre qui apparait. 7) Double-cliquer sur l'entité CLIENT pour faire apparaitre la fenêtre permettant de décrire plus précisément l'entité. Cliquer sur le bouton Details pour afficher la fenêtre de description détaillée des attributs de l'entité. 8) Compléter la liste des propriétés (attributs) de l'entité CLIENT. Pour l'attribut NumClient, préciser qu'il s'agit de l'identifiant de l'entité. Cliquer sur OK pour valider (voir fenêtre page suivante). 9) Enregister votre modèle. Pour cela, choisir Enregistrer dans le menu Fichier. Le format du fichier enregistré est.mcd. Dans la suite du TP, penser à enregistrer régulièrement votre modèle.
10) Répéter ces opérations afin de créer une entité PRODUIT et une entité COMMANDE. Remarque : en cas de problème, il est possible de supprimer une entité du modèle. Pour cela, sélectionner l'entité à supprimer, puis choisir Supprimer dans le menu Editer.
11) Pour créer une association entre entités, on utilise l'icône Association de la barre d'outil. 11) Pour créer l'association passe entre CLIENT et COMMANDE, sélectionner les deux entités puis cliquer sur l'icône Association de la barre d'outil. Préciser le verbe correspondant à l'association passe dans la fenêtre qui s'ouvre. 12) Par défaut, WinDesign met les cardinalités des associations à 0,n. Pour modifier la cardinalité de l'association passe du côté de l'entité COMMANDE, double-cliquer sur le lien entre l'entité COMMANDE et la bulle passe et choisir la cardinalité 1,1' dans la fenêtre qui s'ouvre. 13) Répéter ces opérations pour créer l'association contient entre COMMANDE et PRODUIT. Remarque : en cas de problème, il est possible de supprimer une association du modèle. Pour cela, sélectionner la bulle représentant l'association à supprimer, puis choisir Supprimer dans le menu Editer. 14) Il ne reste plus qu'à préciser l'attribut porté sur l'association contient. Pour cela, double-
cliquer sur la bulle représentant l'association contient, puis cliquer sur le bouton Détails dans la fenêtre qui s'ouvre. Préciser le nom de l'attribut porté (QteCmde) dans la liste des propriétés de l'association. 15) Enregister le MCD final. On obtient le MCD suivant : Il est possible d'exporter ce MCD sous forme d'image (par exemple pour l'intégrer à votre compte-rendu de TP). Pour cela, choisir Exporter image sous-modèle dans le menu Editer puis choisir l'emplacement où vous voulez enregistrer l'image. WinDesign crée un fichier.jpeg portant le même nom que le diagramme MCD. Vous allez maintenant générer automatiquement le schéma relationnel correspondant à ce MCD. 16) Pour cela, choisir Générer modèle logique dans le menu Modèle. Cliquer sur le bouton SGBD, puis sélectionner comme système de gestion de base de données Oracle 10g.
WinDesign génère le schéma relationnel ( modèle logique relationnel ) correspondant au MCD saisi. Les attributs constituant la clé primaire de chaque table sont indiqués dans la partie PK_nom de la table (PK = primary key). Les clés étrangères sont indiquées par le symbole. 17) Enregisrer ce modèle logique relationnel. Aller dans le menu Fichier, puis Enregistrer. Le fichier enregistré a comme format.mlr. Enfin, il est possible de générer automatiquement le script de création de la base de données correspondant à ce schéma relationnel. 18) Dans le menu Base de données, cliquer sur Générer script. Cliquer sur OK dans la fenêtre de contrôle de la génération du script, puis sur le bouton Voir script de la fenêtre de fin de génération du script SQL. Le script généré contient : des requêtes de suppression de tables (DROP TABLE) afin de supprimer des tables de même nom que les tables à créer qui existeraient déjà éventuellement dans le SGBD. une requête de création de la base de données (CREATE DATABASE). des requêtes de création de tables (CREATE TABLE) et de modification de tables (ALTER TABLE) pour l'ajout des contraintes d'intégrité référentielle. des requêtes de création d'index pour les tables crées (CREATE INDEX). Dans une base de données, les index sont utilisés par le SGBD afin de retrouver plus rapidement les informations dont il a besoin. Cela permet notamment d'améliorer les performances du SGBD
Exercice 2 La fédération des réserves naturelles du département des Pyrénées Orientales a pour but de protéger le patrimoine naturel de zones délimitées par les collectivités locales que l'on appelle réserves naturelles. On s'intéresse ici à la description des réserves et à la gestion des populations animales (c'est-à-dire de la faune) des réserves. A - Description des réserves Une réserve est située sur le territoire d'une ou de plusieurs communes. Il arrive, que sur le territoire d'une commune, il y ait plusieurs réserves. Chaque réserve possède un nom (par exemple Py, Masssane, Montet...). Une réserve s'étend sur un seul habitat naturel (par exemple : zone littorale, forêt, habitat rocheux, alpage d'altitude...). Pour chaque réserve, on enregistre sa catégorie d'habitat et un commentaire descriptif. Chaque réserve est divisée en carrés numérotés de côté 2km. Cette division est notamment utilisée afin de situer précisément les animaux chassés. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 La figure 1 montre un exemple du découpage en carrés de la réserve de la forêt de Massane. Il est à noter que les carrés sont parfois incomplets et que la partie complémentaire située éventuellement dans une autre réserve des Pyrénées Orientales aura un autre numéro. C'est pourquoi on enregistre dans la base de données la superficie exacte de chaque carré. B - Gestion de la faune Figure 1: Description des carrés de la réserve de la forêt de Massane La base de données doit également permettre de gérer la faune présente dans les différentes réserves de la fédération et de contrôler la chasse dans ces réserves. On répertorie ainsi pour chaque réserve la liste des espèces animales présentes. De plus, on sait quelle espèce animale est prédatrice de quelle(s) autre(s) espèce(s) et réciproquement. Par exemple, on sait que l'aigle royal se nourrit de jeunes chamois, de lièvres et de marmottes, et que la marmotte a également pour prédateur le lynx et le renard. La nourriture des animaux non carnivores comme la marmotte est en dehors de notre sujet.
La chasse n'est pas interdite sur les réserves mais sévèrement contrôlée. Le préfet des Pyrénées Orientales décide ainsi chaque année : d'une période d'ouverture de la chasse (la même pour toutes les espèces et toutes les réserves), d'une liste d'espèces autorisées à la chasse sur l'ensemble des réserves, du nombre global d'individus adultes à chasser par espèce sur l'ensemble des réserves. Un chasseur est autorisé à chasser sur n'importe quelle réserve des Pyrénées Orientales s'il est titulaire d'un permis de chasse et d'une autorisation de chasser sur les réserves des Pyrénées Orientales, tous deux valides pour l'année en cours. On conserve les coordoonnées des chasseurs d'une année sur l'autre. Pour chacune de ses sorties de chasse, un chasseur doit déclarer au bureau de la réserve dans laquelle il a chassé la date de sa sortie ainsi que le nombre d'animaux tués de chaque espèce par carré de réserve. Un chasseur ne peut effectuer qu'une seule sortie par jour. Chaque semaine, le préfet reçoit un récapitulatif du nombre d'animaux tués par espèce sur l'ensemble des réserves de Pyrénées Orientales depuis le début de l'année civile en cours. Il peut ainsi décider d'interdire la chasse de l'espèce en question pour le reste de l'année en cours si le quota fixé pour l'année a été atteint. Travail à faire A la fin du TP, vous devrez fournir un compte-rendu contenant vos réponses pour l'exercice 2. Vous utiliserez le logiciel WinDesign pour présenter vos MCD et générer automatiquement les SR qui en découlent. 1) Donner le MCD correspondant à la partie A du sujet (description des réserves) et générer le schéma relationnel associé. Générer ensuite le script SQL de création de la base de données correspondant. 2) On s'intéresse à la gestion de la faune sur une seule année. Compléter le MCD de la partie A et générer le schéma relationnel associé. 3) On s'intéresse à la gestion de la faune sur plusieurs années. Modifier le MCD établi à la question 2 et générer le schéma relationnel associé. 4) Donner un extrait du dictionnaire des données contenant exactement un paramètre, une rubrique calculée et deux attributs non triviaux.
COMPLEMENTS SUR LE LOGICIEL WINDESIGN 1) Identification relative Il est possible de définir une identification relative avec WinDesign. Ex : identification relative d'une salle du batiment I de l'iut par rapport à l'étage où elle se situe Pour cela, il suffit de créer une association est située dans entre ETAGE et SALLE et de modifier la cardinalité de l'association du côté de SALLE en précisant qu'il s'agit d'un lien identifiant. 2) Association réflexive Ex : un salarié encadre plusieurs autres salariés (en tant que chef). Pour créer une association réflexive sur une entité : 1) Créer l'entité SALARIE sur laquelle porte l'association réflexive. 2) Sélectionner l'entité SALARIE et créer l'association réflexive encadre. Pour le moment, il n'y a qu'un seul lien entre l'entité et l'association.
3) Ajouter un lien formel entre l'entité SALARIE et la bulle représentant l'association encadre. Pour cela, cliquer sur l'icône lien formel et créer le lien en cliquant sur l'entité puis sur l'association. Un deuxième lien avec comme cardinalité 0,n apparait. 4) Cliquer sur chaque lien pour modifier les cardinalités si besoin. Préciser le rôle de chaque occurence dans l'association ( chef et subordonné ).