Vous êtes sur la page 1sur 25

Ecole Suprieure de la Statistique et de lAnalyse de lInformation

Gestion des lections de lAssemble constituante

Elabor par :

Sommaire :
I. II. III. IV. V. VI. VII. VIII. IX. X. XI.

Introduction Dfinitions Prsentation Modle conceptuel de donnes (MCD) Model physique des donnes(MPD) Model relationnel des donnes(MLD) Implantation sur SGBD Gestion de la base de donnes REQUETES SQL Prsentations des Interfaces graphiques Conclusion

I.

Introduction :

Afin de mettre en pratique les connaissances acquises durant la formation, nous avons eu loccasion dune part de dvelopper une application avec les logiciels power AMC Designer Oracle 10g et Netbeans qui consiste la gestion des lections en se procurant et stockant dans une base de donnes les informations et les donns de llection afin dtablir et de rendre les choses plus clairs pour les citoyens , et dautre part de traiter une analyse dtaille (cd : Modle conceptuel de donnes, module relationnel de donnes) de lexistant pour rpondre aux besoins de notre application.

II.

Dfinitions :
SGBD (System de Gestion de Base de Donnes) :
Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physique qui facilite la gestion et la manipulation de donnes .

Objectifs de SGBD :
Plus besoin de travailler directement sur les fichiers physiques (tels quils sont enregistrs sur disque). Un SGBD nous permet de dcrire les donnes et les liens entre elles dune faon logique sans se soucier du comment cela va se faire physiquement dans les fichiers. On parle alors d image logique de la base de donnes, (ou aussi description logique ou conceptuelle ou encore de schma logique). Ce schma est dcrit dans un modle de donnes par exemple le modle de tables, appel le modle relationnel. Faciliter la manipulation en travaillant directement sur le schma logique. On peut insrer, supprimer, modifier des donnes directement sur limage logique. Le SGBD va soccuper de faire le travail sur les fichiers physiques Permettre lajout des contraintes permettant davoir tout instant des donnes cohrentes par exemple lge dune personne suprieur zro, salaire suprieur zro, etc. Ds que lon essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse
3

Efficacit des Accs (Temps de reponse et debit global) .

Fonctions dun SGBD : o Description des donnes : codification structuration, grce Langage de Description de Donnes (LDD) o Manipulation et restitution des donnes (insertion, mise jour, interrogation) mise en uvre laide dun Langage de Manipulation de Donnes (LMD). S.Q.L (Structured Query Language) : Langage standard. o Contrle (partage, intgrit, confidentialit, scurit). LANGAGE SQL (STRUCTURED QUERY LANGUAGE) Langage relationnel commercial mettant en jeu, pour la consultation, une combinaison de lalgbre relationnelle et du calcul relationnel La norme SQL : 1970 : article de E : F : CODD A Relational model for large Data Banks ACM vol 13, No 6, octobre 1970 prsentant la thorie des bases de donnes relationnelle IBM system R, SEQUEL Barkley INGRESS, QUEL 1980 : SEQUEL enrichi et amlior, a donn lieu SQL : langage utilis par les SGBD SQL/DS, DB2 1986 : norme SQL 86 prpare par le comit (X3H2) de lANSI, adopte galement par ISO et par X/open en 1987. 1989 : ANSI publie une extension de la norme sous le nom SQL 89.

III.

Prsentation :
Prsentation gnrale :

