Oracle Developer

Oracle Developer PowerPoint PPT Presentation


  • 493 Views
  • Uploaded on
  • Presentation posted in: General

2. Objectifs de ce cours. Pr

Download Presentation

Oracle Developer

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


1. 1 Oracle Developer/2000 (1) Camille Salinesi CRI (bur. C1406) Université Paris 1 - Sorbonne Centre Pierre Mendes France 90, rue de Tolbiac 75013 Paris – France [email protected]

2. 2 Objectifs de ce cours Pré requis : SQL, modèle relationnel A la fin du cours, vous devrez : Savoir développer une application bdd client-serveur avec Oracle Savoir décrire et maîtriser l ’utilisation des composants de Developer/2000 (en particulier Form Builder) Savoir élaborer des applications utilisateur mettant en jeu des interactions avec des bases de données Oracle à travers des interfaces graphiques fenêtres multiples différents styles de présentation des objets de données des objets d ’interaction implémentation des règles de gestion de la base de données

3. 3 Programme du cours 1 : Introduction à Developer/2000 exécution d ’applications développées avec Form Builder utilisation de l ’environnement Form Builder principes de base pour la création d ’applications client-serveur simples 2 : Détails d ’IHM pour la création d ’applications avec Developer/2000 3 : Principes de programmation avec PL/SQL 4 : Programmation de déclencheurs avec PL/SQL 5 : Principes avancés de création d ’applications avec Developer/2000 Évaluations : exercices devoir sur table projet

4. 4 Introduction à Developer/2000 : un ensemble intégrés d’outils Gestion du projet : Project Builder ? pour accéder aux différents éléments de votre projet Translation Builder ? pour gérer les langues dans votre application Interface avec l’utilisateur (API) : Form Builder ? pour créer l ’interface graphique Reports Builder ? pour créer des documents structurés Graphics Builder ? pour créer des graphiques Interface avec la base de donnée : Procedure Builder ? pour éditer et compiler le code PL/SQL Query Builder ? pour éditer les requêtes de manipulation des données Schema Builder ? pour gérer le schéma de la base de données

5. 5 Utilisation du serveur Oracle

6. 6 Connexion à une base de données

7. 7 Le processus utilisateur S'exécute sur la machine cliente Est multiplié lorsqu'une application (par ex faite avec Developer/2000) est invoquée Est démarré lorsque des outils tq (SQL*Plus, Server Manager, Oracle Enterprise Manager, Developer/2000) son exécutés Inclue l'Interface Programme Utilisateur (UPI) Génère des appels au serveur Oracle

8. 8 Le processus Serveur S'exécute sur une machine serveur (host) Sert un seul utilisateur par processus serveur dans la configuration serveur dédié Utilise une zone de mémoire appelée PGA (Program Global Area) et retourne les résultats au client Inclue l'interface de programme Oracle (OPI) qui est utilisé pour communiquer avec le processus serveur à la demande du processus client Les appels processus sont générés par le client

9. 9 Environnement Developer/2000 : interfaces (1) Menu principal Navigateur d ’objets Éditeur de présentation Éditeur PL/SQL Éditeur de propriétés

10. 10 Environnement Developer/2000 : interfaces (2)

11. 11 Environnement Developer/2000 : interfaces (3)

12. 12 Environnement Developer/2000 : interfaces (4)

13. 13 Exemple d ’application créée avec Developer/2000

14. 14 Applications Developer/2000 Éléments-clés Fenêtre mère multi-documents : menu prédéfini barre de boutons prédéfinis fonctions-clé associées console d ’affichage Formulaires : champs modifiables labels champs calculés boutons groupes radio et cases à cocher images et diagrammes

15. 15 Fonctions dans les applications client-serveur développées avec Developer/2000 Fonctions prédéfinies : Sauvegarder ou annuler les changements Exécuter des requêtes Insérer de nouveaux tuples Supprimer des tuples existants Fonctions programmées : invoquer un éditeur ou une autre fenêtre valider les données, sauvegarder les résultats afficher le résultat d ’une requête réaliser des calculs sortir d ’un formulaire

16. 16 Exemples de fonctions fournies dans les packages de form builder Open_form, Close_Form Show_Window, Hide_Window, Open_Window, Close_Window Go_Block, First_Record, Last_Record, Next_Record, Previous_Record Create_Record, Delete_Record, Commit_Form

17. 17 Modes opératoires des applications développées avec Developer/2000 Mode requête : permet de réaliser des requêtes (avec ou sans critère de sélection) permet de compter le nombre de tuples ne permet pas : insertion, suppression, mise à jour permet la sortie de session Mode normal : permet de réaliser des requêtes sans sélection permet insertions, suppressions et mises à jour permet la validation des données (sauvegarde) ne permet pas : sortie de la session ne permet pas de réaliser des requêtes avec sélection

18. 18 Transitions entre modes opératoires lors de l ’exécution d’ applications Developer/2000

