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