Aprs la rvolution de la dignit qui a surpris tout le monde le peuple Tunisien a enfin arrach sa libert et a dj commenc rver de vivre dans une Tunisie de droits et de libert ,une Tunisie dmocratique et grce aux deux sit-in Kasbah 1 et 2 le gouvernement a accept les revendications populaires qui sagissent de la dissolution de la chambres des dputs, de la chambre des conseillers et le blocage de lancienne constitution qui sera remplace par une nouvelle labore par une assemble constituante lue par le peuple . Pour que cette lection passe dans un environnement dmocratique le prsident de la Rpublique par intrim, Mr Fouad Mebaza a donn lordre de fondation dune instance appel Haute Instance pour la ralisation des objectifs de la rvolution, de la rforme politique et de la transition dmocratique et qui est prsid par Mr IYadh Ben achour qui a son tour a choisit 155 membres ces derniers sont les reprsentants de 12 partis et de 18 instances, organisations et associations de la socit civile, en plus de personnalits nationales et de reprsentants des rgions et des familles des martyrs de la rvolution du 14 janvier.

Position du problme :
Chaque Tunisien qui a plus que 23 ans peut poser sa candidature aux lections. Pour poser sa candidature aux lections. Le candidat, qui est soit reprsentant dun seul parti soit indpendant et qui est caractris par son numro de carte didentit son nom et prnom, doit avoir un programme lectoral dfini par un numro et un libell. Les partis, identifis par un code un nom et le nombre de leurs adhrents, peuvent participer avec plusieurs candidats (le nombre sera fix ultrieurement) chaque parti contient plusieurs adhrents qui sont des lecteurs, un lecteur qui est identifi par son numro de carte didentit et son nom et prnom ne peut voter que pour un seul candidat ( une heure prcise). La haute instance qui est dfini par le nom du son prsident et les nombre des membres, supervise llection indirectement car cest elle qui nomme les contrleurs ces contrleurs admettant un code, un nom et prnom et une fonction sont soit des juges Tunisiens identifis par le numro de la carte didentit soit des trangers identifis par leurs nationalits. Ces contrleurs ont comme rles : la supervision des bureaux lectoraux (dfinies par un numro et le nom de la communaut) par disperss sur tout le pays un contrleur peut superviser dans sa tourn plusieurs bureaux et les bureaux sont superviss par un ou plusieurs contrleurs . les contrleurs surveillent aussi les partis et leurs activit durant la priode de campagne lectorale, mais le rle le plus sensible reste le contrle des rsultats qui sont contrls par plusieurs contrleurs. Chaque candidat reoit son rsultat (identifi par un code et le nombre des voix de chaque candidat) le lendemain des lections.

IV.

Modle conceptuel de donnes (MCD) :


prog electorale num_prog <pi> Entier <O> libell Caractre (10) Identifiant_1 <pi> ... 1,n avoir Modle Conceptuel de Donnes Modle : Gestion des lections Package : Diagramme : Diagramme_1 Auteur : Ammar Dhia elhak Date: 16/05/2011 Version:

voter pour heure Heure electeur cin_e <pi> Entier long <O> nom_e Caractre (20) prenom_e Caractre (10) Identifiant_1 <pi> ... 0,1 1,1 0,n candidat cin_c <pi> Entier <O> nom_c Caractre (20) prnom_c Caractre (20) surveiller Identifiant_1 <pi> ... 0,1 0,1

representer

0,n haute instance nom_instance <pi> Caractre (20) <O> nbre_adh Entier Identifiant_1 <pi> ... recevoir 1,n adherer 1,n 0,1 1,n parti code_p <pi> Entier <O> nom-p Caractre (20) nbre_adherents Entier Identifiant_1 <pi> ...

nommer

1,1

1,n bureau d'election controleur superviser 1,n 1,n num_b <pi> Entier <O> communaut Caractre (20) Identifiant_1 <pi> ...

controler

1,1

code_cr <pi> Entier <O> nom_cr Caractre (20) prenom_cr Caractre (20) fonction_cr Caractre (20) Identifiant_1 <pi> ...

1,1

1,n resultat cde_r <pi> Entier <O> nbre_voix Entier Identifiant_1 <pi> ...

Heritage_1

etranger nationalit Caractre (20) <O>

Tunisien num_cin Entier <O>

V.

Model physique des donnes (MPD) :


prog electorale num_prog INTEGER <pk> libell CHAR(10)

