Upload
marceline-boulay
View
104
Download
0
Embed Size (px)
Citation preview
Application à MySQL
1
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
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
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
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
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
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
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
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
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
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…
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
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
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
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
ModificationUPDATE quartiers SET
nom_quartier='Waazzeeeemmes !' WHERE id=1;
16
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
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
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
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
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
Se déconnecterAprès avoir récupéré les infos voulues, il faut
se déconnectermysql_close();
A vous de jouer !
22