TP 3 Master CTN
A création du schéma de la base de données.
- phpMyAdmin est un outil écrit en php pour manipuler le système de gestion de base de données
(SGBD) Mysql, il est accessible via EasyPhp à une des adresses suivantes : http://127.0.0.1:8887/modules/ ou
http://127.0.0.1:8887/home/mysql/ ou http://127.0.0.1:8887/phpmyadmin/
- Une base de données regroupe un ensemble de tables de données (équivalent au classeur Excel)
- Une table de données regroupe et structure un type d'information (équivalent à une feuille Excel)
- Cas pratique, une liste d'élève du Master CTN qui dispose de plusieurs adresses email :
Première table listant les élèves: (nom de la table eleve): avec les champs id, nom, prenom, promotion :
id nom prenom promotion
1 Dupond Alfonse 2008
2 Duval Joseph 2008
3 Smith John 2009
Nota : id est le champ clé de la table, il permet d’identifier de manière unique chaque enregistrement (VF :
chaque ligne)
Seconde table listant leurs adresses emails: (nom de la table email) avec les champs id, mail, id_eleve
id mail id_eleve
Nota : id_eleve et le champ clé étrangère car il est en liaison avec le champ id de la table eleve
Nota 2 : Dans notre exemple les champs (les colonnes) id de la table élève et de la table email sont prévues pour
être automatiquement incrémenté, identifiant chaque ligne de manière unique.
Dans l’outil phpmyadmin :
Créer une nouvelle base de données appelé base_contact
Onglet "Bases de données" > Créer une base de données
Dans la partie gauche de l'interface de phpMyAdmin, choisir cette base de données
Créer une nouvelle table appelée eleve (sans accent) avec 4 colonnes
id est un IDentifiant de type INT indiquant que l'on va stocker des nombres entiers, il faut par
contre utiliser la barre de défilement horizontal pour trouver l'information A_I (auto incrémentation) pour que
ce champ soit automatiquement incrémenté. Ce champ est appelé une clé car il est unique pour chaque
enregistrement (ligne) de la table.
nom et prenom sont des champs pouvant recevoir tout type de texte (nombre, symbole, lettres,
etc.) sur une seule ligne en quantité VARiable de 0 à 50 CARactère (en anglais Character) VARCHAR
promotion va être indiqué en tant que CHAR (caractère) de taille fixe 4, il faudra forcément
avoir 4 symboles 2004, 2005, 2006, 2007. Impossible d'avoir 98,99,00,01,02
Appuyer sur le bouton "Sauvegarder"
Insérer des données dans cette table via le bouton "Insérer" en s'inspirant du cas pratique indiqué au
dessus :
Faite une dizaine d’enregistrement dans la table eleve:
Créer une nouvelle table appelée email (sans accent) avec 3 colonnes
id est un IDentifiant de type INT indiquant que l'on va stocker des nombres entiers, il faut par contre
utiliser la barre de défilement horizontal pour trouver l'information A_I (auto incrémentation) pour que ce
champ soit automatiquement incrémenté. Ce champ est appelé une clé car il est unique pour chaque
enregistrement (ligne) de la table.
mail est un champs pouvant recevoir tout type de texte (nombre, symbole, lettres, etc.) sur une seule
ligne en quantité VARiable de 0 à 100 CARactère (en anglais Character) VARCHAR
id_eleve est de type INT mais pas A_I car il fait référence à la clé de la table eleve. id_eleve est une clé
étrangère liant la table eleve à la table email.
Insérer des données dans cette table via le bouton "Insérer" en s'inspirant du cas pratique indiqué au
dessus
Il faudrait disposer au final d'un élève avec plusieurs adresses email, un élève avec une seule adresse
email et un élève sans aucune adresse email.
B Interrogation en SQL.
Ouvrer l’onglet SQL en choisissant la base de données base_contact :
Essayez la requête suivante et expliquez son effet:
SELECT prenom,nom FROM eleve ;
Essayez la requête suivante et expliquez son effet :
SELECT * FROM eleve ;
Essayez la requête suivante et expliquez son effet:
SELECT id, nom FROM eleve limit 3,2;
Essayez la requête suivante et expliquez son effet:
SELECT id, nom FROM eleve limit 1,2;
Essayez la requête suivante et expliquez son effet:
SELECT * FROM eleve WHERE Nom = 'Dupond' ;
Essayez la requête suivante et expliquez son effet:
SELECT * FROM eleve WHERE Promotion = '2008' ;
Essayez la requête suivante et expliquez son effet:
SELECT * FROM eleve WHERE Promotion = '2008' AND Nom ='Dupond' ;
COUNT permet de compter le nombre de lignes incluses dans une table, essayer l’exemple :
select count(*) FROM eleve;
Afficher le nombre d’élèves dont le nom commence par D :
select count(*) FROM eleve WHERE nom LIKE 'D%';
Afficher (que) les élèves qui ont des emails
SELECT nom,prenom,mail FROM eleve, email WHERE eleve.id=email.id_eleve;
Insérer un nouvel élève
INSERT INTO eleve VALUES(NULL, 'Gineau', 'Nicolas', '2010');
Supprimer un élève
DELETE FROM eleve WHERE nom='Gineau';
Modifier (mettre à jour) le nom d'un élève
UPDATE eleve SET nom='Dupont' WHERE nom= 'Dupond'
Afficher le nombre d'emails par élève
SELECT id_eleve, mail, count(mail) FROM email GROUP BY id_eleve
Faire et expliquer
SELECT * FROM eleve, email WHERE eleve.id = email.id_eleve
Faire et expliquer
SELECT * FROM eleve LEFT JOIN email ON eleve.id = email.id_eleve
Faire une requête SQL qui affiche le nom de l'élève et une de ses adresses emails sans
aucune autre information technique
Faire une requête SQL qui affiche le nom de l'élève et le nombre de ses adresses emails sans
aucune autre information technique
C Création d’un utilisateur de la base de données
Pour accéder à une base de données, il faut disposer d’un compte utilisateur qui dispose de droit sur
cette base de données.
La création d’un nouvel utilisateur se fait via l’onglet Privilèges ; parfois renommé Utilisateur dans les
dernières versions de phpmyadmin.
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !