- Cas pratique, une liste d'élève du Master CTN qui dispose de plusieurs adresses email :

Documents pareils
CREATION WEB DYNAMIQUE

PHP. PHP et bases de données

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

PHP 5. La base de données MySql. A. Belaïd 1

Mysql avec EasyPhp. 1 er mars 2006

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

SQL Historique

BTS/CGO P10 SYSTEME INFORMATION Année

Olivier Mondet

Modélisation et Gestion des bases de données avec mysql workbench

PHP 4 PARTIE : BASE DE DONNEES

Bases de données relationnelles

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

1 Introduction et installation

Les Utilisateurs dans SharePoint

Les BASES de DONNEES dans WampServer

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Pratique et administration des systèmes

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Les bases de données

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Installation d'un serveur FTP géré par une base de données MySQL

OpenPaaS Le réseau social d'entreprise

Gestion de base de données

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

PDO : PHP Data Object 1/13

Objectifs du TP : Initiation à Access

Cours: Administration d'une Base de Données

Mysql. Les requêtes préparées Prepared statements

PHP et les Bases de données - Généralités

I. MySQL : Serveur et SGBD

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

Base de données relationnelle et requêtes SQL

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Tutorial sur SQL Server 2000

Méthode de préparation du fichier texte d import depuis Excel, via Access jusqu à Drupal.

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Bases de données élémentaires Maude Manouvrier

Bases de Données relationnelles et leurs systèmes de Gestion

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Cours SQL. Base du langage SQL et des bases de données

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

Nouvelle plateforme disponible pour les professeurs et les élèves de la Promotion Sociale du Collège Technique «Aumôniers du travail»

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Devoir Data WareHouse

Cours pratique Excel. Dans chacune des feuilles, les donnés sont déjà entrées afin de gagner du temps.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Le langage SQL (première partie) c Olivier Caron

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Langage SQL : créer et interroger une base

Présentation Windows Azure Hadoop Big Data - BI

Installation locale de JOOMLA SEPIA

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

L enseignant, l élève ou la classe se crée une adresse électronique ( ) du type utilisateur@gmail.com.

Créer des étiquettes avec les adresses d'un tableau Calc

MODE OPERATOIRE OPENOFFICE BASE

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Mon-complement-retraite.com Aide en ligne

1 Position du problème

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Groupe Eyrolles, 2003, ISBN : X

Comprendre et optimiser la base de données WordPress WP TECH 2014

Manuel d utilisateur du site de covoiturage «Etucovoiturage»

Stockage du fichier dans une table mysql:

Historisation des données

SYSTÈMES D INFORMATIONS

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/

Notes de cours : bases de données distribuées et repliquées

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Partie 0 : Gestion des tablespace et des utilisateurs... 3

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

1. Base de données SQLite

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

A QUOI SERVENT LES BASES DE DONNÉES?

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Encryptions, compression et partitionnement des données

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

La Clé informatique. Formation Excel XP Aide-mémoire

Attaques applicatives

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Introduction à JDBC. Accès aux bases de données en Java

Page Paragraphe Modification Mise en page du document Le bouton "Format de page" est maintenant "Page"

TP3 : Creation de tables 1 seance

Application web de gestion de comptes en banques

1 è r e étape : créer sa base de d o n n é e s

FileMaker 13. Guide de référence SQL

Chapitre 2 Créer son site et ses pages avec Google Site

GUIDE D UTILISATION. Gestion de compte. à destination des entreprises (Employeurs et Organismes de Formation)

Transcription:

TP 3 Master CTN A création du schéma de la base de données. - phpmyadmin est un outil écrit en php pour manipuler le système de gestion de base de données (SGBD) Mysql, il est accessible via EasyPhp à une des adresses suivantes : http://127.0.0.1:8887/modules/ ou http://127.0.0.1:8887/home/mysql/ ou http://127.0.0.1:8887/phpmyadmin/ - Une base de données regroupe un ensemble de tables de données (équivalent au classeur Excel) - Une table de données regroupe et structure un type d'information (équivalent à une feuille Excel) - Cas pratique, une liste d'élève du Master CTN qui dispose de plusieurs adresses email : Première table listant les élèves: (nom de la table eleve): avec les champs id, nom, prenom, promotion : id nom prenom promotion 1 Dupond Alfonse 2008 2 Duval Joseph 2008 3 Smith John 2009 Nota : id est le champ clé de la table, il permet d identifier de manière unique chaque enregistrement (VF : chaque ligne) Seconde table listant leurs adresses emails: (nom de la table email) avec les champs id, mail, id_eleve id mail id_eleve 1 a.dupond@ema.fr 1 2 dupond@yahoo.fr 1 3 j.smith@ema.fr 3 Nota : id_eleve et le champ clé étrangère car il est en liaison avec le champ id de la table eleve Nota 2 : Dans notre exemple les champs (les colonnes) id de la table élève et de la table email sont prévues pour être automatiquement incrémenté, identifiant chaque ligne de manière unique. Dans l outil phpmyadmin : Créer une nouvelle base de données appelé base_contact Onglet "Bases de données" > Créer une base de données Dans la partie gauche de l'interface de phpmyadmin, choisir cette base de données

Créer une nouvelle table appelée eleve (sans accent) avec 4 colonnes id est un IDentifiant de type INT indiquant que l'on va stocker des nombres entiers, il faut par contre utiliser la barre de défilement horizontal pour trouver l'information A_I (auto incrémentation) pour que ce champ soit automatiquement incrémenté. Ce champ est appelé une clé car il est unique pour chaque enregistrement (ligne) de la table. nom et prenom sont des champs pouvant recevoir tout type de texte (nombre, symbole, lettres, etc.) sur une seule ligne en quantité VARiable de 0 à 50 CARactère (en anglais Character) VARCHAR promotion va être indiqué en tant que CHAR (caractère) de taille fixe 4, il faudra forcément avoir 4 symboles 2004, 2005, 2006, 2007. Impossible d'avoir 98,99,00,01,02 Appuyer sur le bouton "Sauvegarder"

