Télécharger le fichier

publicité
BTS SIO
Services Informatiques aux Organisations
Option
SISR
Session
MINYAS Fatih
2016
Activité professionnelle N°
5
NATURE DE L'ACTIVITE
INTITULE DE L'ACTIVITE PROFESSIONNELLE
Contexte
Objectifs
Création base de données
Créer une base de données afin d’y stocker des données et y introduire des
catégories
En formation
Lieu de réalisation
SOLUTIONS ENVISAGEABLES
Créer une base de données afin d’y stocker des informations en créant les ca
Conditions initiales
DESCRIPTION DE LA SOLUTION RETENUE
Aucune base de données n’existe
Conditions finales
Outils utilisés
Création d’une base de données et de ses catégories.
Xamp server, terminal et Mozilla firefox.
Matériels
CONDITIONS DE REALISATION
Ordinateur Linux Haze 5.2.
Logiciels
Xamp server et Mozilla firefox.
Durée
3 heures.
Contraintes
Ø
COMPETENCES MISES EN OEUVRE POUR CETTE ACTIVITE PROFESSIONNELLE
A1.3.4- Déploiement d'un service
A 1.4.3-Gestion des ressources
A 4.1.3-Conception ou adaptation d'une base de données
DEROULEMENT DE L'ACTIVITE
Cette
2 façons
mission peut être réalisée de
installer via le daemon mysql
les commande
l’interface
de celui-ci ou bien en utilisant
seconde
plus option qui est plus rapide et
Dans un 1er temps nous allons
démarrer
différentes la 1ere en utilisant le term
avec les dépendances de XAMPP l
Web Phpmyadmin : dans notre situatio
visuel.
le daemon Xampp
Soit en terminal via la commande :
sudo /opt/lampp/lampp start
ou en installant un utilitaire
permettant
graphique
(de la même manière
que
pour
installer l’utilitaire il suffit
d’entrer
d’activer les services de xampp via
sous Windows)
la commande suivante :
gksu /opt/lampp/share/xampp-control-panel/xampp-control-panel
Une fois Xampp démarré nous allons nous rendre sur la page de phpmyadmin
Via
http :
localhost/ p h p m y a d
m i n
nous arrivons alors sur cette page
Ensuite pour créer une base de données, il faut cliquer sur l’onglet base de données
Puis nous entrons le nom de notre base de donnée ici nous e
Nous nous rendrons ensuite dans la table en la sélectionnant dans le panneau de gauche
Puis nous créerons les tables à partir de l’interface SQL pour ce faire sélectionné l’onglet SQL dans le
menu central.
Nous allons donc pouvoir saisir nos requêtes SQL
Voici les requêtes utilisés dans notre situation :
Création de la table catégorie :
CREATE TABLE IF NOT EXISTS `categorie` (
`id` int(11) NOT NULL,
`designation` varchar(255) NOT NULL,
`parent_id` int(11) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
Insertion des attributs de la table catégorie :
INSERT INTO `categorie` (`id`, `designation`, `parent_id`) VALUES
(1, 'Papiers', NULL),
(2, 'Cahiers, blocs et feuilles', NULL),
(3, 'Reliure et présentation', NULL);
Création de la table commande :
CREATE TABLE IF NOT EXISTS `commande` (
`id` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`utilisateur_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
Insertion du contenu de la table commande :
INSERT INTO `commande` (`id`, `date`, `utilisateur_id`) VALUES
(1, '2015-02-24 17:41:59', 1),
(2, '2015-02-24 17:41:59', 2),
(3, '2015-02-24 17:42:08', 1),
(4, '2015-02-24 17:42:08', 2),
Création de la table detail commande :
CREATE TABLE IF NOT EXISTS `detail_commande` (
`id` int(11) NOT NULL,
`commande_id` int(11) NOT NULL,
`produit_id` int(11) NOT NULL,
`quantite` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Création de la table detail panier :
CREATE TABLE IF NOT EXISTS `detail_panier` (
`id` int(11) NOT NULL,
`panier_id` int(11) NOT NULL,
`produit_id` int(11) NOT NULL,
`quantite` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Création de la table panier :
CREATE TABLE IF NOT EXISTS `panier` (
`id` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`utilisateur_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
Insertion du contenu de la table commande :
INSERT INTO `panier` (`id`, `date`, `utilisateur_id`) VALUES
(1, '2015-02-24 17:41:59', 1),
(2, '2015-02-24 17:41:59', 2),
(3, '2015-02-24 17:42:08', 1),
(4, '2015-02-24 17:42:08', 2),
(5, '2015-02-24 17:42:16', 3),
(6, '2015-02-24 17:42:16', 1),
(7, '2015-02-24 17:42:23', 1),
(8, '2015-02-24 17:42:23', 3);
Création de la table photo :
CREATE TABLE IF NOT EXISTS `photo` (
`id` int(11) NOT NULL,
`produit_id` int(11) NOT NULL,
`url` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Création de la table produit :
CREATE TABLE IF NOT EXISTS `produit` (
`id` int(11) NOT NULL,
`designation` varchar(255) CHARACTER SET utf8 NOT NULL,
`prix_unitaire` decimal(10,2) NOT NULL,
`tva_id` int(11) NOT NULL,
`categorie_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
Insertion du contenu de la table produit :
INSERT INTO `produit` (`id`, `designation`, `prix_unitaire`, `tva_id`, `categorie_id`) VALUES
(1, 'Papier photo glacé Blanc Epson A4 200 g/m² - 20 / Paquet', '10.90', 1, 1),
(2, 'Ramette 500 feuilles Office DEPOT Everyday A4 80g/m²', '3.75', 1, 1),
(3, 'Ramette de papier de 500 feuilles - Clairefontaine - Trophée - A4 80g/m² canari', '5.99', 1, 1);
Création de la table utilisateur :
CREATE TABLE IF NOT EXISTS `utilisateur` (
`id` int(11) NOT NULL,
`nom` varchar(50) NOT NULL,
`prenom` varchar(50) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
Insertion du contenu de la table utilisateur :
INSERT INTO `utilisateur` (`id`, `nom`, `prenom`) VALUES
(1, 'paul', ''),
(2, 'jean', ''),
(3, 'nicolas', ''),
(4, 'didier', '');
Nous procédons ensuite à quelques tests afin de vérifié que la base de donnés à bien été complétée
Pour ce faire nous allons tester quelques requètes SQL
La 1ère select * from catégorie
Cette requète SQL doit afficher l’intégralité du contenue de la table catégorie
2ème requête SQL :
SELECT * FROM `produit` ORDER BY `produit`.`prix_unitaire` ASC
Cette requête permet d’afficher la table produit tout en classant les produits par prix ascendant
L’avantage de l’interface phpmyadmin est de pouvoir voir directement si les tables ont bien été crée
via le volet de navigation de gauche.
Afin de tester la base de donnée et son utilisation par une application web nous allons créé une
page en PHP afin d’afficher la table produit en voici le code :
Cette page permet donc d’afficher le produit sa désignation, le prix unitaire, la tva
seulement si celui-ci appartient à la catégorie papiers.
On place notre page « index.php » à la racine du dossier htdocs
Puis nous ouvrons notre navigateur et entrons l’url : localhost
La page suivante s’ouvre.
On constate ainsi que les données sont utilisable que la relation entre les tables fonctionne
correctement.
Téléchargement