1 / 22

L’utilisation des bases de données

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)

Download Presentation

L’utilisation des bases de données

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. L’utilisation des bases de données Application à MySQL

  2. 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 table • Une ligne d’une table est un enregistrement (ou tuple) • Une colonne d’une table est un attribut

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

  4. Donc c’est quoi ? • Une base de donnée, c’est un ensemble de tables, et chaque table contient de l’information stocké sous forme de tuple. • Exemple : base de donnée de l’ORT : • Une table eleve • Une table classe • Une table matiere • Une table note

  5. Exemple 1 Eleve 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 l’exemple suivant, le modèle détermine la marque et la puissance. On peut alors créer deux tables : Voiture Voiture Modele

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

  8. Schéma relationnel • Une 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

  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 d’abord une présentation de SQL

  10. Créer une base de donnée : /* Table des quartiers */ CREATE TABLE quartiers ( idintNOT NULL auto_increment, nom_quartiertext, PRIMARY KEY (id) ); /* Tables des lieux */ CREATETABLE lieux ( idint NOT NULL auto_increment, nom text, ref_quartierint, description text, PRIMARYKEY (id) );

  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) ); Nouveaux types… Défini la clé principale

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

  13. Insérer des valeurs Permet d’ajouter qu’une partie d’un tuple INSERT INTO quartiers VALUES (1,'Wazemmes'); INSERT INTO quartiers(nom_quartier) VALUES ('Vieux Lille'); INSERT INTO lieux VALUES ('Biplan',1,'Salle de spectacle'); 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;

  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 s’appelle une jointure • Elle se fait grâce à la clé de la table quartiers : • ref_quartier=quartiers.id

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

  17. Suppression • DROP 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

  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 : http://www.siteduzero.com/tuto-3-134-1-phpmyadmin.html

  19. Récupérer des valeurs • Avant 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ée • mysql_select_db("maBase"); • Tous ces identifiants sont donnés par l’hébergeur

  20. Récupérer des valeurs • C’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

  21. Traiter le résultat d’une requête • Utiliser 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 }

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

More Related