create table user

Transcription

create table user
Clément MILVILLE
Edouard SIMON
Groupe IP3.
2007-2008
Projet BDD
La bourse de l’IUT.
La bourse de l'I.U.T
1
Clément MILVILLE
Edouard SIMON
Remerciements:
Nous tenons à remercier tout particulièrement notre tuteur M. Jean-Marie THIBAUT
pour son aide, ses conseils, ses avis et sa disponibilité tout au long de la réalisation de ce
projet.
Merci également à M. Philippe MATHIEU pour ses réponses pertinentes à nos
questions sur le sujet mais surtout pour avoir choisi ce sujet qui a été très intéressant.
La bourse de l'I.U.T
2
Clément MILVILLE
Edouard SIMON
Présentation du projet :
En cette dernière année de D.U.T nous avons eu à mettre en pratique nos connaissances et nos
compétences en matière de base de données afin de réaliser un projet de fin d’année.
Le but de notre projet était de mettre en place un site internet permettant de gérer un système
de bourse d’information. Pour se faire nous avons utilisé les servlets du langage Java avec
l'utilisation d'une base de données Access.
Le système de bourse est appliqué à des marchés. Un marché est créé, à partir de ce
moment les différents participants peuvent proposer des achats ou des ventes de bons. Une
fois la date de fin du marché atteinte les différentes personnes qui ont achetés des bons
gagnants se retrouvent crédités de 100€ multiplié par le nombre de bon possédé.
La bourse de l'I.U.T
3
Clément MILVILLE
Edouard SIMON
MCD
La bourse de l'I.U.T
4
Clément MILVILLE
Edouard SIMON
Script SQL de création des tables
et
descriptions des champs
create table personnes
(
login char(20), Pseudonyme de l’utilisateur
mdp char(20), Mot de passe de l’utilisateur
role char(1), Prend une valeur différente suivant le rôle de l’utilisateur
credit integer, Solde du compte de l’utilisateur
nom char(20), Nom de l’utilisateur
prenom char(20), Prénom de l’utilisateur
constraint pk_personnes primary key(login)
constraint fk_personnes foreign key(role) references role(numrole)
);
create table bons
(
numbons integer, Numero d’indentification du bon
nummarche integer, Numero d’indentification du marché auquel correspond le bon
login char(20), Pseudonyme de l’utilisateur possédant le ou les bons
sens char(1), Sens du bon (0= Pour, 1=Contre)
alias char(10), Nom court du marché auquel correspond le bon
quantite integer, Nombre de bon possédé
constraint pk_bons primary key(numbons)
constraint fk_bons1 foreign key(nummarche) references marche(nummarche)
constraint fk_bons2 foreign key(login) references personnes(login)
);
create table marche
(
nmmarche integer, Numero d’indentification du marché
alias char(20), Nom court du marché
texte char(50), Information traité sur ce marché
datedefin date, Date de clôture du marché
login char(20), Pseudonyme de l’utilisateur
inverse char(50), Information inverse à texte
constraint pk_marche primary key(numbons)
constraint fk_marche foreign key(login) references personnes(login)
)
La bourse de l'I.U.T
5
Clément MILVILLE
Edouard SIMON
create table ordres
(
numordre integer, Numero d’indentification de l’ordre
nummarche integer, Numero d’indentification du marché auquel correspond l’ordre
login char(20), Pseudonyme de l’utilisateur proposant l’ordre
sens char(1), Sens de l’ordre (0= Pour, 1=Contre)
alias char(20), Nom court du marché auquel correspond l’ordre
quantite integer, Quantité de bon proposé ou demandé
prix integer, Prix unitaire auquel l’utilisateur est prêt à acheter ou vendre les bons
type char(5), Type d’ordre (Achat ou vente)
direct char(1), Variable utilisée pour savoir si l’ordre est celui demandé directement
ou celui issu d’une demande.
constraint pk_ordres primary key(numordre)
constraint fk_ordres1 foreign key(login) references personnes(login)
constraint fk_ordres2 foreign key(nummarche) references marche(nummarche)
);
create table roles
(
numrole integer, Numero d’indentification du role
description char(10), Description du role
constraint pk_roles primary key(numrole)
)
La bourse de l'I.U.T
6
Clément MILVILLE
Edouard SIMON
Difficultés rencontrées et solutions choisies
Ce projet ne fut pas des plus simples. En effet, dès les premières séances nous avons
eu un problème pour ce qui est de la mise en page.
Nous avons dû trouver une solution afin d’éviter de dupliquer du code et pour que la
présentation de nos pages reste la même. Pour remédier à ce problème nous avons
donc effectué une classe Design qui va lire dans des fichiers le code HTML
correspondant à l’ensemble de la présentation comme par exemple l’entête et le pied
de page.
Nous avons également rencontré une difficulté en ce qui est de la gestion des sessions.
Effectivement il fallait trouver une solution afin de garder la connexion de l’utilisateur
active lorsqu’il changer de page. Pour remédier à ce problème nous avons choisi
d’utiliser les méthodes suivantes :
On commence par définir une session dans la page de connexion puis on définis des
variables attributs qui pourront être récupérer dans les pages suivantes :
HttpSession session = req.getSession(true);
session.setAttribute("login",login);
session.setAttribute("pwd",pwd);
Dans les fichiers ayant besoin des informations de connexions on récupère ces même
variable de la façon suivante :
session.getAttribute("login") ;
session.getAttribute("pwd") ;
Outre ces difficultés dues au manque de connaissance en ce qui concerne les Servlet
java, nous avons rencontré un problème afin de créer des bons, l’algorithme nécessaire
à la gestion des ordres et des bons est très complexe, c’est pourquoi malgré beaucoup
de travail nous n’avons pas réussi à le rendre complément fonctionnel.
La bourse de l'I.U.T
7
Clément MILVILLE
Edouard SIMON
Améliorations possibles
Plusieurs de nos pages ne sont pas entièrement fonctionnelles.
Afin d'améliorer le fonctionnement des marchés la page de clôture de marché ne
remet pas a zéro le compte de la banque.
Avec l'utilisation d'un CSS il existe la possibilité d'installer plusieurs design
différents, nous n'en avons implémenter qu'un seul.
Pour l'inscription d'un nouveau participant nous ne demandons comme champs
de saisies que le login et le mot de passe sans confirmation. Plusieurs autres
informations auraient pu être demander comme par exemple l'adresse e-mail l'adresse
ou autres, et surtout la confirmation du mot de passe pour être sur que l'utilisateur ne
s'est pas trompé.
Nous n'avons utiliser qu'un seul SGBD : Access. Une amélioration possible est
de faire en sorte de pouvoir être compatible avec d'autres SGBD tel que PostGreSQL.
La bourse de l'I.U.T
8
Clément MILVILLE
Edouard SIMON
Intérêts personnels
Ce projet nous à beaucoup apporter en ce qui concerne les bases de données, en
particulier l’intégration du langage SQL au langage Java.
De plus il nous à permis de mettre en pratique nos connaissances en langage HTML
acquises durant notre première année de D.U.T.
Durant cette période de travail nous avons du également nous organiser pour travailler
en binôme de façon à rendre notre travail plus rapide et surtout efficace !
La bourse de l'I.U.T
9