Vous êtes sur la page 1sur 40

PROJET PERSONNEL ENCADRE

Partie SQL

BELLAZAAR Rayane
Corizzi Lucas
DU BOISHAMON Arnaud
PICO Alexandre

Table des matires


INTRODUCTION .......................................................................................................................................................................... 1
PREMIERE PARTIE : CREATION DE AL BASE DE DONNEES ..................................................................................................... 1 - 11
CREATION DES TABLES........................................................................................................................................................................... 3
DECLARATION DES CLES ETRANGERES ....................................................................................................................................................... 3
INSERTION DES DONNEES .................................................................................................................................................................. 3 - 9
LES REQUETES SQL ....................................................................................................................................................................... 9 - 11
SECONDE PARTIE : DEPLOIEMENT DE LA BASE DE DONNEES ............................................................................................. 12 - 29
CREATION DES MACHINES VIRTUELLES ............................................................................................................................................. 12 - 13
INSTALLATION DU SYSTEME D'EXPLOITATION WINDOWS 7 ......................................................................................................................... 14
INSTALLATION DU SYSTEME D'EXPLOITATION WINDOWS SERVER 2008 ......................................................................................................... 15
CONFIGURATION DES MACHINES VIRTUELLES ..................................................................................................................................... 17 - 29
TROISIEME PARTIE : EVOLUTION DE LA BASE DE DONNEES .............................................................................................. 29 - 36
CONCLUSION ...................................................................................................................................................................... 37 - 38

Lentreprise pharmaceutique Galaxy Swiss Bourdin possde de nombreuse force de vente qui traverse
chaque jour le continent Europen et qui agissent galement sur le plan internationale afin de rendre visite
des professionnels de sant dispatchs dans le monde. Ils ont pour mission de prsenter des mdicaments des
professionnels de sant au sein de diffrents tablissements.
Disposant actuellement d'une base de donne ne rpondant pas ses attentes, le laboratoire Galaxy Swiss
Bourdin souhaite revaloriser sa base de donne en l'optimisant et en intgrant la gestion de l'ensemble des
visites ralises par les visiteurs mdicaux.
De ce fait, GSB fait appel nos services afin de mettre en place cette nouvelle base de donnes en nous laissant
le choix du systme de gestion de bases de donnes relationnelles.
Nous allons donc travers un projet s'tendant sur une dure d'un mois raliser la base de donne que dsire le
laboratoire pharmaceutique en vous dmontrant chaque tape de sa conception.

Premire phase : Cration de la base de donnes


Suite une tude approfondit de l'ensemble des besoins du laboratoire pharmaceutique, le groupe de travail
prsent sur place a conu et nous a fait parvenir un schma de la base de donne sous forme de modle
conceptuel ainsi qu'un schma logique de donnes qui fait apparaitre l'ensemble des tables crer et qui nous
dmontre de faon clair et explicite les relations entre chaque tables.

Le modle conceptuel :

Le schma logique de donnes :

Un stagiaire a raliser une partie de la base de donne dans un script enregistrer au format SQL et pouvant tre
excuter directement dans le SGBDR. Ce script pour objectif de crer les diffrentes tables et de dclarer les
cl trangre.
Voici un aperu du script :

Comme on peut le constater, l'auteur de ce script n'a pas eu le temps de finaliser la cration de toute les tables.
Nous allons donc complter le script suivant en ajoutant les lments manquant.

a) Cration des tables.


Si on compare le script qui nous a t fournit au modle conceptuel on constate qu'il manque 3 tables. En effet,
Les tables Proposer, Spcialit et Praticien n'ont pas t crer nous allons donc les ajouter sur le script.
1) Cration de la table Possder

2) Cration de la table Praticiens

3) Cration de la table Spcialits

b) Dclaration des cls trangres.


Suite la cration des tables manquantes, il nous a fallut dclarer les nouvelles relations quelles entretiennent
avec les autres tables.
Dans un premier temps nous avons ajouter un champ pra_num dans la table Visites puis nous avons crer un
index sur celui-ci. Ensuite nous avons dclarer ce champs en tant que cl trangre.
Dans un second temps, nous avons affirm la relation entre les tables Possder et Praticien en dclarant le
champs pra_num en tant que cl trangre. Etant dj considr comme une cl primaire dans la table Possder,
il tait inutile de crer un index sur ce champ.
Enfin nous avons affirm la relation entre les tables Possder et Spcialits en dclarant le champs spe_code en
tant que cl trangre.

c) Insertion des donnes.


