![Page 1: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/1.jpg)
Application à MySQL
1
![Page 2: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/2.jpg)
Qu’est ce que c’est que ça?Permet d’organiser des informations
Identifiants d’utilisateurs (nom, Mot2Passe…)Articles (Blogs, journaux)Produits (sites de vente)
Une base de donnée peut être vue comme un ensemble de tableaux Excel :Chaque fichier Excel est une tabletableUne ligne d’une tabletable est un enregistrementenregistrement (ou tupletuple)
Une colonne d’une table est un attributattribut
2
![Page 3: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/3.jpg)
Comment intégrer les BDDs ?
3
OrdinateurServeur (123.123.321.321)
OrdinateurClient
Serveur WebNavigateur
Web
DNS
Qui estwww.ici.net
IP123.123.321.321
Aller surwww.ici.net/toto.php
Toto.php ?
Toto.html
Dialogue grâce à PHP
![Page 4: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/4.jpg)
Donc c’est quoi ?Une base de donnée, c’est un ensemble de tablestables, et chaque table contient de l’information stocké sous forme de tupletuple.
Exemple : base de donnée de l’ORT :Une table eleveUne table classeUne table matiereUne table note
4
![Page 5: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/5.jpg)
Eleve
Exemple 1Id Nom Prenom Adresse Telephone
1 Toto Tata 3 rue Paul 1932332332
2 Pouet Poupou 10 avenue Beaumont
1234567890
3 Besancenot
Fred 8 avenue du Prado 0987654321
4 Mistral Jean 5 rue de l’arche 6785437584
5
NoteMatier
e
![Page 6: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/6.jpg)
Règles et conseilsPour bien faire :
Utiliser une clé numérique (un identifiant)Ne pas hésiter à découper une table en deux :
Dans l’exemple suivant, le modèle détermine la marque et la puissance. On peut alors créer deux tables :
Voiture
Voiture
Modele
6
![Page 7: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/7.jpg)
Règle pour découper1. Transformer chaque attribut en attribut
atomique :Quand un attributattribut contient plusieurs informations
(nom et prénom, ou adresse et code postal…)Créer deux (ou plus) attributsattributs.
2. Déterminer quelles dépendances existent entre les attributs pour chaque table
Quand un attribut détermine d’autres attributsattributs (une note et un nom de matière, ou un modèle de voiture et une marque)
Créer deux (ou plus) tablestables.
7
![Page 8: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/8.jpg)
Schéma relationnelUne fois qu’on a décidé de quelles tables
faire, il est possible de faire un schéma relationnel :Comme UML, mais avec :
À la place des classes, c’est les tables À la place des méthodes, c’est les attributs Il n’existe que des liens simples entre les tables Penser aussi aux cardinalités
8
![Page 9: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/9.jpg)
MySQLUne fois les tables décidées, il faut les créer
Plusieurs logiciels (MySQL, PostGres, Access, Oracle…)
Tous utilisent le même langage de requête : le SQL
Tout d’abord une présentation de SQL
9
![Page 10: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/10.jpg)
Créer une base de donnée :/* Table des quartiers */CREATE TABLE quartiers (id int NOT NULL auto_increment,nom_quartier text,PRIMARY KEY (id));
/* Tables des lieux */CREATE TABLE lieux (id int NOT NULL auto_increment,nom text, ref_quartier int,description text,PRIMARY KEY (id));
10
![Page 11: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/11.jpg)
Créer une base de donnée :/* Table des quartiers */CREATE TABLE quartiers (id int NOT NULL auto_increment,nom_quartier text,PRIMARY KEY (id));
/* Tables des lieux */CREATE TABLE lieux (id int NOT NULL auto_increment,nom text, ref_quartier int,description text,PRIMARY KEY (id));
11
Défini la clé principale
Nouveaux types…
![Page 12: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/12.jpg)
Insérer des valeursINSERT INTO quartiers VALUES (1,'Wazemmes');
INSERT INTO quartiers(nom_quartier) VALUES ('Vieux Lille');
INSERT INTO lieux VALUES ('Biplan',1,'Salle de spectacle');
12
![Page 13: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/13.jpg)
Insérer des valeursINSERT INTO quartiers VALUES (1,'Wazemmes');
INSERT INTO quartiers(nom_quartier) VALUES ('Vieux Lille');
INSERT INTO lieux VALUES ('Biplan',1,'Salle de spectacle');
13
Permet d’ajouter qu’une partie d’un
tupletuple
Le numéro de la clé est sous entendu
![Page 14: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/14.jpg)
Interrogation de la baseTout le contenu de la table quartiers :
SELECT * FROM quartiers;Tous les noms de lieux:
SELECT nom FROM lieux;Même chose mais classé par ordre
alphabétique :SELECT nom FROM lieux ORDER BY nom;
Compter le nombre de lieux différents :SELECT COUNT(DISTINCT nom) FROM lieux;
14
![Page 15: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/15.jpg)
Interrogation suiteTous les noms de lieux qui se trouvent dans
le quartier "Q1":SELECT lieux.nom FROM lieux,quartiers
WHERE lieux. ref_quartier=quartiers.id and quartiers.nom="Q1";
Cette opération s’appelle une jointureElle se fait grâce à la clé de la table quartiers :
ref_quartier=quartiers.id
15
![Page 16: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/16.jpg)
ModificationUPDATE quartiers SET
nom_quartier='Waazzeeeemmes !' WHERE id=1;
16
![Page 17: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/17.jpg)
SuppressionDROP TABLE quartiers;
Supprime toute la table mais il faut qu’elle soit vide
DELETE FROM lieux;Vide toute la table
DELETE FROM lieux WHERE ref_quartier=1;Supprime toutes les lignes où ref_quartier=1
17
![Page 18: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/18.jpg)
Outils pour bases de donnéesMySQL :
Utiliser PHP (pour faire un site)Utiliser la ligne de commandeUtiliser C++ (et autre langage de
programmation)PhpMyAdmin
Tutorial : http://www.siteduzero.com/tuto-3-134-1-
phpmyadmin.html
18
![Page 19: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/19.jpg)
Récupérer des valeursAvant toute chose, il faut se connecter :
mysql_connect("localhost", "tibo", "cFrrI954"); 1er paramètre : L’adresse IP du serveur MySQL 2ème paramètre : nom d’utilisateur 3ème paramètre : mot de passe
Ensuite sélectionner la base de donnéemysql_select_db("maBase");
Tous ces identifiants sont donnés par l’hébergeur
19
![Page 20: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/20.jpg)
Récupérer des valeursC’est bien joli, mais il faut pouvoir récupérer
le contenu :$reponse = mysql_query("Tapez votre requête
SQL ici");Requête SQL?
Création, modification en SQL…SELECT * FROM quartiers;
$reponse contient le résultat de la requete
20
![Page 21: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/21.jpg)
Traiter le résultat d’une requêteUtiliser une boucle :
Tant qu’il y a une ligne à récupérer :while ($donnees = mysql_fetch_array($reponse) ) {//On affiche le contenu d’une case :
Print($donnees['nom']);//on affiche le contenu de la case nom
Print("<br />");//retour à la ligne
}
21
![Page 22: Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)](https://reader036.vdocuments.net/reader036/viewer/2022070309/551d9d9f497959293b8cdac3/html5/thumbnails/22.jpg)
Se déconnecterAprès avoir récupéré les infos voulues, il faut
se déconnectermysql_close();
A vous de jouer !
22