19. 19 Expression des critères de recherche dans une application utilisateur Pas de guillemets pour les chaînes de caractères et les dates ex : 110, 17/09/1992 Utiliser le symbole % pour l ’opérateur LIKE ex : %6, %clou Utiliser le symbole # pour utiliser les opérateurs SQL #BETWEEN 100 AND 200 Utiliser de préférence le format de date par défaut DD-MM-YY 17-MAR-99 (17/09/1992 devrait aussi fonctionner) Critères de recherche plus élaborés (Query where) : Query/Enter + taper « : » suivi d ’un nom de variable constitué d ’une lettre dans chaque champs intéressant + Query/Execute + taper la condition de sélection en utilisant les noms de variables précédées de « : » utiliser les opérateurs logiques et les clause ORDER BY

20. 20 Exemple d ’expression de critères de recherche élaborés

21. 21 Insérer, mettre à jour, et supprimer des tuples dans une application utilisateur

22. 22 Insérer, mettre à jour, et supprimer des tuples dans une application utilisateur Insertion : défiler jusqu ’au dernier tuple Record/Insert (ou plus vert) entrer le nouveau tuple Action/Save Mise à jour : Query/Enter entrer le critère de recherche Query/Execute se positionner sur le tuple à maj mettre à jour le tuple Action/Save Suppression : Query/Enter entrer le critère de recherche Query/Execute se positionner sur le tuple à supprimer Record/Remove (ou croix rouge) Action/Save Pour annuler l ’opération en cours : utiliser Action/ClearAll au lieu de Save Affichage des erreurs : Help/DisplayError permet d ’afficher la requête erronée ainsi que le message d ’erreur

23. 23 Travailler avec Form Builder pour créer une application utilisateur

24. 24 Pause Quelques questions : Quel type d ’application peut-on créer avec Developer2000 ? Quels seront les différents types d ’éléments à concevoir/spécifier pour pouvoir implémenter une application Developer2000 ? Quelles sont les différentes manières d ’exécuter une application développée avec Developer2000 ? Quels sont les différents modes opératoires lors de l ’exécution d ’une application Developer2000 ? Comment passe-t ’on d ’un mode opératoire à l ’autre ? Quels différents types de requête les utilisateurs pourront-ils effectuer à travers des applications développées avec Developer2000 ? Quelle pré-condition doit être impérativement vérifiée pour pouvoir sortir d ’une application Developer2000 ?

25. 25 Créer un nouveau block de données avec le Data Block Wizard (1)

26. 26 Créer un nouveau block de données avec le Data Block Wizard (2)

27. 27 Décrire la présentation avec le Layout Wizard (1)

28. 28 Décrire la présentation avec le Layout Wizard (2)

29. 29 Décrire la présentation avec le Layout Wizard (3)

30. 30 Utilisation de Form Builder concepts de base Une application Form Builder est composée de plusieurs modules de formulaires Il y a plusieurs types de modules de formulaires A chaque module de formulaire d ’une application correspond différents fichiers : menus .mmb .mmx .mmt formulaires .fmb .fmx .fmt librairies PL/SQL .pll .plx .pld librairies d ’objets .olb .olt Enregistrer : dans un fichier binaire ou dans une bdd : File/Save dans un fichier texte : File/Administration/convertFromTheMenuSystem Compiler : File/Administration/CompileFile Exécuter : Program/Run

31. 31 Concepts de construction des formulaires Blocks : regroupement d ’éléments (items) liés logiquement. Les éléments regroupés dans un block seront typiquement les colonnes d ’une même table Items : objets d ’interface permettant d ’afficher les valeurs de données aux utilisateurs. Les items sont logiquement groupés en blocks, et présentés ensembles dans des canevas Canevas : arrangements visuels d ’items provenant d ’un ou plusieurs blocks logiques. Par défaut, tous les canevas d ’un formulaire apparaissent dans une même fenêtre

32. 32 Les différents types de blocks Blocks de données : chaque block de données est associé à : une table ou une vue spécifique une procédure enregistrée une requête Blocks de contrôle : boutons permettant aux utilisateurs de réaliser des tâches t.q. initialisations, etc. Navigation entre les éléments d ’un formulaire : celle-ce se conçoit et se réalise au niveau block (interne), et non pas à travers les canevas (présentation). Chaque item a une position dans son block, et chaque block a une position dans le formulaire.

33. 33 Les différents types de blocks

34. 34 Concepts de construction des formulaires et différents types de blocks

35. 35 La hiérarchie d ’objets d ’un module de formulaire - récapitulatif Block de données : section logique d ’un module de formulaire (ex basé sur table, vue, etc) Item : élément d ’un block de données (donnée ou contrôle) Canevas : l ’aspect visuel des item dans le module de formulaire Fenêtre : présentation d ’un canevas dans le module de formulaire Cadre : arrangement d ’items d ’un même block de donnée dans un canevas Unité de programme : procédure, fonction, ou package dans un module de formulaire Déclencheur : block PL/SQL exécuté lorsqu ’un événement a lieu. Les déclencheurs peuvent être définis au niveau module de formulaire, block de données, ou item