a) Modification de la table Visiteurs.
Avant de procder l'insertion des donnes il nous a fallut changer le type de la cl primaire. En effet, les
valeurs saisies en tant que cl primaire dpassaient la capacit maximal d'un INTEGER.
De ce fait, la valeur saisie en tant que cl primaire doit tre comprise entre - 2 147 483 648 et 2 147 483 647.

Dans notre cas, les numro de scurit sociale faisant office de cl primaire dpassaient la valeur maximum
d'un INT ce qui gnrait un message d'erreur MYSQL. Pour cela nous avons tout simplement changer le type
INT de la cl primaire par le type VARCHAR.
Nous avons galement ajouter le champs vis_prenom afin d'avoir un affichage cohrent pour une requte que
nous raliseront par la suite.

b)

Script d'insertion des donnes pour la table Visiteurs.

VISITEURS : vis_NumSecu, vis_nom, vis_prenom, vis_adresse, vis_cp, vis_ville, vis_dateEmbauche

c)

Modification de la table Visites

Pour avoir un affichage cohrent pour l'une des requtes que nous raliseront par la suite, il nous a fallut
ajouter le champs pra_num dans la table Visites , de crer un index sur celui-ci puis de le dclarer en tant que cl
trangre afin d'affirm la relation avec la table Praticien.

d) Script d'insertion des donnes pour la table Visites


VISITES : Vis_NumSecu, Vis_nom, Vis_prenom, Vis_adresse, Vis_cp, Vis_ville, Vis_dateEmbauche

e)

Modification de la table Mdicaments.

Avant de procder l'insertion des donnes nous avons du procder un changement de type pour la cl
primaire de la table mdicaments. En effet en rcuprant les donnes dans l'ancienne base de donnes nous
avons constater que les valeurs saisies dans la cl primaire sont des chaines de caractres et non des entiers.
De ce fait, nous avons changer dans le script le type INT de la cl primaire par le type VARCHAR.

f)

Script d' insertion des donnes pour la table Mdicaments

MEDICAMENTS : med_depotLegal, med_nomCommercial, med_composition, med_effets, med_contreIndic

g)

Script d'insertion des donnes pour la table EchantillonMedic

ECHANTILLONMEDIC : ech_num, ech_prixHT, med_DepotLegal

h) Script d'insertion des donnes pour la table Proposer


PROPOSER : v_num, ech_num

i)

Modification de la table Praticien

Pour avoir un affichage cohrent l'une des requtes que nous raliseront par la suite, il nous a fallut ajouter le
champ pra_adresse dans la table Praticien.

j) Script d'insertion des donnes dans la table Praticien.


PRATICIEN : pra_num, pra_nom, pra_adresse, pra_coef_notoriete

k)

Script d'insertion des donnes pour la table Spcialits

SPECIALITES : spe_code, spe_libelle

l)

Modification de la table Possder

Pour amliorer la comprhension de la base de donne, nous avons dcider de changer le nom de la table
Possder par Praticien_specialites car, c'est dans cette table que nous aurons les spcialits de chaque praticien.
Requte pour modifier un nom de table :

m) Script d'insertion des donnes pour la table Possder


PRATICIEN_SPECIALITES : pra_num, spe_code

d) Les requtes SQL


Requte n1 : Afficher les visiteurs classs par ordre alphabtique.

Rsultat :

Requte n 2 : Afficher le nom et ladresse des praticiens qui ont reu une visite ces deux dernires annes

Rsultat :

10

Requte n 3 : Augmenter les prixHT des chantillons inferieurs 1,5 euros de 5%

Requte n 4 : Afficher les noms commerciaux des mdicaments qui nont pas t propos aux praticiens

Rsultat :

11

Seconde phase : Dploiement de la base de donnes


Le laboratoire Galaxy Swiss Bourdin souhaite, que la nouvelle base de donne soit dploye sur un serveur
ayant l'adresse IP 192.168.1.12. De plus, il souhaite accder au SGBD sur un poste distant ayant pour adresse IP
192.168.1.25.
Pour raliser le dploiement de la nouvelle base de donne nous avons pris la dcision de virtualiser le serveur
WAMP sur une machine virtuelle que nous avons configur afin de rpondre aux attentes du laboratoire
pharmaceutique. Nous avons galement besoin d'une seconde machine virtuelle qui fera office de poste client.
Sur ce poste nous feront en sorte que la base de donne y soit accessible.
1. Cration des machines virtuelles.

Nom pour la 1re machine virtuelle

12

Nom pour la 2nd machine virtuelle

13

2. Installation du systme d'exploitation Windows 7


Suite la cration de la machine virtuelle faisant office de poste client nous avons procder l'installation du
systme d'exploitation Windows Seven :

14

3. Installation du systme d'exploitation Windows Serveur 2008 R2


