Tutoriel de Bases de Données Relationnelles

Tutoriel de Bases de Données Relationnelles

Accueil  > Supports pédagogiques > TP et projets > Micro projet Conception et BD/Web

Micro-projet Conception et développement d'application Oracle/Web

Mastère Internet et Systèmes Répartis

2000-2001

Introduction

Il s'agit dans ce TP d'aborder les problèmes de conception de schéma et ensuite de prototypage d'applications bases de données dans un environnement Web. La phase de conception est abordée à l'envers, c'est à dire que l'on va faire la rétro-conception d'un schéma relationnel existant et non pas concevoir un schéma conceptuel de données à partir d'une analyse des besoins.

Les outils et langages utilisés seront GEM (partie conception), SQL (définition et accès à la base de données), Java/JDBC (génération de code Javascript), Javascript et HTML (formulaires clients) et la passerelle Oracle/Web (soumission de requêtes SQL via les formulaires HTML).

Phases de développement

Le TP se déroule selon les phases suivantes :

  1. rétro-conception du schéma relationnel abstrait. Le domaine visé est celui des portails électroniques qui permettent l'accès à des ressources à partir d'une classification. Le schéma doit être générique et doit permettre de modéliser n'importe quelle classification (à partir du moment ou elle est hiérarchique) et n'importe quelle ressource (à partir du moment ou on en a une description minimale),
  2. le schéma conceptuel de type Entité-Association qui a été obtenu à l'étape précédente va être saisi dans un outil de conception qui s'appelle GEM. Cet outil offre un éditeur graphique spécialisé ainsi qu'une génération du code SQL représentant la base de données. Une fois le code SQL obtenu il va être exécuté sous Oracle via cette interface Web (en faisant un copier/coller du contenu de la fenêtre GEM dans la fenêtre de saisie de requêtes SQL de l'interface),
  3. construction de l'application Web. Celle-ci va comporter trois grandes fonctionnalités :
  1. création d'un portail. Cette fonction est restreinte à l'administrateur de l'application. Elle permet de rajouter un nouveau portail donc une nouvelle hiérarchie. Les fonctions attendues ici sont la consultation des hiérarchies existantes et l'insertion d'une nouvelle hiérarchie,
  2. ajout d'une ressource dans un portail existant. Cette fonction est offerte aux utilisateurs qui peuvent ajouter des resources sur le portail. L'ajout de ressources consiste d'une part à décrire la ressource et d'autre part à l'indexer, c'est à dire choisir quelle(s) entrée(s) de la classification correspond à la ressource,
  3. navigation dans la classification dans un but de recherche de ressources. Cette fonction est offerte à tous les utilisateurs du portail. Il s'agit de pouvoir se déplacer dans la classification et d'accéder aux ressources indexées par le nœud courant. Il faut donc supporter les fonctions de navigation dans la classification. Pour ce faire, nous allons utiliser un programme Javascript appelé Joust qui réalise cette fonction. Cependant Joust nécessite une description de la classification en Javascript qui est assez longue et pénible à faire. Pour éviter ce travail on générera automatiquement ce code à partir du contenu de la base de données. Cette génération se fera en par un programme Java utilisant l'API JDBC,
  4. interrogation des ressources sans navigation : cette fonction est offerte à tous les utilisateurs. Il s'agit de pouvoir interroger directement les ressources sans passer par une navigation. Une expression de recherche sera une conjonction ou une disjonction d'entrées de la classification que l'on aura choisies via un menu déroulant. Une fonction Javascript transformera cette suite d'entrées en une requête SQL qui sera envoyée à la passerelle Oracle/Web.

Travail à faire

Le travail se fera par groupe de 2 ou 3. Tous les groupes vont faire les phases 1 et 2, par contre pour la phase 3 chaque groupe va choisir une des 4 fonctionnalités (sachant qu'il faut que toutes les fonctionnalités soient choisies). Le but final est d'avoir à la fin un portail qui fonctionne avec toutes les fonctionnalités. Ce portail sera utilisé dans un premier temps comme portail dans le domaine des TIC pour l'INT en indexant les ressources des enseignants-chercheurs.

Schéma type pour Oracle

Quelques explications sur le schéma de la BD

Exemple de fichier html/Javascript pour Joust

Exemple de code à générer pour Joust

[fil RSS du site]
Dernière mise à jour : 03/09/2009