Cours de Base de Données pour Bac 2 Info
Cours de Base de Données pour Bac 2 Info
COURS DE BASE DE
DONNEES
Destiné aux étudiants de BAC 2 Conception des systèmes d’information
Volume horaire : 45 H
Crédits : 3
Année académique
2024-2025
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
OBJECTIFS
Les bases de données relationnelles permettent de faire fonctionner des applications
essentielles pour les entreprises et des applications Web. La conception réussie d'une base de
données repose sur la précision et l'exhaustivité avec lesquelles les besoins utilisateurs ont été
exprimés.
Ce cours s'adresse aux étudiants du cycle de Licence en informatique de gestion impliqués
dans la conception, la réalisation et l'utilisation de bases relationnelles, dans la mise en œuvre
d'applications de bases de données, mais également dans la gestion de projets de
développement de ces bases.
Il apprend notamment à :
• exprimer les besoins en information des applications de manière simple et rigoureuse,
• concevoir une base de données avec une démarche de gestionnaire d'entreprise,
• implémenter une base de données sur un système de gestion de bases de données
(SGBD) relationnel.
Objectivement, il sera question de:
• Concevoir, créer et utiliser une base de données relationnelle à l'aide de méthodes
éprouvées
• S'assurer que la conception de la base de données reflète bien les besoins métier
• Gérer les contraintes d'intégrité
• Simplifier le code et améliorer les performances en évitant les erreurs communes
Prérequis
• Bonne maitrise de l'environnement Windows (clavier, souris, …)
• Connaissance des terminologies informatiques de base (fichier, dossier, icones, clic,
double-clic, …)
• Bonne connaissance des notions de Modélisation informatique avec la Méthode
MERISE.
Plan
o Introduction
o Chapitre premier : Concepts de base
o Chapitre deuxième : Base de données Access
o Chapitre troisième : Base de données MySQL
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 1
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
INTRODUCTION
Depuis l’orée des temps, l’homme a toujours eu besoin de compter. Dans la préhistoire, il ne
savait calculer qu’à l’aide des cailloux ou de ses mains qui furent sans doute les premières
calculatrices de poche.
Les objets ont servi à nos ancêtres de compter et pour effectuer toutes sortes d’opérations
arithmétiques.
Curieusement, on parle de calcul digital dans la nouvelle science informatique. Notre système
décimal actuel est le résultat de cette évolution et des moyens mis en œuvre pour lui donner
des formes adaptées à l’expression écrite et orale et aux diverses méthodes de calcul.
Parallèlement à cette évolution de signes, calculs mentaux et manuels, on assistait au
développement d’outils, de systèmes, de machines pour simplifier et accélérer les bases de
différentes opérations et recherches que l’homme ne cesse d’effectuer du jour au lendemain.
Ainsi, ce n’est qu’au XVIIème siècle qu’on a conceptualisé les bases de la science moderne et
c’est là qu’on trouve les racines mêmes de ce grand développement d’idées qui conduira à
l’ordinateur.
De nos jours, l’ordinateur a franchi beaucoup d’obstacles et a dépassé le simple stade de
comptage dans le domaine d’arithmétique longtemps considéré comme domaine d’application
de celui-ci.
Les bases de données sont de nos jours une part importante des systèmes informatiques. Leur
gestion s’appuie sur une théorie solide, nécessite la mise en œuvre d’un ensemble
d’algorithmes sophistiqués et optimisés et demande le développement d’architectures
spécialisées.
Les systèmes de gestion des bases de données sont souvent considérés comme un premier
niveau de programmes d’application utilisant un système d’exploitation dont une des
fonctions essentielles est notamment la gestion des fichiers permettant le stockage des
données sur les mémoires secondaires.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 2
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
CHAPITRE PREMIER.
CONCEPTS DE BASE
Les activités humaines génèrent des données, lesquelles données, aujourd'hui, sont de plus en
plus souvent gérées par des moyens informatiques.
ü Donnée ou information ?
La codification des signes permet de représenter des données. Une série de signes comme le
« 1 » ou le « T » deviennent une donnée lorsqu’on connaît la codification correspondante,
comme le code ASCII par exemple.
Une information est quelque chose de beaucoup plus qu’une donnée brute. C’est une donnée
qui a un sens, et ce sens provient d’un certain modèle d’interprétation.
Ainsi une donnée peut revêtir plusieurs sens selon le modèle d’interprétation qui lui est
associé.
Par exemple, la donnée « 12101987 » peut être interprétée par un francophone comme le 12
octobre 1987 alors qu’un anglo-saxon y verrait le 10 décembre 1987.
Tout dépend donc du modèle d’interprétation.
Ceci est un exemple typique simple d’une donnée dont l’interprétation fournit une
information essentielle à notre vie quotidienne.
Le modèle d’interprétation fait partie de notre culture générale et se réfère à un contexte
sémantique précis. Ainsi tout le monde sait par exemple que lorsqu’une voiture est
immatriculée au Katanga, son numéro commence par KT…
En résumé :
Donnée = Signe + Code
Information = Donnée + Modèle d’interprétation
L’information est en définitive un élément de connaissance caractérisant un fait ou un
événement et pouvant être transmis par un signal ou une combinaison de signaux.
Il s’agit donc d’un renseignement sur quelqu’un ou quelque chose qui a un sens pour celui qui
veut l’utiliser dans un contexte sémantique précis.
C’est finalement une donnée qui a un sens et un impact sur le récepteur. Sa valeur est
proportionnelle à son impact et à son potentiel de surprise.
La valeur d’une information est quelque chose de très difficile à quantifier. Elle dépend de
plusieurs facteurs : de l’écoulement du temps (une information fraîche vaut beaucoup plus
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 3
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 4
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 5
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 6
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 7
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Les BD et le Web.
De nombreuses bases de données sont intimement liées au Web. En outre, le Web peut être vu
comme une gigantesque base de données (largement incohérente et redondante !) Qu'en est-il
des principes rigoureux des bases de données dans ce contexte ?
Les données décisionnelles.
Les données ne servent pas seulement à contrôler la gestion et le fonctionnement d'une
entreprise au jour le jour.
Elles sont aussi souvent utilisées pour soutenir des décisions tactiques et stratégiques.
Caractéristiques : traitement de très gros volumes de données complexes pour produire une
réponse courte (une heure de traitement de plusieurs téraoctets pour en extraire un seul
nombre !)
Comment structurer une base de données dans ce sens (= entrepôts de données) ?
II.3. Les structures de données de base
Le modèle relationnel est basé sur le schéma Entité – Association et repose sur les notions
mathématiques simples de la théorie des ensembles. C’est un modèle de type conceptuel et est
actuellement utilisé par plusieurs méthodes et outils d’aide à la conception de bases de
données. Le modèle E-A permet une représentation graphique assez lisible du chemin d’une
base de données.
Toute organisation faisant partie du monde réel peut être représentée comme un tout constitué
de deux éléments :
- les objets (appelés Entités)
- les liens entre ces objets (appelés Associations).
II.3.1. Le concept d’entité
Une entité est un objet concret ou abstrait de la réalité pour lequel on souhaite connaître et
enregistrer des informations.
C’est une représentation d’un élément matériel ou immatériel du monde réel ayant un rôle
dans le système où l’on voudrait opérer. C’est un modèle d’objet identifié du monde réel dont
le type est défini par un nom et une liste de propriétés (rubriques) qui le caractérisent.
L’identification [logique] des entités à modéliser constitue la première étape de représentation
logique des données.
Ces entités peuvent définir des personnes, des endroits, des choses ou des concepts.
Généralement elles correspondent aux noms figurant dans le système à modéliser.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 8
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 9
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Exemple
Attribut : Domaine
Nom d'une personne : Caractères alphanumériques
Quantité en stock : Nombre entier positif
Prix d'un article : Nombre avec 2 décimales
Date d'une commande : Jour / Mois / Année
N.B.
• Une association peut aussi posséder des attributs. Dans l’exemple ci-dessus, les
attributs date d’achat et prix peuvent appartenir à l’association Acheter.
• L’identifiant d’une association est constitué de l’ensemble des identifiants des entités
impliquées dans l’association.
II.3.7. Cardinalités
La cardinalité d’un lien entre une entité et une association est le minimum et le maximum de
fois qu’une instance de l’entité participe à l’association.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 10
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
- Minimum : 0 ou 1
- Maximum : 1 ou n
- Combinaisons possibles : (0,1) (1,1) (0,n) (1,n)
Exemple
- Un client peut acheter une à plusieurs fois (car pour être considéré comme client, il
faut avoir acheté au moins une fois) ; d’où (1,n)
- Un article peut ne pas être acheté ; ou s’il l’est, il peut l’être plusieurs fois. D’où (0,n)
II.3.8. Contrainte d’intégrité
Une contrainte d'intégrité est une propriété du schéma E/A, invariante dans le temps. On peut
aussi l’appeler règle de gestion. C’est en fait une règle de cohérence dans la structure des
données qui forment le système observé.
* La contrainte d’intégrité référentielle est une contrainte exprimée entre deux relations.
Intuitivement, elle consiste à vérifier que l'information utilisée dans un nuplet pour désigner
un autre nuplet est valide, notamment si le nuplet désigné existe bien.
Par exemple, on ne peut créer une commande pour un fournisseur qui n’existe pas, de même
qu’on ne peut supprimer un fournisseur pour lequel il existe encore des commandes non
soldées.
II.4. Perception du monde réel
Le monde réel peut être modélisé à l’aide d’entités qui représentent les objets ayant une
existence visible, et d’associations entre ces objets.
A titre d’exemple, soient les données modélisant des entités « personne » et « voiture », et le
type d’association « possède » qui traduit le fait qu’une personne est propriétaire d’une ou
plusieurs voitures. Une personne est caractérisée par un numéro de sécurité sociale (NSS), un
nom et un prénom alors qu’une voiture est caractérisée par les attributs Numéro de véhicule,
Marque, Type, Puissance et Couleur.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 11
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Chaque personne est identifiée par une occurrence du numéro de sécurité sociale (NSS) alors
que chaque voiture est identifiée par un numéro de véhicule (NV).
A chaque occurrence d’association correspond par exemple une date d’achat (DATE) et un
prix d’achat (PRIX).
La figure ci-dessous illustre la partie du monde réel modélisée en représentant une entité par
un rectangle, une association par un hexagone et un attribut par un cercle.
Graph.2
Le modèle relationnel se prête bien à la représentation des entités et des associations. Une
entité est représentée par une relation (table) dont le schéma est le nom de l’entité suivi de la
liste des attributs de l’entité.
Par exemple, les entités PERSONNE et VOITURE seront respectivement représentées par les
relations :
- PERSONNE (NSS, NOM, PRENOM)
- VOITURE (NV, MARQUE, TYPE, PUISSANCE, COULEUR)
Une association est représentée par une relation dont le schéma est le nom de l’association,
suivie de la liste des identifiants des entités participantes et des attributs de l’association.
Par exemple, l’association POSSEDE sera représentée par la relation :
- POSSEDE (NSS, NV, DATE, PRIX).
Notons qu’une mauvaise perception des entités et associations représentant le monde réel
modélisé conduit à des relations problématiques.
Imaginons par exemple que l’on isole une entité unique PROPRIETAIRE contenant tous les
attributs des trois relations PERSONNE, VOITURE et POSSEDE. Ainsi, nous pourrions
représenter toutes les informations modélisées par une seule relation.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 12
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 13
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Ici, le Matricule de l’agent détermine son Nom, son Prénom, sa Catégorie et son Adresse.
De même ici, l’Adresse Fournisseur et le Prix sont déterminés par le Nom du Fournisseur et
l’Article Fourni.
Il est essentiel de bien remarquer qu’une dépendance fonctionnelle est une assertion sur toutes
les valeurs possibles et non pas sur des valeurs actuelles ; elle est caractérisée par une
intention et non une extension d’une relation. Autrement dit, il est impossible de déduire les
dépendances fonctionnelles d’une réalisation particulière d’une relation. La seule manière de
déterminer une dépendance fonctionnelle est de regarder soigneusement ce que signifient les
attributs car ce sont des assertions sur le monde réel qui lient les valeurs possibles des
attributs entre elles.
En pratique, une base de données n'est créée qu'à l'aide d'un Système de Gestion de Base de
données (SGBD) qui est un logiciel.
Dans le cadre de ce cours, nous allons faire usage de MS ACCESS et MySQL.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 14
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
CHAPITRE DEUXIEME.
Cliquer sur Base de données vide pour créer, puis sur cette zone pour saisir le nom de votre
fichier Access comme illustré ci-après.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 15
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
3
2
Légende
1. Liste des objets principaux d'Access
2. La table (nommée par défaut Table1) en mode affichage
3. Bouton bascule, permettant d'afficher une table ou un objet Access en différents
modes (Mode création, Mode Feuille de données, …)
4. L'onglet Accueil
5. L’onglet "Créer" permettant de créer tout objet Access (Table, Requête,Formulaires,
Etat, …).
6. L'onglet Données externes permettant l’importation ou l'exportation des données.
7. L'Onglet de base de données, permettant l'accès aux commandes relatives à la base de
données (relations, ……)
8. L’onglet Outils tables-création permettant de créer le(s) champ(s) clé.
9. L’onglet Fichier/Bouton office permettant d’accéder aux tâches habituelles de gestion
des fichiers (enregistrer, imprimer, Options, …)
Ce qu’il faut retenir :
Une base des données Access est composée de Table, Requête,
formulaire, et Etat.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 16
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
1
2
Pour ce faire :
1. Cliquer sur l'onglet "Créer"
2. Puis sur Création de table
3. Taper ici le nom de chaque champ
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 17
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Cliquez ici pour faire de ce champ CodeClient, une clé primaire de cette table
La clé (encore appelée "clé primaire") identifie de manière unique chaque enregistrement de
la table.
Le champ clé auquel on a appliqué une clé acquiert les propriétés suivantes :
- les doublons (deux informations identiques ou plus) sont désormais interdits par le
système.
- la présence de la clé interdit la présence d'un champ vide dans un enregistrement.;
- le champ auquel on applique une clé est automatiquement trié par ordre croissant.
Pour supprimer une clé, il faut sélectionner le champ et cliquer sur l'icône de la clé
; cette icône fonctionne comme un commutateur.
Notons enfin qu'il ne peut y avoir qu'une seule clé simple ou composée par table.
Etape 3. Enregistrer la table pour lui donner un nom
Ceci constitue la dernière étape de création de la table.
Il faut que la table ait un nom afin de l’identifier et la distinguer d’autres tables.
Pour ce faire
Cliquer sur,
puis saisir ici le nom de la table
Cliquer sur Ok
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 18
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 19
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
3. Dans la boîte de dialogue qui suit, cliquez sur parcourir pour affichez les fichiers de
type Excel dans le dossier où se situe le fichier Excel, et choisissez le fichier à
importer.
5. A l 'étape suivante, cochez la case "Première ligne contient les en-têtes de colonnes"...
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 20
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
A cette étape cliquez sur suivant. (Toutes les opérations de cette étape peuvent être faites plus
tard, en ouvrant la table finale en mode Création).
§ Choisir votre clé ou laisser Access créer la clé automatiquement ou Pas de clé.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 21
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 22
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Faites de même pour relier les autres tables afin d’avoir les relations illustrées ci-après.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 23
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Exercice. Créer une base de données ayant les tables ci-dessous et reliez les
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 24
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Pour créer une requête simple cliquer sur créer puis sur création de requête comme le montre
la figure ci-après.
Cliquez sur
l’Onglet CREER
Puis cliquer sur le bouton
Création de requête
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 25
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Pour y introduire un champ dans la grille de définition de la requête nous disposons de trois
méthodes :
cliquer sur la ligne "Champ :" et choisir dans la liste déroulante qui s'affiche ;
double cliquer sur le nom du champ ;
tirer le nom du champ avec la souris de la table vers la grille.
La requête étant définie, nous l'exécutons en cliquant sur le bouton de la barre d'outils. Nous
obtenons le résultat suivant :
nom_personne prénom
Turlutu Jean
Surpont Yvette
Lechant Paul
Durand Nathalie
Lechant Paul
Verseau Pierre
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 26
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Le signe & désigne, comme en Visual Basic, l'opérateur de concaténation de chaînes. Les
crochets [........] signifient que l'on évoque le contenu des champs correspondants. Le résultat
de la requête est le suivant :
nom_personne
Turlutu Jean
Surpont Yvette
Lechant Paul
Durand Nathalie
Lechant Paul
Verseau Pierre
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 27
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
2.4.4.1 La syntaxe
- une donnée de type texte doit être écrite entre guillemets ("..."), et précédée de
l'opérateur "Comme".
- les nombres sont écrits tels quels ;
- la date et / ou l'heure doivent être placées entre dièses (exemple : #01/01/2003#). Dans
certains SGBD, le dièse est remplacé par l'apostrophe ;
- un booléen doit être déclaré vrai ou faux.
2.4.4.2 Les caractères génériques
Pour rechercher les enregistrements qui contiennent la chaine de caractère "rie" dans un
champ donné, nous écrivons, Comme "*rie*"
Les caractères génériques, sont des caractères qui peuvent remplacer un ou plusieurs autres
caractères quels qu'ils soient. Le caractère générique le plus fréquemment utilisé est
l'astérisque *, qui remplace un nombre quelconque de caractères.
Ainsi :
Caractère Type de données Exemple Effets
générique d'application
* Texte Comme permet de sélectionner tout
"*truc" enregistrement dont le champ considéré
contient une chaîne de caractères se
terminant par "truc", telle que "truc" et "le
truc". Mais "trucage" sera ignoré.
? Texte Comme "c?d" remplace un caractère quelconque et un
seul. On retrouvera par exemple cad, ced,
cid, cod, mais pas cd
Texte Comme recherche le point d'interrogation (placé
"*[?]*" n'importe où dans un champ). Le ? étant
un caractère générique, il faut le placé
entre crochets.
Notons de plus que, dans les versions récentes de la plupart des SGBD, l'astérisque est
remplacé par le pourcent (%) et le point d'interrogation par le caractère de soulignement (_).
Et voici un exemple d’une requête multicritères :
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 28
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Vous pouvez utiliser plusieurs paramètres dans un critère. Par exemple, Entre [Date début :]
Et [Date fin :] génère deux invites quand vous exécutez la requête.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 29
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Certaines bases de données sont principalement alimentées en données par importation des
données : le formulaire ne sert alors plus à rien.
C'est, par exemple, le cas des magasins à grande surface, qui alimentent leur BDD
directement et en temps réel depuis les caisses enregistreuses. C'est aussi le cas des sites web
qui déversent quotidiennement leur fichier journal dans la BDD qui sert au suivi du site et à
la mesure d'audience. C'est encore le cas de tous ceux qui font de l'acquisition de données via
des capteurs couplés à des ordinateurs, etc.
Accessoirement, le formulaire sert aussi d'outil de visualisation, c’est-à-dire de consultation
du contenu de la base à l'écran.
2.5.2 La création d'un formulaire simple
Pour créer un formulaire procédez comme illustré ci-après
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 30
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Pour étudier les formulaires, nous utiliserons une table (nommée "Projet") dotée d'une liste de
choix (nommée "Titre"), comme le montre la figure ci-dessous.
Fournir à l'assistant les informations utiles (tables, champs, etc.)
Voici comment se présente le formulaire, dont le nom apparaît désormais dans la fenêtre
"Base de données" :
Le formulaire est constitué d'étiquettes (les noms des champs dans la table) et de contrôles
correspondant aux champs de la table. Lorsqu'ils sont directement dérivés de la table, les
contrôles sont appelés "contrôles dépendants", ou encore "champs".
2.5.3 Le perfectionnement du formulaire
Pour modifier les propriétés d'un formulaire, il faut ouvrir sa feuille de propriétés de la
manière suivante :
- sélectionner le formulaire ;
- cliquer sur l'icône "Modifier" ou cliquer droit sur le formulaire à modifier et aller dans
Mode Création ;
- cliquer sur l'icône "Propriétés" ou « Feuille de propriété » ou double-
cliquer sur le carré noir qui se trouve en haut et à gauche de la fenêtre du
formulaire ;
- sélectionner l'onglet "Données" pour Access 2007 ou « Création » pour Access 2010
et supérieur, qui donne accès à diverses propriétés du formulaire.
Les contrôles :
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 31
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Voici la liste des contrôles que nous pourrons utiliser, les contrôles non documentés servent,
de façon générale, à insérer dans un formulaire des "objets" provenant d'autres applications
Windows, comme par exemple un fichier sonore Wav, une vidéo AVI, un fichier au format
Word, une page HTML, etc.
Pour tous les contrôles placés sur le formulaire, en cliquant dessus avec le bouton droit, on
obtient le menu ci-contre :
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 32
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Cliquez sur
1 2 Puis cliquez
l’onglet sur le bouton
CREER Assistant Etat
Les manuels, en général, conseillent d'utiliser l'assistant en toutes circonstances, car créer un
état à partir de rien est assez fastidieux.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 33
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Il existe aussi une icône "Nouveau", qui redonne le mode création et l'assistant, mais propose
de plus des fonctions dont l'intérêt est plutôt mince :
- État instantané : Colonnes. Cette fonction crée un état en présentation verticale dès
que nous lui fournissons le nom de la table ou de la requête. Nous ne sommes pas
maître des paramètres, et le résultat est sommaire ;
- État instantané : Tableau. Cette fonction opère comme la précédente, mais en
présentation tabulaire ;
- Assistant graphique. Cette fonction permet de créer des graphiques, mais leur qualité
est très mauvaise. Pour créer un graphique correct, il faut exporter les données vers un
tableur ;
- Assistant étiquette. Comme son nom l'indique, cette fonction permet d'imprimer des
étiquettes.
2.6.2 La structure de l'état
L'état que nous venons de créer apparaît dans la fenêtre "Base de données" (l'objet "État" étant
sélectionné). Nous le sélectionnons, puis nous cliquons sur l'icône "Modifier". Une fenêtre
s'ouvre, qui nous permet de modifier l'état.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 34
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
b) Créer une 2ème requête nommée RDetails basée sur les tables Article et
DetaislFacture. Ajouter le champ calculé PrixTotal comme illustré ci-après
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 35
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 36
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 37
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Le formulaire montre maintenant les informations du formulaire ainsi que les items facturés.
Mais il ne montre pas le total de la facture. Il faut ajouter un champ calculé pour le voir
Etape 6 : Ajouter le total de la facture au sous formulaire
- Ouvrir le sous formulaire en mode création.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 38
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 39
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Autres questions :
- Importez la table Client depuis le classeur « GestionVentes » sur votre bureau
- Créez une requête affichant tous les clients habitants les communes Lubumbashi et
Katuba
- Créez une requête affichant toutes les clientes dont le nom se termine par « INE »
- Créez une requête affichant tous les clients dont le nom se commence par « A »
- Créez une requête affichant tous les articles et le chiffre d’affaires réalisés par article
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 40
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
CHAPITRE TROISIEME.
Démarrez WAMP, faites un clic gauche sur l'icône de la barre des tâches et allez dans
« phpMyAdmin ».
L'écran d’accueil de phpMyAdmin ressemble à la figure suivante.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 41
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
1. Liste des bases : c'est la liste de vos bases de données. Le nombre entre parenthèses est
le nombre de tables qu'il y a dans la base.
2. Créer une base : pour créer une nouvelle base de données, entrez un nom dans le
champ de formulaire à droite, cliquez sur « Créer » .
L'écran de la figure suivante devrait alors s'afficher si la base a bien été créée.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 42
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 43
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 44
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
A noter : lorsque le champ à remplir est de type VARCHAR ou TEXT il faut indiquer le
texte entre guillemet simple. En revanche, lorsque la colonne est un numérique tel que INT ou
BIGINT il n’y a pas besoin d’utiliser de guillemet, il suffit juste d’indiquer le nombre.
3.3.4 La commande SELECT
L’utilisation la plus courante de SQL consiste à lire des données issues de la base de données.
Cela s’effectue grâce à la commande SELECT, qui retourne des enregistrements dans un
tableau de résultat.
Cette commande peut sélectionner une ou plusieurs colonnes d’une table.
L’utilisation basique de cette commande s’effectue de la manière suivante:
SELECT nom_du_champ FROM nom_du_tableau
SELECT ville FROM client
SELECT prenom, nom FROM client
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 45
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Cette requête retourne automatiquement toutes les colonnes d’un tableau sans avoir à
connaître le nom de toutes les colonnes.
3.3.4.1 Fonctionnalités ou attributs du SELECT
Voici un petit aperçu des fonctionnalités possibles qui sont abordées sur le reste du site:
- Joindre un autre tableau aux résultats
- Filtrer pour ne sélectionner que certains enregistrements
- Classer les résultats
- Grouper les résultats pour faire uniquement des statistiques (note moyenne, prix le
plus élevé, etc.)
Voici une requête SELECT qui possède presque toutes les commandes possibles:
SELECT *
FROM table
WHERE condition
GROUP BY expression
HAVING condition
{UNION | INTERSECT | EXCEPT }
ORDER BY expression
LIMIT count
OFFSET start
A noter : cette requête imaginaire sert principale d’aide-mémoire pour savoir dans quel ordre
sont utilisé chacun des commandes au sein d’une requête SELECT.
3.3.4.2 WHERE
La commande WHERE dans une requête SQL permet d’extraire les lignes d’une base de
données qui respectent une condition. Cela permet d’obtenir uniquement les informations
désirées.
SELECT nom_colonnes FROM nom_table WHERE condition
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 46
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Opérateur Description
= Egale
<> Pas égale
!= Pas égale
> Supérieur à
< Inférieur à
>= Supérieur ou égal à
<= Inférieur ou égal à
IN Liste de plusieurs valeurs possibles SELECT nom
FROM agents
WHERE nom IN (
'Gabriel', 'Kitambala',
'Kizya' )
BETWEEN Valeur comprise dans un intervalle SELECT * Extrait toutes les
donnée (utile pour les nombres ou FROM table dates comprise entre
dates) WHERE dateEngag le 05 et le 15 avril
BETWEEN ‘2018-04-05' 2018
AND '2018-05-15'
LIKE Recherche en spécifiant le début, SELECT * Extrait les clients
milieu ou fin d'un mot. FROM client dont la ville commence
WHERE ville LIKE 'P%' par P
IS NULL Valeur est nulle
IS NOT NULL Valeur n'est pas nulle
And, Or pour combiner des conditions SELECT * FROM
produit
WHERE categorie =
'informatique' AND stock
< 20
3.3.4.3 GROUP BY
La commande GROUP BY est utilisée en SQL pour grouper plusieurs résultats et utiliser une
fonction de totaux sur un groupe de résultat.
Sur une table qui contient toutes les ventes d’un magasin, il est par exemple possible de liste
regrouper les ventes par clients identiques et d’obtenir le coût total des achats pour chaque
client.
SELECT colonne1, fonction(colonne2)
FROM table
GROUP BY colonne1
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 47
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
A noter : cette commande doit toujours s’utiliser après la commande WHERE et avant la
commande HAVING.
SELECT client, SUM(PrixTotal)
FROM achat
GROUP BY client
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 48
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Important : HAVING est très souvent utilisé en même temps que GROUP BY bien que ce ne
soit pas obligatoire.
Exemple Si dans cette table on souhaite récupérer la liste des clients qui ont commandé plus
de 40$, toutes commandes confondues alors il est possible d’utiliser la requête suivante :
SELECT client, SUM(tarif)
FROM achat
GROUP BY client
HAVING SUM(tarif) > 40
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 49
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
MySQL
ALTER TABLE nom_table
MODIFY nom_colonne type_donnees
PostgreSQL
ALTER TABLE nom_table
ALTER COLUMN nom_colonne TYPE type_donnees
Ici, le mot-clé « type_donnees » est à remplacer par un type de données tel que INT,
VARCHAR, TEXT, DATE …
3.3.5.4 Renommer une colonne
Pour renommer une colonne, il convient d’indiquer l’ancien nom de la colonne et le nouveau
nom de celle-ci.
MySQL
Pour MySQL, il faut également indiquer le type de la colonne.
ALTER TABLE nom_table
CHANGE colonne_ancien_nom colonne_nouveau_nom type_donnees
Ici « type_donnees » peut correspondre par exemple à INT, VARCHAR, TEXT, DATE …
PostgreSQL
Pour PostgreSQL la syntaxe est plus simple et ressemble à ceci (le type n’est pas demandé):
ALTER TABLE nom_table
RENAME COLUMN colonne_ancien_nom TO colonne_nouveau_nom
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 50
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
SELECT *
FROM A
INNER JOIN B ON A.key = B.key
3.3.6.1.2 CROSS JOIN :
Jointure croisée permettant de faire le produit cartésien de 2 tables.
En d’autres mots, permet de joindre chaque lignes d’une table avec
chaque ligne d’une seconde table. Attention, le nombre de résultats
est en général très élevé.
SELECT *
FROM A
LEFT JOIN B ON A.key = B.key
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 51
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 52
Cours de Base de données destiné aux étudiants de Bac 2 Info ISP
Bibliographie
• Dominique Dionisi (2006), L’essentiel sur Merise, Eyrolles.
• Guézélou, P. (2006), Modélisation des données : Approche pour la conception des
bases des données, (http ://philippe.guezelou.free.fr/mcd /mcd.htm).
• Hernandez, M. J. & Viescas, J. L. (2001), Introduction aux requêtes SQL, Eyrolles.
• Jacques Sornet (2007), Informatique de gestion - Analyse et partage des bases de
données en 21 fiches, 2e édition, Dunod.
• Janet Valade (2007), PHP et MySQL pour les Nuls, First Interactive.
• Kauffman, J., Matsik, B. & Spencer, K. (2001), Maîtrisez SQL, (Wrox Press, Ed.).
CampusPress.
• Laurent AUDIBERT, Base de Données et Langage SQL, Villetaneuse, s.d
• Marre, D. (1996, January). Introduction aux systèmes de gestion de bases de données,
Support de cours.
• Petrucci, L. (2006), Base de données. Présentation projetée et travaux dirigés, IUT
GTR, Villetaneuse.
Dispensé par Ir. Théophile KITAMBALA + 243 822 305 940 Page 53