TP 6 - LRI

publicité
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
4
8
13
2
5
3
6
7
9
10
11
12
14
15
16
17
Figure 1: Description des carrés de la réserve de la forêt de
Massane
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
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é”).
Téléchargement