Suite la cration de la machine virtuelle faisant office de serveur nous avons procder l'installation du
systme d'exploitation Windows serveur 2008 R2 :

15

Machine Virtuelle n1

Machine Virtuelle n2

16

Une fois que l'installation de Windows 7 fut achev, nous avons procder la configuration des deux machine
virtuelle pour permettre le dploiement de la base de donne.
4. Configuration des machines virtuelles.
a) Configuration du rseau.
Pour permettre une communication entre le poste et client et le serveur de base de donne il nous fallut tout
d'abord placer ces deux machines virtuelles sur le mme rseau.

Il faut raliser cette manipulation sur


les deux machines virtuelles.

Sur les machines virtuelles :


Le laboratoire Galaxy Swiss Bourdin souhaite rendre accessible sa nouvelle base de donne sur un poste
possdant l'adresse IP 192.168.1.25. De plus il souhaite dploy leur base de donne sur un serveur ayant
pour adresse IP 192.168.1.12
Il faut dans un premier ouvrir le
panneau configuration puis, aller
dans l'onglet Rseau et Internet.
Ensuite, il faut se rendre dans le
centre Rseau et Partage (cf image 2).
Une fois arriv sur la page, il faut
regarder sur le menu de gauche et
cliquer sur "modifier les paramtre
de la carte" (cf image 3).
Enfin, faite un clique droit sur la carte
rseau, aller dans les proprits puis,
procder la configuration du
protocole IPV4 en attribuant aux
machines virtuelles une adresse IP
(cf images 4, 5, 6 et 7).
17

Machine Virtuelle : Serveur

Machine Virtuelle : Poste client

18

b) Configuration du Pare Feu Windows


Pour permettre la communication entre nos deux machines virtuelles, il nous a fallut procder la
dsactivation du pare feu Windows.

c) Mise en place du serveur WAMP.


Machines virtuelles : Serveur BDD .
Pr-requis :
Avant de procder l'installation du serveur WAMP, il faut au pralable installer les Tools sur la machine
virtuelle et crer un dossier de partage pour rcuprer le logiciel sur un PC ayant une connexion physique.
Cration du Dossier de partage :
Tout d'abord, tlcharger la version 2.2 de Wamp sur le site officiel http://www.wampserver.com/ .
Ensuite, pour crer le dossier de partage il faut aller dans les paramtre des deux machines virtuelles (cf
images).

19

Slectionner le chemin ou se trouve l'excutable


du logiciel WAMP

Installation du logiciel :
Suite la cration du dossier de partage nous avons procder l'installation du logiciel WAMP.

20

21

d) Configuration du serveur WAMP


Pour pouvoir rendre accessible une base de donne depuis n'importe quel poste, il suffit tout simplement de
modifier le fichier de configuration phpmyadmin.conf sur la machine virtuelle faisant office de serveur.
Les tapes :

Pour permettre l'accs la base de donne


partir d'un poste distant, il faut modifier les deux
lignes encadr par :

22

Une fois la modification faite, il faut enregistrer le fichier puis procder au redmarrage du serveur WAMP.

Par dfaut, le logiciel de gestion de base de donne PhpMyAdmin compris dans le serveur WAMP se connecte
immdiatement et n'a pas de systme d'authentification.
Pour activer ce systme d'authentification, il faut tout d'abord attribuer un mot de passe Root et modifier une
ligne dans le fichier de configuration config.inc.php qui se trouve l'url suivante :
C:\wamp\apps\phpmyadmin3.5.1

Les lignes de commandes remplacer

Une fois les modification faites, il faudra penser redmarrer les services de Wamp (cf image prcdente).
23

Depuis le poste client, saisissez dans la barre de recherche du navigateur internet l'adresse ip du serveur suivi
du logiciel de gestion de la base de donne (PhpMyAdmin).
Si les machines virtuelles se situent sur le mme rseau et que toutes les configurations requises ont t
effectues, vous devriez atterrir sur la page d'authentification de PhpMyAdmin.

e) Cration des comptes utilisateurs.


Le laboratoire Galaxy Swiss Bourdin, dsire que la base de donne soit accessible trois type de personnes.
Pour cela, l'entreprise nous a demander de crer trois comptes utilisateurs ayant tous des droits spcifiques .
Pour procder la cration des trois comptes utilisateurs, nous allons utiliser le client MYSQL qui est intgr
dans le logiciel WAMP.

24

Le compte Administrateur :

Le compte Praticien :

Le compte Visiteur :

25

f) Installation d'un serveur SSH.