Insérer des données dans cette table via le bouton "Insérer" en s'inspirant du cas pratique indiqué au dessus : Faite une dizaine d enregistrement dans la table eleve: Créer une nouvelle table appelée email (sans accent) avec 3 colonnes id est un IDentifiant de type INT indiquant que l'on va stocker des nombres entiers, il faut par contre utiliser la barre de défilement horizontal pour trouver l'information A_I (auto incrémentation) pour que ce champ soit automatiquement incrémenté. Ce champ est appelé une clé car il est unique pour chaque enregistrement (ligne) de la table. mail est un champs pouvant recevoir tout type de texte (nombre, symbole, lettres, etc.) sur une seule ligne en quantité VARiable de 0 à 100 CARactère (en anglais Character) VARCHAR id_eleve est de type INT mais pas A_I car il fait référence à la clé de la table eleve. id_eleve est une clé étrangère liant la table eleve à la table email. Insérer des données dans cette table via le bouton "Insérer" en s'inspirant du cas pratique indiqué au dessus Il faudrait disposer au final d'un élève avec plusieurs adresses email, un élève avec une seule adresse email et un élève sans aucune adresse email.

B Interrogation en SQL. Ouvrer l onglet SQL en choisissant la base de données base_contact : SELECT prenom,nom FROM eleve ; Essayez la requête suivante et expliquez son effet : SELECT * FROM eleve ; SELECT id, nom FROM eleve limit 3,2; SELECT id, nom FROM eleve limit 1,2; SELECT * FROM eleve WHERE Nom = 'Dupond' ; SELECT * FROM eleve WHERE Promotion = '2008' ; SELECT * FROM eleve WHERE Promotion = '2008' AND Nom ='Dupond' ; COUNT permet de compter le nombre de lignes incluses dans une table, essayer l exemple : select count(*) FROM eleve; Afficher le nombre d élèves dont le nom commence par D :

select count(*) FROM eleve WHERE nom LIKE 'D%'; Afficher (que) les élèves qui ont des emails SELECT nom,prenom,mail FROM eleve, email WHERE eleve.id=email.id_eleve; Insérer un nouvel élève INSERT INTO eleve VALUES(NULL, 'Gineau', 'Nicolas', '2010'); Supprimer un élève DELETE FROM eleve WHERE nom='gineau'; Modifier (mettre à jour) le nom d'un élève UPDATE eleve SET nom='dupont' WHERE nom= 'Dupond' Afficher le nombre d'emails par élève SELECT id_eleve, mail, count(mail) FROM email GROUP BY id_eleve Faire et expliquer SELECT * FROM eleve, email WHERE eleve.id = email.id_eleve Faire et expliquer SELECT * FROM eleve LEFT JOIN email ON eleve.id = email.id_eleve Faire une requête SQL qui affiche le nom de l'élève et une de ses adresses emails sans aucune autre information technique Faire une requête SQL qui affiche le nom de l'élève et le nombre de ses adresses emails sans aucune autre information technique C Création d un utilisateur de la base de données Pour accéder à une base de données, il faut disposer d un compte utilisateur qui dispose de droit sur cette base de données. La création d un nouvel utilisateur se fait via l onglet Privilèges ; parfois renommé Utilisateur dans les dernières versions de phpmyadmin.

Utiliser le bouton «Ajouter un utilisateur» Dans la nouvelle page, il faut indiquer un nom d utilisateur par exemple user_contact, le client est localhost, le mot de passe peut être fabriqué avec le bouton «générer» Cochez la case «Donner les privilèges passepartout (utilisateur\_%)» mais habituellement, l option «Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base» est utilisée pour fabriquer un utilisateur et une base de données, l utilisateur ayant tout les droits sur cette base de donnée. La création de l utilisateur se fait avec le bouton «Exécuter» qui se trouve tout en base de la page.

D Utilisation d une page PHP qui interroge la base de données La création d une nouvelle page PHP permet d interroger la base de données précédemment créé via l utilisateur de la base de données «user_contact» <html> <body> <?php $username="user_contact"; $password="vqqek98bbsgcq5b2"; $database="base_contact"; $link = mysqli_connect( "localhost",$username,$password); mysqli_select_db( $link, $database ); $query = "select nom,prenom from eleve"; $result = mysqli_query( $link, $query); while ($row = mysqli_fetch_array( $result, MYSQLI_ASSOC )) {?> <p> <?php echo( $row["nom"] );?> </p> <?php } mysqli_close( $link );?> </body> </html> 4 fonctions sont utilisées pour accede à mysql - mysql_connect ouvre une connexion avec le logiciel de base de donnés (le SGBD) - mysql_select_db permet de choisir une base de données parmi plusieurs - mysql_query permet de poser une question en SQL à la base de données - mysql_close permet de fermer la connexion avec le logiciel de base de données Pourquoi le prénom est le seul affiché? Comment corriger cette page pour afficher le prénom et la promotion de chaque élève? Sachant que la requête SQL suivante permet de créer un nouvel enregistrement (une nouvelle ligne) dans la table de la base de données, comment faire pour créer un nouvel élève depuis un formulaire: : $result = mysql_query("insert into eleve( nom, prenom, promotion) values ('Doe', 'John', '2014' ) ");