l’utilisation des bases de données

22
Application à MySQL 1

Upload: damian-house

Post on 01-Jan-2016

28 views

Category:

Documents


1 download

DESCRIPTION

L’utilisation des bases de données. Application à MySQL. 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) - PowerPoint PPT Presentation

TRANSCRIPT

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