Comment stocke-t-on des données sur un site web ?

Slides:



Advertisements
Présentations similaires
MySQL Base de données.
Advertisements

CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Créer une base de données MySQL
Une solution personnalisable et extensible
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
MySQL et PHP.
Logiciel de base de données
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
N. Le Gall A. Jaouën E. Morin C. Coelo Cuzon D. Le Toux
Les instructions PHP pour l'accès à une base de données MySql
Liste de données: Création – Tri - Filtre
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
28 novembre 2012 Grégory Petit
L’utilisation des bases de données
Gestion des bases de données
Services fournis par le SI et technologies associées
HTML / CSS Gestion des systèmes d’information Classe terminale
Les concepts et les méthodes des bases de données
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Sandrine BUENDIA Guillaume GALLET.
CPI/BTS 2 Programmation Web PHP et les Bases de données Prog Web CPI/BTS2 – M. Dravet – 11/03/2004 Dernière modification: 11/03/2004.
Projet de bases de données. Déroulement du projet Planification sur 7 semaines : •Semaine 1: conception de la base de données •Semaines 2 à 5 : développement.
‘‘Open Data base Connectivity‘‘
PHP & My SQL.
Chapitre 5 : Le langage SQL
Le glossaire Outil qui permet d’enregistrer des mots, des portions de phrases ou des phrases que l’on tape régulièrement et que l’on pourra récupérer afin.
Formation Site Web Animation Pédagogique Ecole de Dommartin.
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
09/11/2006 CMS Content Management System Système de Gestion de Contenu.
Micro Informatique au Cellier
PHP & MySQL Master1 ICD Claire Jacquot Emilie Hot le 24/10/2006.
 Requêtes MySQL en PHP Introduction
Application de gestion des retards
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
TP Développement d’applications web.  Etapes de création  Quel type de pages créer?  Editeurs de sites web  Systèmes de gestion de contenu.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Introduction à CmapTools par Jacques-Antoine V-Lemay 3 septembre 2008 par Jacques-Antoine V-Lemay 3 septembre 2008.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
S'initier au HTML et aux feuilles de style CSS Cours 5.
 Formulaires HTML : traiter les entrées utilisateur
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
PPE 2 : Val Lamartinien Passion
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.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
LES BASES DE DONNEES PRÉSENTÉ PAR CATHY ET THIBAULT.
Séance /10/2004 SGBD - Approches & Principes.
EFREI – – Mathieu Nebra Le développement Web.
Séminaire de rentrée cours de programmation web & Wordpress
Cours n°2 Implémentation et exploitation
Analyse, élaboration et exploitation d’une Base de Données
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
Créer un site avec Wordpress. 1. Principes généraux 2. Installation 3. Paramétrage de Wordpress 4. Les catégories des articles 5. Les articles 6. Les.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Comment stocke-t-on des données sur un site web ? Les bases de données

Sommaire Introduction aux bases de données Structure d’une base de données Administrer la base avec PHPMyadmin Le langage SQL

Introduction aux bases de données Pourquoi stocker ses données dans une base de données ? Introduction aux bases de données

Rappel : organisation des langages d’un site web

Rappel : organisation des langages d’un site web XHTML et CSS permettent de réaliser une page web qui s’affiche dans le navigateur PHP génère du code XHTML pour le personnaliser en fonction du visiteur MySQL stocke les données du site web (exemple : liste des membres)

2 façons de stocker des données Dans des fichiers Accès très rapide Structure et lecture des fichiers complexe à mettre en œuvre Dans une base de données Accès un peu plus lent … mais pas besoin de se soucier de la lecture des fichiers

MySQL MySQL est un SGBDR (Système de Gestion de Base de Données Relationnelle) C’est un programme Son rôle est de stocker des données de manière organisée, hiérarchisée

MySQL MySQL est le plus célèbre SGBDR open-source et gratuit C’est le plus utilisé, notamment sur le web : Wikipédia Google eBay Youtube Facebook

