La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)

Présentations similaires


Présentation au sujet: "Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)"— Transcription de la présentation:

1 Application à MySQL 1

2 Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux) Produits (sites de vente) Une base de donnée peut être vue comme un ensemble de tableaux Excel : table Chaque fichier Excel est une table tableenregistrementtuple Une ligne dune table est un enregistrement (ou tuple) attribut Une colonne dune table est un attribut 2

3 Comment intégrer les BDDs ? 3 Ordinateur Serveur ( ) Ordinateur Client Serveur Web Navigateur Web DNS Qui est IP Aller sur Toto.php ? Toto.html Dialogue grâce à PHP

4 Donc cest quoi ? tables tuple Une base de donnée, cest un ensemble de tables, et chaque table contient de linformation stocké sous forme de tuple. Exemple : base de donnée de lORT : Une table eleve Une table classe Une table matiere Une table note 4

5 Eleve Exemple 1 IdNomPrenomAdresseTelephone 1TotoTata3 rue Paul PouetPoupou10 avenue Beaumont BesancenotFred8 avenue du Prado MistralJean5 rue de larche Note Matiere

6 Règles et conseils Pour bien faire : Utiliser une clé numérique (un identifiant) Ne pas hésiter à découper une table en deux : Dans lexemple suivant, le modèle détermine la marque et la puissance. On peut alors créer deux tables : Voiture Modele 6

7 Règle pour découper 1. Transformer chaque attribut en attribut atomique : attribut Quand un attribut contient plusieurs informations (nom et prénom, ou adresse et code postal…) attributs Créer deux (ou plus) attributs. 2. Déterminer quelles dépendances existent entre les attributs pour chaque table attributs Quand un attribut détermine dautres attributs (une note et un nom de matière, ou un modèle de voiture et une marque) tables Créer deux (ou plus) tables. 7

8 Schéma relationnel Une fois quon a décidé de quelles tables faire, il est possible de faire un schéma relationnel : Comme UML, mais avec : À la place des classes, cest les tables À la place des méthodes, cest les attributs Il nexiste que des liens simples entre les tables Penser aussi aux cardinalités 8

9 MySQL Une 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 dabord une présentation de SQL 9

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) ); 10

11 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…

12 Insérer des valeurs INSERT INTO quartiers VALUES (1,'Wazemmes'); INSERT INTO quartiers(nom_quartier) VALUES ('Vieux Lille'); INSERT INTO lieux VALUES ('Biplan',1,'Salle de spectacle'); 12

13 Insérer des valeurs INSERT INTO quartiers VALUES (1,'Wazemmes'); INSERT INTO quartiers(nom_quartier) VALUES ('Vieux Lille'); INSERT INTO lieux VALUES ('Biplan',1,'Salle de spectacle'); 13 tuple Permet dajouter quune partie dun tuple Le numéro de la clé est sous entendu

14 Interrogation de la base Tout 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

15 Interrogation suite Tous 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 sappelle une jointure Elle se fait grâce à la clé de la table quartiers : ref_quartier=quartiers.id 15

16 Modification UPDATE quartiers SET nom_quartier='Waazzeeeemmes !' WHERE id=1; 16

17 Suppression DROP TABLE quartiers; Supprime toute la table mais il faut quelle 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

18 Outils pour bases de données MySQL : Utiliser PHP (pour faire un site) Utiliser la ligne de commande Utiliser C++ (et autre langage de programmation) PhpMyAdmin Tutorial : 18

19 Récupérer des valeurs Avant toute chose, il faut se connecter : mysql_connect("localhost", "tibo", "cFrrI954"); 1 er paramètre : Ladresse IP du serveur MySQL 2 ème paramètre : nom dutilisateur 3 ème paramètre : mot de passe Ensuite sélectionner la base de donnée mysql_select_db("maBase"); Tous ces identifiants sont donnés par lhébergeur 19

20 Récupérer des valeurs Cest 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

21 Traiter le résultat dune requête Utiliser une boucle : Tant quil y a une ligne à récupérer : while ($donnees = mysql_fetch_array($reponse) ) { //On affiche le contenu dune case : Print($donnees['nom']);//on affiche le contenu de la case nom Print(" ");//retour à la ligne } 21

22 Se déconnecter Après avoir récupéré les infos voulues, il faut se déconnecter mysql_close(); A vous de jouer ! 22


Télécharger ppt "Application à MySQL 1. Quest ce que cest que ça? Permet dorganiser des informations Identifiants dutilisateurs (nom, Mot2Passe…) Articles (Blogs, journaux)"

Présentations similaires


Annonces Google