36. 36 Gérer les objets d ’un module de formulaire

37. 37 Principes de base pour la création de modules de formulaires simples

38. 38 Créer un nouveau module de formulaire

39. 39 Créer un nouveau block de données

40. 40 Décrire la présentation Page de bienvenue Page canevas : créer un nouveau canevas Page block de donnée : choisir les éléments que vous voulez afficher Page élément : spécifier la présentation des éléments (label, taille) Page style : Formulaire : habituellement pour les blocks mono-tuple Tabulaire : habituellement pour les blocks multi-tuples Page Lignes : titre du cadre, répartition, ascenseurs

41. 41 Ajustement de la présentation avec le Layout Editor

42. 42 Créer des blocks de données reliés dans un module de formulaire Relation maître-détail : association entre blocks de données reflétant un lien de jointure ou la relation clé primaire - clé étrangère entre des tables de bdd (relation un pour plusieurs en relationnel) le block maître est basé sur la table avec la clé primaire le block détail est basé sur la table avec la clé étrangère un block détail peut être maître un block maître peut avoir plusieurs blocks détail

43. 43 Implications de la relation maître-détail Faire une requête sur le block maître déclenche immédiatement la mise à jour du block détail Il n ’est pas possible de supprimer un tuple du block maître s ’il existe des tuples correspondants dans le bloc détail L ’insertion d ’un nouveau tuple dans le bloc détail associe celui-ci au bloc maître couramment affiché Lors de la création de la relation maître-détail, une table appelée « relation » est créée. Le nom de cette table est composé du nom des deux tables maître et détail. Les caractéristiques énoncées ci-dessus sont associées à la relation; il est possible de modifier celles-ci si vous voulez que le comportement de la relation maître-détail soit différent.

44. 44 Créer un block de données détail avec le Data Block Wizard

45. 45 Tester le module produit Sauvegarder le module en cours : (i.e. sélectionné) File/Save ou icône de sauvegarde, puis choix du nom de fichier, puis choix entre l ’enregistrement dans des fichiers (.fmb) ou en bdd Compiler : (génère un .fmx) explicitement : File/Administration/CompileFile, ou implicitement : Tools/Preferences, puis « Set the Build Before Running ». Cela compile automatiquement le module de formulaire à chaque fois qu ’on l ’exécute Exécuter le module en cours : Program/RunForm ou icône d ’exécution Convertir la sauvegarde binaire en sauvegarde txt : File/Administration/Convert

46. 46 Variables d ’environnement de Developer/2000 FORMS50_PATH chemin d ’accès aux fichiers lors de l ’exécution de Form Builder REPORTS30_PATH chemin d ’accès aux fichiers lors de l ’exécution de Report Builder GRAPHICS30_PATH chemin d ’accès aux fichiers lors de l ’exécution de Graphic Builder TK25_ICON chemin d ’accès aux icônes lors de l ’exécution de tous les builders ORACLE_PATH chemin d ’accès par défaut pour tous les composants de Oracle lorsqu ’ils ne trouvent pas les fichiers recherchés Sous Windows NT, vous accéderez à ces chemins par le registre ? Utilisez ces variables plutôt que des chemins codés en durs pour créer des applications portables à travers les plates-formes et les installations

47. 47 Travaux Pratiques (1) Créez une base de données contenant les deux tables suivantes : Etudiant (NumEtud, Nom, Prenom, age) Tuteur (NumTuteur, NumEtud, Nom, Prenom) Créez un module de formulaire permettant d’accéder à la table étudiant, et populez cette table à l’aide de votre formulaire; n’hésitez pas à explorer les deux modes de fonctionnement de votre formulaire en réalisant des requêtes, en modifiant des valeurs, en supprimant des étudiants, etc. Procédez de même avec la table tuteur Réalisez un troisième formulaire permettant d’accéder à la fois aux étudiants et aux tuteurs.

48. 48 Travaux Pratiques (2) Vous vous baserez sur le schéma relationnel suivant Client (codeClient, nomClient, categorie, ville); Article (codeArticle, nomArticle, couleur, quantiteEnStock); Commande (numeroCommande, codeClient, dateCommande); DetailCommande (numeroCommande, codeArticle, quantiteCommandee); 1°) Créez un module de formulaire permettant d ’accéder aux informations de chaque client 2°) Améliorez ce module de formulaire en permettant d ’accéder aux informations sur les commandes réalisées par les clients (relation commande). Vous afficherez cinq commande pour le clients en cours 3°) Améliorez encore ce module de formulaire en permettant d ’accéder aux détails de commandes (i.e. en affichant dix des articles commandés avec la quantité commandée pour chacun d ’entre eux)

  • Login