electeur cin_e code_p cin_c nom_e prenom_e heure ... INTEGER <pk> INTEGER <fk2> INTEGER <fk1> CHAR(20) CHAR(10) DATE candidat cin_c cde_r code_p num_prog nom_c prnom_c ... INTEGER INTEGER INTEGER INTEGER CHAR(20) CHAR(20) <pk> <fk3> <fk1> <fk2>

surveiller code_p INTEGER <pk,fk1> code_cr INTEGER <pk,fk2>

haute instance nom_instance CHAR(20) <pk> nbre_adh INTEGER parti code_p INTEGER <pk> nom-p CHAR(20) nbre_adherents INTEGER ...

controleur code_cr nom_instance cde_r nom_cr prenom_cr fonction_cr ... resultat cde_r INTEGER <pk> cin_c INTEGER <fk> nbre_voix INTEGER ... etranger code_cr nom_instance cde_r nom_cr prenom_cr fonction_cr nationalit ... INTEGER <pk,fk> CHAR(20) INTEGER CHAR(20) CHAR(20) CHAR(20) CHAR(20) Tunisien code_cr nom_instance cde_r nom_cr prenom_cr fonction_cr num_cin ... INTEGER <pk,fk> CHAR(20) INTEGER CHAR(20) CHAR(20) CHAR(20) INTEGER INTEGER <pk> CHAR(20) <fk2> INTEGER <fk1> CHAR(20) CHAR(20) CHAR(20) superviser code_cr INTEGER <pk,fk1> num_b INTEGER <pk,fk2> bureau d'election num_b INTEGER <pk> communaut CHAR(20)

VI.

Model relationnel des donnes (MLD) :