Le langage SQL On « parle » à la base de données (MySQL) dans un langage appelé SQL (Structured Query Language) SQL est un langage standardisé, il est utilisé par différents logiciels de gestion de base de données MySQL n’est donc pas le seul logiciel disponible pour gérer une base de données !

Les concurrents de MySQL Oracle Propriétaire Très complet et très puissant Le leader mondial des bases de données Microsoft SQL Server Généralement utilisé avec d’autres technologies Microsoft PostgreSQL Libre Plus de fonctionnalités que MySQL Moins populaire que MySQL SQLite Très très léger, facile à embarquer avec un logiciel

Structure d’une base de données Points communs avec les tableurs Structure d’une base de données

Terrain connu : les tableurs

Terrain connu : les tableurs La base de données (BDD) organise les informations comme un tableur Il y a un vocabulaire spécifique à connaître pour la BDD

Vocabulaire de la BDD Dans un tableur, on parle de : Lignes Colonnes Feuilles (pages) Dans une base de données : Chaque ligne est appelée une entrée Chaque colonne est appelée un champ Chaque feuille est appelée une table

Vocabulaire de la BDD

Vocabulaire de la BDD Une base de données peut contenir plusieurs tables Une table est un tableau qui stocke le même type de données. Ex : La table des membres La table des statistiques de connexion La table des messages du forum Il est possible de séparer ses tables dans plusieurs bases, mais c’est généralement inutile. Une base de données suffit.

Les ID Très souvent, on crée un champ (= une colonne) appelé « id » pour numéroter les entrées id nom prenom ecole promotion specialisation 1 ABRAN Benoît EFREI 2011 SI 2 ADOS Luc 3 BERANGER Aldéric TR 4 BOURELLY François 2012 5 BUSCAN Romain Table « eleves »

Les clés primaires Les ID permettent d’avoir un identifiant unique pour chaque ligne. Ils forment alors la clé primaire de la table. Les ID ne sont pas obligatoires. Une clé primaire peut aussi être un texte (comme le nom de famille). Ce qui compte, c’est qu’il n’y en ait pas 2 identiques dans une même table. Une clé primaire peut être composée de 2 champs ou plus (ex : nom + prénom au cas où il y ait 2 fois le même nom de famille).

Administrer la base avec PHPMyAdmin Un accès facile à prendre en main de la base de données Administrer la base avec PHPMyAdmin

Ligne de commande Normalement, on accède à la base de données MySQL à travers une interface en ligne de commande :

PHPMyAdmin PHPMyAdmin est un outil qui permet de manipuler sa base de données via une interface graphique

WAMP Server Pour installer sur son ordinateur simultanément PHP, MySQL et PHPMyAdmin, on peut utiliser un package tout prêt : WAMP sous Windows : http://www.wampserver.com/dl.php MAMP sous Mac : http://www.mamp.info/en/download.html XAMPP sous Windows / Mac / Linux : http://www.apachefriends.org/fr/xampp.html

Utiliser PHPMyAdmin PHPMyAdmin permet de créer facilement des bases et des tables. On peut aussi ajouter et lire des données, mais le plus souvent on le fait par l’intermédiaire de PHP pour afficher le résultat sur son site web à sa façon.

Utiliser PHPMyAdmin Apprenez à créer une table et à la remplir de données : http://www.siteduzero.com/tutoriel-3-14496-phpmyadmin.html Créez une table pour stocker les élèves pour commencer et insérez quelques données factices. Vous en aurez besoin pour vous entraîner dans la prochaine partie.

Comment parler à la base de données ? Le langage SQL

Parler avec MySQL MySQL se charge d’enregistrer dans des fichiers sur le disque dur pour vous. Vous n’avez pas à vous en soucier. MySQL organise les données de manière optimisée pour accélérer les accès aux données. Vous devez « parler » à MySQL pour récupérer les données qui vous intéressent. On utilise pour cela le langage SQL.

