cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE – LORIA
cours n°4M1.ist-ie (S. Sidhom)2 Le but de ce cours est de vous donner les bases nécessaires pour réaliser : des interfaces entre MySQL et le langage de script PHP ; de générer des pages web dynamiques ; de gérer des contenus structurés.
cours n°4M1.ist-ie (S. Sidhom)3 Introduction
cours n°4M1.ist-ie (S. Sidhom)4 Qu'est-ce que MySQL ? MySQL est un SGBD-R (Système de Gestion de Bases de Données Relationnelles) client-serveur. La Base de Données est une collection de données structurées, elle comporte des : Tables : des collections de données (ex. le nom, le prénom, l'adresse et le numéro de téléphone de tous les particuliers qui habitent dans le Rhône, c'est une table que nous nommerons ANNUAIRE ) Tuples/n-uplets/ Enregistrements/Lignes : un tuple est un enregistrement complet dans la table (ex. un particulier : Sidhom / Sahbi / LORIA BP Nancy cedex / ) Attributs/colonnes : les colonnes seront dans notre exemple nom, prénom, adresse, numéro de téléphone)
cours n°4M1.ist-ie (S. Sidhom)5 le Système de Gestion ( par son interface PhpMyAdmin ) est un logiciel utilisé pour créer, insérer, modifier, supprimer, lire des enregistrements. le modèle Relationnel permet de stocker les informations dans des tables séparées et d'associer des données d'une table à une autre : si l'adresse ne soit pas stockée dans une colonne de la table ANNUAIRE, mais elle peut l’être dans une table ADRESSE qui permet de décomposer l'adresse en colonnes (n° de Rue, Nom de Rue, Code_Postal, Ville, Pays).
cours n°4M1.ist-ie (S. Sidhom)6 MySQL est client-serveur le serveur est une application installée sur l'ordinateur où sont stockées les données ; il attend des requêtes des clients, accède à la base pour exécuter la requête du client et lui fournir une réponse ; le client est un programme installé sur votre ordinateur qui se connecte par l'intermédiaire d'un réseau au serveur pour effectuer une requête ;
cours n°4M1.ist-ie (S. Sidhom)7 Que comporte MySQL ? un serveur SQL (Structured Query Language) ; des programmes clients pour accéder au serveur (mysql, mysqldump, mysqlimport) ; des outils d'administration ; une interface de programmation pour écrire des applications.
cours n°4M1.ist-ie (S. Sidhom)8 Avantages ? « très » rapide ; multi-utilisateurs ; disponible sur Internet ( ; gratuit ; facile à utiliser : un manuel de référence est fourni ; interfaces de programmation (API) : C, Perl, PHP, Python et Java ; langage de requête : SQL (langage de requête le plus répandu) ; portabilité, MySQL fonctionne sous : unix et linux ; solaris (OS/2) ; Mac Os Xserver ; windows. open software, i.e. le code source est disponible ( bugs sont corrigés par la communauté et des nouvelles versions sont disponibles sur Internet dès leurs apparitions).
cours n°4M1.ist-ie (S. Sidhom)9 Syntaxe du langage SQL : SGBD & Gestion avec PhpMyAdmin Exemples de requête en SQL
cours n°4M1.ist-ie (S. Sidhom)10 Création : base, table Base : CREATE DATABASE `esce` ; USE esce; Table : CREATE TABLE `personne` ( `Id` INT NOT NULL AUTO_INCREMENT, `Nom` VARCHAR( 20 ) NOT NULL, `Prenom` VARCHAR( 20 ) NOT NULL, `Adresse` VARCHAR( 50 ) NOT NULL, `Tel` VARCHAR( 8 ) NOT NULL, `Statut` VARCHAR( 20 ) NOT NULL, PRIMARY KEY ( `Id` ) ); CREATE TABLE `administration` ( `Id` INT NOT NULL AUTO_INCREMENT, `Nom` VARCHAR( 20 ) NOT NULL, `Adresse` VARCHAR( 50 ) NOT NULL, `Tel` VARCHAR( 20 ) NOT NULL, PRIMARY KEY ( `Id` ) );
cours n°4M1.ist-ie (S. Sidhom)11 Insertion : tuple, attribut Insertion d’un tuple : INSERT INTO `personne` ( `Id`, `Nom`, `Prenom`, `Adresse`, `Tel`, `Statut` ) VALUES ( '', 'Dupond', 'Jean', 'Lyon 69000', ' ', 'Enseignant'); Insertion d’un attribut : ALTER TABLE `annuaire` ADD `Prenom` VARCHAR( 20 ) NOT NULL AFTER `Nom` ;
cours n°4M1.ist-ie (S. Sidhom)12 Mise à jour Mise à jour d’un tuple : UPDATE `personne` SET `Statut` = 'Etudiant' WHERE `Id` =1;
cours n°4M1.ist-ie (S. Sidhom)13 Suppression d’un tuple DELETE FROM personne WHERE Id=8;
cours n°4M1.ist-ie (S. Sidhom)14 Requête SELECT Requête d’interrogation : SELECT * FROM personne ; SELECT `Nom`, `Prenom`, `Tel`, `Statut` FROM `personne` ; SELECT * FROM `personne` WHERE Nom = "sidhom" ;
cours n°4M1.ist-ie (S. Sidhom)15 Produit cartésien Entre 2 tables : SELECT * FROM personne, administration ;
cours n°4M1.ist-ie (S. Sidhom)16 Jointure naturelle Entre 2 tables : SELECT * FROM personne, administration WHERE personne.Nom= administration.Nom;
cours n°4M1.ist-ie (S. Sidhom)17 I. SERVEURS Wamp, EasyPhp, …
cours n°4M1.ist-ie (S. Sidhom)18 Serveur : WAMP server
cours n°4M1.ist-ie (S. Sidhom)19 Serveur : EasyPHP
cours n°4M1.ist-ie (S. Sidhom)20 Plus d'informations Pour plus d'informations ou en cas de problème avec un serveur, allez sur : wampserver.com, ou EasyPHP.org Commencez par consulter : FAQ, puis le Forum
cours n°4M1.ist-ie (S. Sidhom)21 PhpMyAdmin avec EasyPHP
cours n°4M1.ist-ie (S. Sidhom)22 II. Interface de PhpMyAdmin avec Wamp, MySQL, …
cours n°4M1.ist-ie (S. Sidhom)23 Interface de phpMyAdmin
cours n°4M1.ist-ie (S. Sidhom)24 Fonctionnalités : créer une BDD : créer une Table :
cours n°4M1.ist-ie (S. Sidhom)25 Fonctionnalités : consulter une table
cours n°4M1.ist-ie (S. Sidhom)26 Fonctionnalités : création des attributs
cours n°4M1.ist-ie (S. Sidhom)27 Fonctionnalités : insertion de valeurs
cours n°4M1.ist-ie (S. Sidhom)28 Affichage : table dans une BDD
cours n°4M1.ist-ie (S. Sidhom)29 Interface de modification
cours n°4M1.ist-ie (S. Sidhom)30 Modifications sur un attribut
cours n°4M1.ist-ie (S. Sidhom)31 Interface d’insertion
cours n°4M1.ist-ie (S. Sidhom)32 III. Langage SQL Syntaxe du langage des requêtes
cours n°4M1.ist-ie (S. Sidhom)33 Langage : SQL requête
cours n°4M1.ist-ie (S. Sidhom)34 CREATE
cours n°4M1.ist-ie (S. Sidhom)35 INSERT
cours n°4M1.ist-ie (S. Sidhom)36 SELECT
cours n°4M1.ist-ie (S. Sidhom)37 DELETE
cours n°4M1.ist-ie (S. Sidhom)38 JOINTURE