PARTIE I : L`environnement d`Oracle - Formation continue 2004-2005

DESS IGSI Formation continue
INGENIERIE ET GESTION DES SYSTEMES D'INFORMATION
P.-J. Charrel & J.-M. Thévenin, Université Toulouse 1, DESS IGSI Formation continue
Bases de données
PARTIE I : L’environnement d’Oracle ................................................................................... 3
TD 2 ................... Traduction de règles de gestion à l'aide de déclencheurs Bases de Données
3
Objectifs ..............................................................................................................................................3
Environnement ...................................................................................................................................3
Actions ................................................................................................................................................3
PARTIE II : Développement d’applications clientes avec Developper 2000 ......................... 7
TD 3 ................................................................ Le concept de formulaire dans Developer 2000
7
1 Rappel : Les trois principaux objets d’un module ......................................................................7
Bloc (Block) ................................................................................................................................................... 7
Elément (Item) ............................................................................................................................................... 7
Canevas (Canvas) ........................................................................................................................................... 7
2 Création d'un formulaire basique .................................................................................................8
3 Création d’un formulaire comportant un sous formulaire ........................................................9
4 Exercice ..........................................................................................................................................10
TD 4 .............. Déclencheurs d'applications et listes de valeurs Création de boutons et de
déclencheurs associés écrits en PL/SQL .......................................................................................... 12
1 Rappel : la gestion des clés étrangères ........................................................................................12
2. Exercice 1 : création d’un formulaire exploitant une LOV .....................................................12
Action 1 : ..................................................................................................................................................... 12
Action 2 : ..................................................................................................................................................... 13
Action 3 : ..................................................................................................................................................... 14
3. Exercice 2 : améliorer l'utilisation d'une LOV .........................................................................14
4. Rappel : Les déclencheurs (triggers) .........................................................................................15
Exemple : Contrôler l’affichage d’une LOV dans un formulaire ................................................................ 16
5. Exercice 3 : gestion de l’affichage automatique d’une LOV ...................................................16
Solution 1 : ................................................................................................................................................... 16
Solution 2 : ................................................................................................................................................... 16
Solution 3 : ................................................................................................................................................... 17
6. Exercice 4 : gestion de LOV dynamiques ..................................................................................17
TD 5 .............. Synchronisations entre les Blocs de données (FORMS) et la Base de Données
19
Rappel : notion de Bloc basé / non basé .........................................................................................19
1 Remplir le tableau d’un Bloc avec des données stockées dans la Base de données .................................. 19
2 Modifier la Base de données via le tableau d’un Bloc .............................................................................. 20
Exercice I : Contrôler l’affichage des valeurs dans un bloc ........................................................20
Exercice II : Création d’un bloc non basé avec les boutons Valider et Annuler .......................21
Execercie III : Afficher des données calculées dans un Elément non basé ................................22
Solution 1 : ................................................................................................................................................... 22
P.-J. Charrel & J.-M. Thévenin, Université Toulouse 1, DESS IGSI Formation Continue
2
Solution 2 : ................................................................................................................................................... 23
Exercice IV : Sélectionner dynamiquement les éléments affichés dans un Bloc .......................23
Exercice V : Utilisation d'alertes ....................................................................................................24
Exercice VI : Gestion d’une contrainte d’intégrité au niveau de l’application .........................24
Exercice VII : création d’une contrainte sur un item ..................................................................26
Exercice VIII : question de cours ...................................................................................................26
TD 6 ... Gestion spécifique des blocs maître/détail lorsqu'il n'y a pas de jointure directe
entre les blocs. Gestion du remplissage des blocs détails à l'aide de déclencheurs écrits en
PL/SQL .............................................................................................................................................. 27
I Création d’un bloc non basé affichant des données ...................................................................27
II Ajout d'éléments calculés ............................................................................................................30
P.-J. Charrel & J.-M. Thévenin, Université Toulouse 1, DESS IGSI Formation Continue
3
PARTIE I : L’environnement d’Oracle
TD 2 Traduction de règles de gestion à l'aide de
déclencheurs Bases de Données
Objectifs
Pratique du langage PL/SQL
Conception de déclencheurs Bases de Données
Environnement
Voici le schéma Oracle simplifié de la base de données relatif à la Coupe du Monde de football
1998, modifié :
EQUIPES ( NE, NATIONALITE, PALMARES )
JOUEURS ( NJ, NOM, PRENOM, POSITION, MAILLOT, NE, NB_MATCH_EXPULSE
)
MATCHS ( NM, LIEU, DATE_R, NE_ RECEVANTE, NE_DEPLACANTE, ENJEU,
SCORE_RECEVANTE, SCORE_ DEPLACANTE,
SCORE_VALIDE)
PARTICIPANTS (NJ, NM, NB_BUTS, CARTON_JAUNE, CARTON_ROUGE )
Règles de gestion
Lorsqu'un joueur obtient 2 cartons jaunes au cours d'un match, il reçoit un carton rouge.
Lorsqu'un joueur reçoit un carton rouge, il est expulsé pour les deux matchs à venir.
Evidemment, un joueur expulsé ne doit pas pouvoir être sélectionné pour participer à un match.
Afin de faire respecter ces règles, les deux attributs suivants ont été rajoutés respectivement
dans les tables JOUEURS et MATCHS :
NB_MATCH_EXPULSE indique à tout moment pour combien de matchs le joueur est encore
expulsé depuis le dernier match effectivement joué (le score est validé) par sont équipe.
SCORE_VALIDE vaut 1 si le match a été effectivement joué.
Actions
Proposez les déclencheurs nécessaires pour faire respecter ces règles de gestion.
1. Créez sous votre compte votre propre base de donnée à l'image du schéma ci-dessus.
2. Utilisez le Schema Manager pour créer vos déclencheurs.
P.-J. Charrel & J.-M. Thévenin, Université Toulouse 1, DESS IGSI Formation Continue
4
Nous vous conseillons d'exécuter la requête SQL générée (create or replace trigger) sous le
Worksheet pour détecter les éventuelles erreurs de syntaxe.
P.-J. Charrel & J.-M. Thévenin, Université Toulouse 1, DESS IGSI Formation Continue
5
Solution
Action 3.1 :
Il faut créer quatre déclencheurs.
Le premier est associé à la table PARTICIPANTS sur mise à jour du nombre de cartons
jaunes. Si ce nombre atteint 2, le nombre de cartons rouges est mis à 1.
Le deuxième déclencheur est associé à la table PARTICIPANTS sur mise à jour du nombre de
cartons rouges. Si ce nombre atteint 1, l'attribut NB_MATCH_EXPULSE de la table JOUEURS est
mis à 3 pour le joueur en question.
Le troisième déclencheurs est associé à la table MATCHS. Lorsque l'attribut
SCORE_VALIDE prend la valeur 1, on décrémente de 1 l'attribut NB_MATCH_EXPULSE pour
tous les joueurs expulsés des deux équipes participantes.
Le quatrième déclencheurs est associé à la table PARTICIPANTS. Lorsque l'on tente d'insérer
une ligne dans cette table, l'insertion est refusée si le joueur en question est expulsé.
1 / 32 100%