Les requêtes SQL On effectue des « requêtes » à MySQL en langage SQL. 4 grandes familles de requêtes : SELECT : récupérer des données (lire la table) INSERT : insérer des données (remplir la table) UPDATE : modifier des données (mettre à jour la table) DELETE : supprimer des données Il y en a d’autres, moins fréquemment utilisées : CREATE TABLE : crée une table ALTER TABLE : modifie une table (ajoute / supprime des champs…) Etc.

Parler avec MySQL PHPMyAdmin offre une interface pour écrire ses propres requêtes SQL. On peut aussi écrire des requêtes SQL depuis un script PHP (on le verra lors de la prochaine séance)

La requête SELECT De tous les types de requêtes, SELECT est le plus complexe à appréhender. On peut en faire une utilisation très simple comme très complexe (en fusionnant par exemple des données issues de 2 tables différentes). Testez les prochains exemples de code SQL dans PHPMyAdmin et n’hésitez pas à faire vos propres tests.

La requête SELECT SELECT * FROM eleves; Sélectionne toutes les entrées et tous les champs de la table eleves. id nom prenom ecole promotion specialisation 1 ABRAN Benoît EFREI 2011 SI 2 ADOS Luc 3 BERANGER Aldéric TR 4 BOURELLY François 2012 5 BUSCAN Romain SELECT nom, prenom FROM eleves; Sélectionne toutes les entrées mais uniquement les champs nom et prenom de la table eleves. nom prenom ABRAN Benoît ADOS Luc BERANGER Aldéric BOURELLY François BUSCAN Romain

La requête SELECT SELECT * FROM eleves WHERE specialisation='SI'; Uniquement les élèves en spé SI id nom prenom ecole promotion specialisation 1 ABRAN Benoît EFREI 2011 SI 2 ADOS Luc 4 BOURELLY François 2012 SELECT * FROM eleves WHERE specialisation='SI‘ AND promotion < 2012; Uniquement les élèves en spé SI des promos antérieures à 2012 id nom prenom ecole promotion specialisation 1 ABRAN Benoît EFREI 2011 SI 2 ADOS Luc

La requête SELECT SELECT nom FROM eleves WHERE nom LIKE 'A%'; Les élèves dont le nom commence par A (% est un joker) nom ABRAN ADOS SELECT * FROM eleves ORDER BY prenom; Triés par prénom id nom prenom ecole promotion specialisation 3 BERANGER Aldéric EFREI 2011 TR 1 ABRAN Benoît SI 4 BOURELLY François 2012 2 ADOS Luc 5 BUSCAN Romain

La requête SELECT SELECT * FROM eleves ORDER BY promotion, prenom; Triés par promotion puis par prénom id nom prenom ecole promotion specialisation 3 BERANGER Aldéric EFREI 2011 TR 1 ABRAN Benoît SI 2 ADOS Luc 5 BUSCAN Romain 4 BOURELLY François 2012 SELECT * FROM eleves ORDER BY promotion, prenom LIMIT 0,3; Prend uniquement 3 entrées, en commençant par la première entrée de la liste (n°0). Permet de tronquer un résultat. id nom prenom ecole promotion specialisation 3 BERANGER Aldéric EFREI 2011 TR 1 ABRAN Benoît SI 2 ADOS Luc

Les autres requêtes Ce n’est qu’une introduction à SELECT, pour aller plus loin : http://www.siteduzero.com/tutoriel-3-9866-pour-aller-plus-loin.html Pour lier 2 tables entre elles et créer des relations : http://www.siteduzero.com/tutoriel-3-32310-creer-des-relations-dans-votre-base-de-donnees.html http://www.siteduzero.com/tutoriel-3-38831-les-jointures-moyen-d-economiser-des-ressources.html http://www.siteduzero.com/tutoriel-3-32078-sql-selection-multi-tables.html

Pour ajouter, supprimer, modifier… Les requêtes INSERT, UPDATE et DELETE sont en général plus faciles à utiliser qu’INSERT Pour une introduction à ces requêtes, voir : http://www.siteduzero.com/tutoriel-3-14514-ecrire-des-donnees.html