Pour pouvoir utilis le client MYSQL fournit avec le package du serveur WAMP, nous avons dcid de crer un
serveur SSH sur la machine virtuelle faisant office de serveur pour pouvoir accder distance au client MYSQL
et s'y connecter.
Voici les tapes pour l'installation d'un serveur SSH :
Dans un premier il faut tlcharger le logiciel FreeSSHd sur le site officiel www.freesshd.com/ puis, l'installer
sur la machine virtuelle.

26

Une fois l'installation fini , nous avons crer un compte utilisateur pour pouvoir se connecter distance au
serveur SSH.

g) Connexion au client MYSQL.


Pour se connecter au client MYSQL qui se situe sur le serveur, il faut avant tout se connecter au serveur SSH
grce au client SSH Putty qui est disponible l'adresse suivante : http://www.putty.org/
Les tapes :
1) Installer putty, puis configurer le avec les informations d'identification du serveur SSH.

27

2) Enregistrer la session puis connecter vous l'aide du compte utilisateur que nous avons crer sur le serveur
SSH.

3) Accder au client MYSQL grce la commande suivante.

28

3) Connecter vous un compte MYSQL grce la commande suivante.

Troisime phase : Evolution de la base de donne


a) Cration de la table Rgions
Suite une nouvelle analyse, le laboratoire Galaxy Swiss Bourdin souhaite rpartir ses visiteurs par rgions.
Pour raliser cette nouvelle demande nous avons procder la cration d'une nouvelle table dans laquelle nous
avons inscrit une liste de rgions.
REGIONS : reg_code, reg_libelle

29

b) Dclaration de la cl trangre.
Suite la cration de la table Rgions, il nous a fallut dclarer la relation qu'elle entretien avec la table Visiteurs.
Pour cela, nous avons ajouter un champ reg_code dans la table Visiteurs puis nous avons crer un index sur
celui-ci. Enfin, nous avons dclarer ce champs en tant que cl trangre.

c) Script d'insertion des donnes pour la table Rgions

30

d) Modification du script d'insertion pour la table Visiteurs

31

e) Cration de la table Diplmes


Suite une tude marketing mene par le laboratoire pharmaceutique, le groupe de travail souhaite enregistrer
les diplmes des praticiens. Pour raliser cette nouvelle demande nous avons du procder la cration d'une
nouvelle table dans laquelle nous avons inscrit des diplmes au hasard.
DIPLOMES : dip_code, dip_libelle, #spe_code

f)

Dclaration de la cl trangre

Suite la cration de la table Diplmes, il nous a fallut dclarer la relation qu'elle entretien avec la table
Spcialits. Pour cela, nous avons ajouter un champ spe_code dans la table diplmes. Puis, nous avons crer un
index sur celui-ci. Enfin nous avons dclarer ce champ en tant que cl trangre.

g) Script d'insertion des donnes pour la table Diplmes

32

h) Cration de la table Praticien_diplomes.


PRATICIEN_DIPLOMES : #pra_num, #dip_code

Pour pouvoir attribuer des diplmes chaque praticien, nous avons crer une nouvelle table dans laquelle nous
aurons la liste des diplmes que possdent ces derniers.

i)

Dclaration de la cl trangre.

Suite la cration de la table Diplmes, il nous a fallut dclarer la relation qu'elle entretien avec la table
Spcialits. Pour cela, nous avons ajouter un champ spe_code dans la table diplmes. Puis, nous avons crer un
index sur celui-ci. Enfin nous avons dclarer ce champ en tant que cl trangre.

j) Script d'insertion des donnes pour la table Praticien_diplomes.

33

h) Modification de la table EchantillonMedic


Afin de raliser le bilan de l'opration commerciale, le laboratoire Galaxy Swiss Bourdin souhaite que chaque
mdicaments soient associs un taux de TVA. Pour raliser cette demande, nous avons procder la
modification de la table EchantillonMedic en y ajoutant un champ ech_TxTva.

i) Modification du script d'insertion pour la table EchantillonMedic

j) Les Requtes
Requte n 1 : Raliser une vue qui permette dafficher la somme des prix TTC des chantillons par visites.

Accs aux visiteurs :

34

Rsultat :

Requte n 2 : Afficher le praticien le plus diplm

Rsultat :

35

Requte n3 : Afficher la moyenne des sommes des prix TTC des chantillons par visites

Rsultat :

Requte n4 : Afficher les visiteurs par rgion qui ont effectu plus de 5 visites.

Rsultat :

Requte n5 : Afficher le prix TTC maximum de toutes les visites raliss (de tous les chantillons raliss).

Rsultat :

36

Conclusion
Pour conclure sur ce projet, voici le script final permettant la cration des tables ainsi que le modle relationnel
final de la nouvelle base de donnes.

37

38

Vous aimerez peut-être aussi