Electeur (cin_e,nom_e,prenom_e, #code-r, #code_p) Prog lectorale (num_prog , libell) Candidat (cin_c,nom_c,prnom_c, #num_prog, #code-r, #code_p ) Bureau delection(num_B, communaut) Haute instance (nom_instance ,nbre_ adhrents ) Parti (code_P , nom_P , nbre_ adhrents) Controleur (Code_cr , nom_cr, prenom_cr , fonction_cr, # nom_instance) Tunisien (Code_cr , nom_cr, prenom_cr , fonction_cr, num_cin , # nom_instance) Etranger (Code_cr , nom_cr, prenom_cr , fonction_cr, num_passeport , # nom_instance) Rsultat (Code_r , nbre_voix , #cin_c , #code_cr) Superviser ( code_cr, num_B) Surveiller (code_P, code_cr)

VII.

Implantation sur SGBD :


Etapes dinstallation dOracle 10g :
1. Lancement de linstallation :

2. Slection de dossier de destination (par default C:\oracleexe )

10

3.saisie de mot de passe :


ce mot de passe va tre utilis ultrierement pour connecter

11

4.Dbut de linstallation :

5.Fin de linstallation : oracle est prt pour etre utilis

12

VIII.

Gestion de la base de donnes :


Importation des tables :
Pour importer les tables il faut quon tlcharge le script gnr par power amc designer sur Oracle 10g ,pour accomplir cette tache il suffit daccder au scripts SQL puis de tlcharger le Script (comme il est montr dans les deux figures suivantes)

13

Aprs le tlchargement on excute le script

Maintenant notre base est implant et pour vrifier on peut accder au Navigateur dobjet o on trouve tous les tables .

On commence donc remplir les tableaux par les donnes et pour accomplir cette tache on peut soit inserer les donnes directement (comme il est montr dans la figure i-dessous) soit en tlechargeant des tables excels qui portent les donnes volues (Page d'accueil>Utilitaires>Charger/Dcharger les donnes>Charger>Charger les donnes)

14

15

16

IX.

REQUETES SQL :
1- on veut obtenir Le nom, prnom et le nombre de voix obtenues par les candidats de chaque parti :

Dans cette partie on va utiliser le langage SQL pour tirer des informations partir de la base de donnes en envoyant des requtes pour que le serveur nous renvoie les donnes rsultats :

Code SQL :
SELECT NOM_P, NOM_C,PRENOM_C,NBRE_VOIX FROM PARTI P,RESULTAT R,CANDIDAT CA WHERE P.CODE_P=CA.CODE_P AND R.CIN_C= CA.CIN_C ORDER BY NOM_P DESC ;

17

2- On veut obtenir le nom, prnom et le nombre de voix obtenues par les candidats du parti de nom CPR ordonn selon le nombre de voix : Code SQl :
SELECT NOM_P, NOM_C, PRENOM_C,NBRE_VOIX FROM PARTI P, RESULTAT R,CANDIDAT CA WHERE P.CODE_P=CA.CODE_P AND R.CIN_C= CA.CIN_C AND NOM_P='CPR' ORDER BY NBRE_VOIX DESC;

3- Pour chaque numro et nom de parti le plus grand et le plus mauvais nombre de voix obtenues pour chaque parti : Code SQL :

18

SELECT NOM_P, NOM_C, min(NBRE_VOIX), max(NBRE_VOIX) FROM PARTI P, CANDIDAT CA, RESULTAT R WHERE P.CODE_P=CA.CODE_P AND R.CIN_C=CA.CIN_C GROUP BY P.NOM_P, CA.NOM_C ORDER BY NOM_P DESC ;

19

4- On veut accder la liste des lecteurs qui ne sont pas adhrs aucun parti : Code SQL :
SELECT NOM_E , PRENOM FROM ELECTEUR WHERE CODE_P IS NULL

20

5- On veut savoir le nombre de voix obtenu par chaque parti : Code SQL :
SELECT NOM_P, SUM(NBRE_VOIX) FROM PARTI P, RESULTAT R, CANDIDAT CA WHERE P.CODE_P=CA.CODE_P AND R.CIN_C= CA.CIN_C GROUP BY NOM_P ORDER BY NOM_P;

6- On veut savoir le pourcentage de voix obtenu par chaque candidat Code SQL :
SELECT NOM_P, NOM_C, Prenom_C, TRUNC ((NBRE_VOIX)/(SELECT SUM(NBRE_VOIX) FROM RESULTAT R),4)*100|| '%' AS POURCENTAGE FROM PARTI P, RESULTAT R, CANDIDAT CA WHERE P.CODE_P=CA.CODE_P AND R.CIN_C= CA.CIN_C ORDER BY NOM_P;

21

7- On veut savoir le Pourcentage de voix obtenu par chaque parti : Code SQL :
SELECT NOM_P,SUM(NBRE_VOIX)/(SELECT SUM(NBRE_VOIX) FROM RESULTAT R)*100|| '%' AS POURCENTAGE_P FROM PARTI P,RESULTAT R,CANDIDAT CA WHERE P.CODE_P=CA.CODE_P AND R.CIN_C= CA.CIN_C GROUP BY NOM_P ORDER BY POURCENTAGE_P DESC ;

22

23

X.

Prsentations des Interfaces graphiques :

Pour laborer cette partie on va utiliser lenvironnement de travail Eclipse :

On va essayer dexporter les informations de chaque Candidat llection de lassemble constituante pour cela on va utiliser la classe trouv dans le projet interface JAVA (si le lien na pas march voir le dossier joint) Aprs lexcution on aboutt linterface suivante :

24

Chaque fois quon choisit le CIN dun Candidat le programme nous donne le Nom , Prnom du candidat et le nom du parti aprs quon indique son code .

XI.

Conclusion :
Ainsi ce projet prend fin, son but tait de pouvoir raliser et dvelopper une application, qui facilite les taches, afin davoir un gain bnfique de temps. Ce projet ma aid amliorer et valu mes comptences acquises tout au long de ce semestre.

25