Hassan Bensalah, Ph.D., M.Sc.
1
architecture d’accès local:
client
Base de
client
don nées
Serveur
Réside sur le disque serveur
client
Architecture d’accès client/serveur
2
Configuration à trois niveaux (3-tier):
◦ Plus grande flexibilité et souplesse;
◦ Plus grande sécurité;
◦ Meilleures performances.
client
client
client
Serveur
Serveur SGBD
d’applications
Généralement un
client serveur Web
3
mysql -h host-name -u user-name –p
host-name: Identifie la machine où se trouve la bd
user-name: L’identifiant ou nom de l’usager
P: Mot de passe
4
La commande
mysql avec les
options
Mot de passe
invisible
Niveau de
commande
5
Sélection d’une base de donnée existante:
USE nom de la base;
La base donnée
H2006 a été
sélectionnée
Message
confirme la
présence de la
base
6
Syntaxe pour la création d’une base de données:
• CREATE DATABASE ma_BD ;
• ma_BD: comprend plusieurs tables qui
correspondent aux différentes entités que l’on veut
gérer.
Remarque: pas
d’autorisation à la
création d’une base
7
Syntaxe pour la création d’une table:
CREATE TABLE ma_table ( champs_description )
8
INT: nombre entier, positif et obligatoire;
AUTO_INCREMENT: indique au serveur, lors
de la création d’un nouvel enregistrement, de
générer automatiquement une valeur
distincte des autres dans ce champ;
PRIMARY KEY: indique un champ indexé pour
une recherche rapide, et un identifiant unique
qui évite les erreurs de doublons.
9
VARCHAR(long): variable de caractères de longueur variable
avec un maximum de long;
ENUM : un choix parmi une liste préétablie;
NOT NULL: indique que ce champ doit être obligatoirement
rempli;
NULL: indique que ce champ peut être vide, ce qui est différent de
0;
UNSIGNED: précise que la variable numérique doit être positive.
10
Vérification d’existance des tables
Synthaxe:
SHOW TABLES;
7 tables existent dans la
base H2006
11
Structure du contenu d’une table
◦ La commande : DESCRIBE nom_table;
12
SELECT:
SELECT données FROM nom_table WHERE conditions;
Affichage de tout le contenu de la table:
SELECT * FROM nom_table limit n;
13
Liste des cours qui ont un crédit de ‘1’
SELECT * FROM Cours WHERE credits = '1';
: : :
14
Liste des cours qui ont un crédit de ‘2’ et de sigle
MTH
SELECT * FROM Cours WHERE credits = ‘2‘ and sigle LIKE ‘MTH%’;
Un ordre ascendant ou descendant (ASC, DESC )
SELECT * FROM Cours WHERE sigle LIKE ‘MTH%’ ORDER BY credits DESC;
15
Combien le nombre de cours en Math?
SELECT COUNT(*) FROM Cours WHERE sigle LIKE ‘MTH%’;
Combien le nombre de cours en Math par nombre
de crédit?
SELECT credits, COUNT(*) FROM Cours WHERE sigle LIKE ‘MTH%’ GROUP BY credits;
16
Combien de cours de génie mécanique sont disponibles dans
le local B-311 par type C ou L?
SELECT type, COUNT(*) FROM Cours, Horaires WHERE Cours.sigle LIKE ‘MEC%’ AND
Horaires.sigle = Cours.sigle AND local = ‘B-311’ GROUP BY type;
17