0% ont trouvé ce document utile (0 vote)
12 vues33 pages

Introduction aux bases de données et SGBD

Ce document présente les concepts fondamentaux des bases de données, y compris la définition d'une base de données, le rôle des systèmes de gestion de bases de données (SGBD) et les types de relations entre les tables. Il décrit également la structure des tables, les clés primaires et étrangères, ainsi que les différentes requêtes pouvant être effectuées dans un SGBD. Enfin, il inclut des activités pratiques pour créer et manipuler des bases de données à l'aide de Microsoft Access.

Transféré par

Bes K
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues33 pages

Introduction aux bases de données et SGBD

Ce document présente les concepts fondamentaux des bases de données, y compris la définition d'une base de données, le rôle des systèmes de gestion de bases de données (SGBD) et les types de relations entre les tables. Il décrit également la structure des tables, les clés primaires et étrangères, ainsi que les différentes requêtes pouvant être effectuées dans un SGBD. Enfin, il inclut des activités pratiques pour créer et manipuler des bases de données à l'aide de Microsoft Access.

Transféré par

Bes K
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

2024/2025

Base de données
I. Notions de base

1. Définition d’une base de données


Une base de données (BD), est un ensemble structuré et organisé d'informations. Les informations
sont placées dans des fichiers, et organisées de manière à pouvoir être facilement triées, classées et
modifiées à l’aide d'un logiciel spécialisé appelé système de gestion de base de données (SGBD)
2. Le SGBD
C’est un outil qui permet de gérer des nouvelles bases de données, c'est-à-dire :
 Permettre l’accès aux données de façon simple.
 Autoriser un accès aux informations à plusieurs utilisateurs.
 Manipuler les données présentes dans la base de données (insertion, suppression,
modification).
 Assurer la sécurité des données
Objectifs du modèle relationnel
 Indépendance entre les applications et la représentation interne des données.
 Etablir une base de données solide pour traiter les problèmes de cohérence et de redondance
des données.
Le SGBD qui gère une BDD relationnelle est appelé "SGBD relationnel", ce qui est souvent abrégé en
SGBDR.
Dans le modèle relationnel, les données sont organisées sous forme de tableaux de valeurs appelés
tables.
3. Les tables
a) Définition : La table est une collection de données relatives à un sujet spécifique tel qu’un client
ou un véhicule.
Les tables organisent les données en colonnes (attribut ou champ) et en lignes (Enregistrement ou n-
uplet)
b) Schéma d’une table : S’écrit sous la forme suivante : Nom-table (champ1, champ2, champ3,……)
c) La clé primaire : obligatoire pour chaque table, permet d’identifier de façon unique chaque
enregistrement de la table.
d) La clé étrangère : est une clé primaire qui a migré d’une table-mère à une table fille. Elle permet
de gérer des relations entre plusieurs tables, et garantit la cohérence des données.
Notation : Par convention, la clé étrangère est suivi du caractère #
4. Les relations
a) Définition
Une relation est un lien entre deux tables d’une base de données à l’aide de deux champs en commun
à ces deux tables. Ces deux champs sont dits associés.
Pour accéder simultanément à plusieurs tables, il faut définir une relation , c-à-d créer un lien entre
les tables pour que Microsoft Access puisse fusionner les données de plusieurs tables.
b) Les types de relation

 Relation un à un (1-1)

Mme Zeineb Maddour 2


4eme EG
Dans ce type de relation un enregistrement de première table ne peut correspondre qu’à un seul
enregistrement dans la deuxième table.
Exemple : Une personne possède un et un seul N° de carte d’identité
Un N° de carte d’identité désigne une et une seule personne.

 Relation un à plusieurs (1-N)


Dans ce type chaque enregistrement de la première table, contenant la clé primaire, peut être
associé à plusieurs enregistrements de la deuxième table.
Exemple : Une personne possède plusieurs N° de téléphone
Un N° de téléphone désigne une et une seule personne.

 Relation plusieurs à plusieurs (N-M)


Chaque enregistrement de la première table peut être associé à plusieurs enregistrements de la
deuxième table et inversement.
Exemple : Un élève est enseigné par plusieurs enseignants
Un enseignant enseigne plusieurs élèves.
Activité 1
On se propose de donner une table représentant des données concernant des élèves.
1. Quelles sont les informations qu’on peut mettre pour chaque élève ?

Activité 2
A partir de la BD relative à une clinique, on a dégagé la représentation tabulaire suivante :
Table MEDECIN :
Table MALADIE
NumMedecin NomMedecin AdrMedecin
CodMaladie NomMaladIe
001 Chaaben Rte Alain
ML015 Diabète
002 Kessentini Taniour
ML088 Pneumonie
003 Maazoun Lafrane
ML069 Anémie

Table CONSULTATION
NumCons DateCons PrixCons NumMedecin NumDossier CodMaladie
00123 28/04/2007 30000 002 D011 ML015
00256 13/11/2007 20000 003 D012 ML088
00512 04/12/2007 15000 002 D011 ML015

Questions
1. Donner le schéma de la base clinique.
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………………………………..

Application

Soit la représentation graphique d’une BD « location » d’une agence de location de voiture :

Mme Zeineb Maddour 3


4eme EG
Donner le schéma textuel de la base de données « location »
……………………………………………………………………………………………………………
………………………….
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
…………………………………………………………………………………

TP n°1
Soit le schéma de la base de données suivant:
Client (num_clt, nom_clt, prenom_clt, adresse_clt, numtel_clt)
Fournisseur (num_fr, nom_fr, adresse_fr, numtel_fr)
Produit (code_pdt, desig_pdt, prix_pdt, qté_pdt)
Produit_livré (num_clt#, num_fr#, code_pdt#, date, qté)

Questions
1. Lancer le logiciel MS Access puis créer une nouvelle base de données nommée livraison que vous
devez enregistrer dans votre dossier de travail situé sous le chemin C:\bac2025.
2. Créer les tables Client, Fournisseur, Produit et Produit_livré, en tenant compte des indications ci-
dessous, et les enregistrer respectivement sous les noms Client, Fournisseur, Produit et Produit_livré.

Produit_livré
Nom de Type de
Propriétés
champs champs
Produit
num_clt Numérique Entier
Nom de Type de
num_fr NumériquePropriétés
Entier
champs champs
code_pdt Texte Taille = 10
code_pdt
date Texte Taille
Date/heure = 10 abrégé
Date,
qté
desig_pdt NumériqueTaille Entier
Texte =30
prix_pdt numérique Entier
qté_pdt numérique Entier

Mme Zeineb Maddour 4


4eme EG
Mme Zeineb Maddour 5
4eme EG
3. Remplir les tables par les données suivantes :

Table Client Table Produit_livré


num_clt nom_clt prenom_clt adresse_clt numtel_clt num_clt num_fr code_pdt date qté
100 Ben Saleh Ali Monastir 22365987 100 200 A01 22/06/2006 10
101 Abidi Ahmed Sousse 98600230 102 210 D55 06/06/2007 20
102 Aloulou Med Tunis 24500236 103 230 B11 10/10/2007 5
103 Abassi Intissar kairouan 99800632 125 220 F12 06/02/2008 3
120 Rayhane Mohamed Ali Tunis 23200456 125 270 M01 11/01/2008 10
121 Ben Ali Miled Monastir 73500236
125 Jallouli Ines Gabes 95236870
Table Produit
Table Fournisseur code_pdt desig_pdt prix_pdt qté_pdt
num_fr nom_fr adresse_fr numtel_fr A01 Ecran Plat 22x 288 15
200 SEFINFO Moknine 73435555 A02 Ecran LCD 187 10
210 Planet Sousse 73220364 B10 Souris optique 12 100
220 Global Info Tunis 71200336 B11 Clavier USB 8 66
230 Sté Info Kairouan 74362214 C12 Carte mère Acerpro 518 5
250 Info net Jammel 93654200 D55 Graveur externe 32* 148 23
270 Web TIC Sahline 22369100 F12 HDD externe 500 Go 489 10
F15 HDD 160 Go 155 10
4. Identifier puis créer les relations entre ces tables
M01 Clé USB 4Go 92 100
Réalisation d’une base de données Ms-access2016
[Link]éation d’une base de données
1. Cliquer sur « nouvelle base de données vide »
2. Une fenêtre s’affiche sur l’écran, taper un nom, choisir l’emplacement et enregistrer la base.
[Link]éation d’une table
1. Dérouler le menu « créer »
2. Choisir la commande « table »
3. Préciser le mode d’affichage « mode création »
4. Saisir le nom des colonnes de cette table en précisant les propriétés de chaque colonne
(type, taille, etc.)
5. Préciser la clé primaire de la table en cliquant sur le bouton
6. Enregistrer la table
[Link]éation d’une relation
1. Dérouler le menu « Outils de base de données »
2. Choisir la commande « Relations »
3. Dans la fenêtre qui s’affiche choisir les tables désirées
4. Sélectionner les clés primaires des tables et les glisser en maintenant le bouton gauche de la
souris enfoncé vers les clés étrangères des autres tables
5. Vérifier dans la boite de dialogue affichée, les champs et l’intégrité référentielle.
Remarque :
a. La clé primaire et la clé étrangère doivent être de même type.
b. Les relations d’une BD traduisent les règles de gestion de cette base.

TP n°2 : Les requêtes


1) Charger la BD Livraison du TP1
2) Créer et enregistrer les requêtes suivantes :
 R1 : Afficher les numéros des fournisseurs et leurs noms dont la ville est Tunis.
 R2 : Lister les produits dont le prix < 100.
 R3 : Afficher le code et la désignation des produits dont le prix et compris entre 20 et 150.
 R4 : Afficher les fournisseurs de Sousse et Moknine.
 R5 : Afficher les produits en ordre décroissant selon leurs prix.
 R6 : Afficher les produits livrés durant l’année 2007.
 R7 : Afficher les fournisseurs provenant d’une ville donnée.
 R8 : Afficher la désignation, le prix et la quantité des produits livrés entre deux années données.
 R9 : Augmenter de 15% les prix des produits
 R10 : Ajouter l’enregistrement suivante dans la table produit-livré
Num-clt : 102 num-fr : 250 code-pdt : F15

Création de requêtes :
Il existe plusieurs types de requêtes dont les plus utilisées sont :
 Les requêtes de sélection (extraire, afficher)
 Les requêtes d’ajout (ajouter)
 Les requêtes de mise à jour (mettre à jour)
 Les requêtes de suppression
1) Les requêtes de sélection
a) Définition
La sélection permet de rechercher des informations dans des BD. Généralement, une requête de
sélection :
-S’applique soit à une seule table ou à plusieurs tables liées par des relations,
-Permet d’afficher des informations en appliquant un ou plusieurs critères sur un ou plusieurs champs,
-Permet d’enregistrer le résultat sous forme d’une table.
b) Création d’une requête de sélection
Pour créer une requête de sélection, il suffit de suivre les étapes suivantes (démarche, algorithme) :
1) Dérouler le menu « Créer »
2) Choisir la commande « création de requêtes »
3) Ajouter les tables nécessaires dans la fenêtre « Afficher la table »
4) Dans la grille de création de la requête, fixer les champs et leurs tables à utiliser, cocher les
cases des attributs à afficher et fixer les critères de sélection
Remarque
 Le résultat d’une requête est sous forme d’une table qui peut être utilisée dans
une autre requête
On peut utiliser dans les requêtes les opérateurs suivants :
 = Egal
 <> Différent
 < Inférieur
 > Supérieur
 <= Inférieur ou égal
 >= Supérieur ou égal
 Access met à notre disposition d'autres opérateurs :
- Entre Sélectionne les enregistrements pour lesquels la valeur d'un champ est comprise dans un
intervalle de valeurs.
Entre "A" et "C"
Entre 10 et 20
Entre #01/01/99# et #31/12/99#
- Dans Sélectionne les enregistrements pour lesquels la valeur d'un champ est comprise dans une liste.
Dans ("Sfax";"Tunis")
- Est Sélectionne les enregistrements pour lesquels un champ est vide ou non
Est NULL
Est pas NULL
- Comme Sélectionne les enregistrements contenant une donnée approximative.
Comme "rue*"
- Pas Sélectionne les enregistrements ne correspondant pas au critère
Pas Entre "A" et "C"
c) Exécution d’une requête de sélection
1. Ouvrir la requête mode création.
2. Choisir la commande « Exécuter » du menu « outils de requête créer »
Oubien Double cliquer sur la requête.
2) Les requêtes paramétrées
a) Définition

Mme Zeineb Maddour 8


4eme EG
Une requête paramétrée permet de créer à chaque fois une table résultat suivant un critère donnée
dans l’exécution, donc la requête est écrite une seule fois mais le critère change pour chaque
exécution, donc le résultat diffère d’une exécution à une autre.
b) Création d’une requête paramétrée :
Il suffit de suivre les mêmes étapes de création d’une requête de sélection.
Remarque :
Dans la grille de création de la requête, le paramètre doit être représenté par un message écrit
entre crochets ([ Saisir ………..])

Champ :
Table :
Tri :
Afficher :
critère
Ou :
Grille de la requête R8

Champ :
Table :
Tri :
Afficher :
critère
Ou :
c) Exécution d’une requête paramétrée :
Pour exécuter une requête paramétrée, il suffit de suivre les étapes suivantes :
1. Sélectionner la requête à exécuter
2. Double cliquer sur la requête ou bien cliquer la commande « Exécuter » du
menu « outils de requête créer »
3. Une boite de dialogue s’affiche, saisir le critère
4. Valider en cliquant sur le bouton « OK ».

3) Les requêtes de mise à jour et d’ajout


Un SGBD offre la possibilité de créer des requêtes d’action. Une requête action est capable de modifier
ou déplacer un grand nombre d’enregistrements en une seule opération.
a) Les requêtes de mise à jour
C'est une requête qui apporte des changements globaux à des enregistrements dans une ou plusieurs
tables.
Pour créer une requête de mise à jour:
1) Dérouler le menu « Créer » et choisir la commande « création de requêtes »
2) Ajouter les tables nécessaires dans la fenêtre « Afficher la table »
3) Cliquer sur le nouveau menu « Requête » et choisir «Requête de mise à jour»
4) Dans la grille de la requête, on doit:
 Fixer la liste des champs à mettre à jour

Mme Zeineb Maddour 9


4eme EG
 Dans la clause "Mise à jour", taper la modification à effectuer
5) Enregistrer la requête puis l’exécuter
Grille de la requête R9
Champ :
Table :
Mise à jour:
critère
Ou :
b) Les requêtes d’ajout :

Elle permet d’ajouter un groupe d’enregistrements d’une ou plusieurs tables à la fin d’une ou plusieurs
tables.
Pour créer une requête d’ajout :
1) Dérouler le menu « Créer » et choisir la commande « création de requêtes »
2) Ajouter la table qui représente la source des informations de la requête
3) Dans la barre de menu, cliquer sur le nouveau menu « Requête » et choisir «Requête
d'ajout »
4) Dans la boite affichée, choisir la table dans la quelle on va ajouter les enregistrements
5) Dans la grille de création de la requête, fixer les champs et leurs tables à utiliser, cocher les
cases des attributs à afficher et fixer les critères de sélection
Remarque:
 L'ajout des enregistrements se fait par défaut à la fin de la table.
 Si la table contient des contraintes d'ordre, l'ajout se fait dans la bonne position.
 Empêcher le mode désactivé de bloquer une requête
Si vous essayez d’exécuter une requête Ajout et que rien ne semble se produire, vérifiez si le
message suivant s’affiche dans la barre d’état Access :
Le mode désactivé a bloqué cette action ou cet événement.
Pour résoudre ce problème
1. Dans la barre des messages, cliquez sur Options.
2. Dans la boîte de dialogue Options de sécurité Microsoft Office, cliquez sur Activer ce
contenu, puis sur OK.
Grille de la requête R10

Champ :
Table :
Ajouter à:
critère
Ou :

Mme Zeineb Maddour 10


4eme EG
Application 2
Soit la base de données décrite par le schéma suivant :
Produit (CodeProd, NomProd, QuantiteStock, PrixUnit)
Fournisseur (CodeFournisseur, NomFournisseur, AdresseFournisseur)
Commande (CodeProd, CodeFournisseur, QuantitéCde, DateCde)
Questions :
1. Lancer le logiciel de création de base de données disponible.
2. Créer dans votre dossier de travail une base de données intitulée "Gestion_Commandes".
3. Créer les tables de la base de données ainsi que les relations qui les lient.
4. Remplir les tables par les données suivantes :

Produit
Fournisseur
CodeProd NomProd QuantiteStock PrixUnit
CodeFournisseur NomFournisseur AdresseFournisseur
13 clavier 0 9
1 scoop Tunis
21 scanner 115 90
2 Infoplus Kairouan
102 imprimante 247 79

Commande
CodeProd CodeFournisseur QuantitéCde DateCde
21 1 100 12/3/2007
102 1 40 02/11/2007
13 2 35 19/2/2006
5. Créer les requêtes qui permettent de :
R1 : Extraire la liste des produits (CodeProd, NomProd, QuantiteStock ) dont le stock est égal à 0.
R2 : Extraire la liste des produits dont le prix unitaire est supérieur à 35.
R3 : Donner les codes des produits commander après le : 01/03/2007.
R4 : Donner la liste des produits (code, nom et prix) commander après le : 01/03/2007.
R5 : Donner la liste des fournisseurs (NomFournisseur, AdresseFournisseur) pour un produit donnée.
R6 : Donner l’adresse d’un fournisseur donné
R7 : Donner la liste des fournisseurs dont leurs noms commencent par la lettre "I".
R8 : Donner la liste (des fournisseurs, des produits) dont la quantité commandé <50
R9 : Donner la liste (des fournisseurs, des produits) dont la quantité commandé est maximale
R10 : Donner le nombre des fournisseurs qui ont commandé une quantité >=40
R11 : Donner la somme des quantités commandées par le fournisseur n°1
R12 : Ajouter les enregistrements suivants a la table produit en utilisant la table suivante

Produit_attente
CodeProd NomProd QuantiteStock PrixUnit
15 Boite alimentation 10 19
16 graveur 100 52
17 sourie 75 7
Mme Zeineb Maddour 11
4eme EG
R13 : Ajouter les enregistrements suivants à la table fournisseur en utilisant la table suivante

Fournisseur-attente
CodeFournisseur NomFournisseur AdresseFournisseur
3 infohard sousse
4 m-info Kairouan
R14 : Mettre à jour le prix de tous les produits de 15%
R15 : Changer la date commande DateCde des produits fournis par le fournisseur 1 par la date
07/03/2016.

Application 3:
Soit la base de données FABRICATION dont le schéma est donnée ci-dessous.
PIECE (NOP, Désignation, Couleur, Poids)
SERVICE (NOS, Intitulé, Localisation)
COMMANDE (NOP, NOS, Quantité)
1) Créer la base de données FARICATION et l’enregistrer dans votre dossier de travail.
2) Créer les tables de cette base de données ainsi que les relations qui les relient.
3) Remplir les tables par les données suivantes.

COMMANDE
PIECE NOP NOS Quantité
SERVICE
NOP Designation Couleur Poids 11 3 12
NOS Intitule Localisation
11 P1 Rouge 5,3 11 4 3
1 S1 LOC1
12 P2 Vert 26,22 12 1 7
2 S2 LOC2
13 P3 Bleu 13 13 2 14
3 S3 LOC3
14 P4 Rouge 25 12 2 10
4 S4 LOC4
15 P5 Gris 17,75 13 3 8
14 1 20
4) Créer les requêtes suivantes :
a. Les noms des services ayant en commande la pièce « P1 » avec une quantité supérieure à
10, dans l’ordre croissant.
b. L’augmentation de 50% des quantités des pièces commandées par le service S1.
c. L’augmentation de 0,3 les poids des pièces rouges.
d. Le poids de chaque commande.
e. La quantité des pièces rouges commandées.
f. La quantité maximale commandée
g. La quantité maximale commandée pour chaque pièce.
h. La quantité minimale commandée
i. La quantité minimale commandée pour chaque pièce.

Mme Zeineb Maddour 12


4eme EG
j. Le nombre de pièces.
c) Les requêtes de suppression :
Les requêtes Suppression permettent de supprimer rapidement les enregistrements qui répondent
aux critères posés.
pour ce faire on procède comme suit :
1) Dans le menu "Créer", choisir la commande "Création de requête"
2) Ajouter la/les table(s) sur la/lesquelles(s) agira la requête
3) Modifier le type de requête en requête de "Suppression"
4) Ajouter les colonnes nécessaires (seuls les champs sur lesquels portent les critères doivent être
insérés).
5) Dans la ligne critères, spécifier les critères de suppression
6) Enregistrer la requête et l’exécuter.
Remarque : en exécutant une requête de suppression une fenêtre d’alerte s’affiche pour confirmer
l’action de suppression !
Important
1- Utiliser des critères pour renvoyer uniquement les enregistrements que vous souhaitez supprimer.
Sinon, la requête Suppression supprime tous les enregistrements de la table.
2- Si les enregistrements résident du côté « un » et du coté « plusieurs » d’une relation un-à-plusieurs
vous devrez peut-être modifier la relation avant d’exécuter la requête Suppression.

Activité :
1) Ouvrir la base de données fabrication.
2) Créer les requêtes suivantes :
RS1 : requête qui permet de supprimer, de la table commandes, les enregistrements relative au
service du code nos =1
RS2 : requête qui permet de supprimer, de la table service, le service intitulé S1
RS1 : requête qui permet de supprimer les pièces ayant une couleur donnée.

Mme Zeineb Maddour 13


4eme EG
Application 4 (théorique)
Soit le schéma relationnel de la base de données suivant :
Catégorie (NumCat, NomCat)
Artiste (NumArt, NomArt, DatNaiss, LieuNaiss)
Enregistrement (NumEnreg, TitreEnreg, AnnéePar, NbreMorc, NumArt#, NumCat#)
Soit le contenu de chacune :

1) Donner le schéma graphique de la base en précisant le type de relation.


2) Soit la liste des requêtes ci-dessous. Préciser pour chaque requête : le type et la liste des tables
intervenants puis compléter la grille d’interrogation correspondante.
R1 : Afficher les titres et les années des enregistrements créent avant l’année 2000 par ordre
décroissant selon les titres.
R2 : Afficher les noms des artistes qui se terminent par « a ».
R3 : Afficher les titres des enregistrements parus en 2006 et qui ont le nombre des morceaux > 2.
R4 : Afficher les artistes nées en mois de Mars.
R5 : Afficher les titres des enregistrements de « Fayrouz ».
R6 : Afficher les titres des enregistrements de catégorie « Pop » ou « Hip Hop ».

Mme Zeineb Maddour 14


4eme EG
R7 : Afficher les noms des artistes nées après 1979 et qui ne chantent pas des chansons « Hip Hop ».
R8 : Afficher le nombre des morceaux d’un enregistrement donné.
R9 : Afficher la catégorie d’un enregistrement donné et interprété par un artiste donné.
R10 : Afficher tous les titres et les noms des artistes libanais.
R11 : Afficher tous les titres et le nom des artistes qui ne sont pas tunisien.
R12 : Afficher les artistes nés entre 1970 et 1985 triés par ordre croissant des dates.
R13 : Afficher les catégories parues en 2006.
R14 : Afficher les artistes qui ont un album paru en 2005 ou qui chantent le pop ou qui sont nés avant
1970.
R15 : Ajouter le contenu de la table « Artiste_Att » dans la table « Artiste ».

R16 : Ajouter le contenu de la table « Catégorie_Att » dans la table « Catégorie ».

R17 : Ajouter le contenu de la table « Enregistrement_Att » dans la table « Enregistrement ».

R18 : La vrai date de naissance de « Fayrouz » est 12/12/1936, corriger cette erreur.
R19 : L’enregistrement « Kibir El Hob » a été paru en 2008 et contient 10 Morceaux, mettre à jour ces
données.
R20 : La catégorie « Rock » est réellement la catégorie « House », mettre à jour cette donnée.
R21 : Supprimer la catégorie n°40.

Mme Zeineb Maddour 15


4eme EG
Type de requête :

Mme Zeineb Maddour 16


4eme EG
Mme Zeineb Maddour 17
4eme EG
APPLICATION

Soit la base de données « vente », dont le schéma est donné ci-dessous :

Client (Num_cl, Nom_cl, Adr_cl, Catég_cl)

Produit (Ref_p, Desp, Coul_p, Pu_p)

Commande (Num_com, Date_com, Lieu_com, Qté_com, Num_cl #, Ref_p#)

Avec
 Num_cl : Clé primaire de la table client, il désigne le numéro d’un client
 Ref_p : Clé primaire de la table produit, il désigne la référence d’un produit.
 Num_com : Clé primaire de la table commande, il désigne le numéro d’une commande.

Description de la table Client :

Champ Type Taille Obligatoire Valeur par défaut


Num_cl Numérique 4 Oui
Nom_cl Texte 30 Oui
Adr_cl Texte 40 Non Ville ?
Mme Zeineb Maddour 18
4eme EG
Catég_cl texte 1 oui ?

Description de la table Produit :

Champ Type Taille Obligatoire Valeur par défaut


Ref_p texte 5 Oui
Des_p Texte 25 Oui
Coul_p Texte 10 oui couleur ?
Pu_p numérique Réel (7,2) oui

Description de la table Commande :

Champ Type Taille Obligatoire Valeur par défaut


Num_com numérique 4 oui
Date_com date non
Lieu_com texte 20 non Lieu ?
Qté_com numérique 4 oui 0
Num_cl Numérique 4 oui
Ref_p texte 5 Oui

Questions :

1. Créer les tables de la base de données « vente » ainsi que les relations qui les relient.
2. Créer les requêtes suivantes :
R1 : extraire les noms des clients fidèle et qui habitent à Kairouan et les affichés en ordre croissant.
R2 : Les noms et adresse des clients, qui ont commandé le produit n° F7901 avec une quantité
supérieur ou égale à 10 unités.
R3 : Les produits (ref_p, des_p et coul_p) dont la référence commence par la lettre « f » et ayant la
couleur bleu.
R4 : Les clients (nom_cl, adr_cl et catg_cl) qui ont commandé le produit P5.

Mme Zeineb Maddour 19


4eme EG
IMPORTATION - EXPORTATION DES DONNEES (TABLES)

A) L’exportation des données d’une table (ou requête) vers Excel :


Une table Access peut être exportée vers un document Excel. La procédure est très simple :
Démarche :
1) Dans le volet de navigation, à gauche de votre écran Access, sélectionnez l’objet à exporter (il
s’agit en principe d’une table ou d’une requête).
2) Sous l’onglet «Données externes », groupe Exporter, sélectionnez l’option Excel.

Mme Zeineb Maddour 20


4eme EG
3) Dans la boîte de dialogue, cliquer sur Parcourir pour définir le nom et l’emplacement du fichier à
créer.
4) Préciser le format du fichier Excel à créer (Classeur Excel (*.xlsx)) pour les versions 2007 et plus
5) Cochez les cases à cocher qui suivent (elles sont explicites).
6) Terminez en cliquant sur le bouton OK.

Le fichier Excel est créé à l’emplacement choisi, et si vous avez coché la deuxième option, il est
directement ouvert dans Excel.
Remarques importantes :
Mémoriser la procédure de l’exportation
A la fin de l’exportation, une autre boîte de dialogue vous propose de mémoriser ces étapes. De cette
façon, vous n’aurez plus à faire les réglages de la boîte précédente (chemin, format Excel, cases à
cocher). Si cela vous tente, il suffit de :
1. Cocher la case « Enregistrer les étapes d’exportation ».
2. Décrire votre exportation par un titre et une description. ça sera pratique pour vous y retrouver,
le jour où aurez stocké x exportations différentes.
3. Valider.

Mme Zeineb Maddour 21


4eme EG
Rejouer une exportation

Si vous avez mémorisé une exportation, vous pouvez la rejouer en quelques clics seulement :
1. Activez l’onglet Données externes.
2. Cliquez sur Exportations enregistrées.

3. Une boîte liste vos exportations : cliquez sur celle qui vous intéresse, puis faites Exécuter.

On peut modifier(en cliquant sur son nom ou son chemin) ou supprimer


une exportation.

Mme Zeineb Maddour 22


4eme EG
C) Exportation d’une Table ou requête à un fichier texte(.txt) ou fichier csv (.csv)
Pour exporter un tableau ou requête à un fichier txt ou csv on doit sélectionner la table (ou la requête) à
exporter puis cliquer sur l’option « Fichier txt » de la partie Exporter comme :

1) Sélectionner la table ou le requête voulu (exemple : table poste)


2) Cliquer dans la partie Exporter le type de fichier : Fichier texte
3) Dans la fenêtre qui s’affiche :
a) Cliquer sur le bouton parcourir
b) Choisir l’emplacement dans laquelle vous allez enregistrer votre fichier
c) Dans la zone « nom du fichier » : Saisir le nom de votre fichier avec l’extension .txt ou csv
d) Verifier que la zone type est texte

e) Cliquer sur enregistrer


f) Sans toucher les autres zones dans ce fenêtre valider par OK
g) Une autre fenêtre qui s’affiche encore cliquer sur suivant dans cette étape

Mme Zeineb Maddour 23


4eme EG
h) Dans l’étape suivante :

 Cocher le délimiteur « Point virgule » et inclure les noms des champs sur la première ligne
 Cliquer sur le bouton Avancé…une fenêtre qui s’affiche (…..spécification d’exportation)
 Dans la zone langue cliquer sur « Tous »
 Et dans la zone page de codes choisir « unicode UTF-8 »

Mme Zeineb Maddour 24


4eme EG
Valider par OK puis Suivant et enfin valider par Terminer si vous êtes d’accord pour le nom du fichier
et leur emplacement (sinon Annuler et répéter votre travaille)
Une fenêtre d’enregistrement d’exportation s’affiche cocher le et cliquer sur enregistrer l’exportation

Analyse de données

Introduction

L’analyse des données (aussi appelée analyse exploratoire des données ou AED) est une famille de

méthodes statistiques, elle permet de traiter un nombre très important de données.

Manipulation des données avec Pandas

Pandas est une librairie python qui permet de manipuler facilement des données à analyser :

 manipuler des tableaux de données (DataFrames)

 on peut facilement lire et écrire ces dataframes à partir ou vers un fichier tabulé.

 on peut facilement tracer des graphes à partir de ces DataFrames grâce à matplotlib.

DataFrame peut être un fichier texte, csv, xlsx

La bibliothèque pandas est utilisée par les scientifiques et les analystes de données pour des tâches allant du

très grand au très petit.

Pour utiliser pandas, on doit charger sa librairie :

1- Installation de Thonny

2- Installation de packages:

 Pandas : pandas est un package Python qui fournit des structures de données rapides, flexibles.
Mme Zeineb Maddour 25
4eme EG
from pandas import * ou bien import panda ou bien import pandas as alias

 Numpy: est un package qui contient des fonctions mathématiques de haut niveau

 Matplotlib: est un package pour la représentation graphique

 Openpyxl : est une bibliothèque Python pour lire / écrire des fichiers xlsx.

 Xlrd : est une bibliothèque de lecture de données (à partir de fichiers Excel au format

historique .xls

Dans pandas il y a 2 structures de données :

 Séries (tableau unidimensionnel)

 DataFrames (tableau multidimensionnel)

1) Création d’un dataframe


Activité1
Soit le DataFrame suivant :

num nom prenom age moyenne sexe


1 amri khalil 17 13.56 h
2 saoudi lamia 18 14.89 f
3 khmili maher 19 8.98 h
4 abdi sofiene 18 10 h

1) Lancer l'éditeur Thonny.


2) Dans votre dossier de travail créez un nouveau dossier « pandas » dans le quel vous enregistrez
votre fichier sous le nom « tp1»
Choisir les méthodes et les propriétés adéquates à partir de l’annexe (page 3 et 4), pour écrire dans le
fichier créé, les scripts permettant de :
3) Créer le DataFrame ci-dessus.
…………………………………………………………………………………………….……………….
………………………………………………………………………………………….
…………………………………………………………………………………………………………….
…………………………………………………………………………………………………………….
……………………………………………………………………………………………………………
….

Mme Zeineb Maddour 26


4eme EG
……………………………………………………………………………………………………………
….……………………………
4) Afficher le contenu de DataFrame.
…………………………………………………………………………………………………………….
5) Afficher les dimensions de ce DataFrame.
…………………………………………………………………………………………………………….
6) Afficher le nombre d’éléments du DataFrame.
…………………………………………………………………………………………………………….
7) Afficher des informations concernant le DataFrame
…………………………………………………………………………………………………………….
8) Afficher les noms des colonnes du DataFrame
…………………………………………………………………………………………………………….
9) Renommer le nom de la colonne de la ligne « moyenne » en « DC » dans le dataFrame
…………………………………………………………………………………………………………….
10) Supprimer la colonne « sexe »
…………………………………………………………………………………………………………….

Activite2
1) Créer, un script et l’enregistrer sous le nom « [Link] » dans votre dossier de travail.
2) En se basant sur l’annexe, choisir les méthodes adéquates de la bibliothèque Pandas, pour écrire
le script « [Link] » qui permet d’:
1) Importer le contenu du fichier « [Link] » et le stocker dans un DataFramme à nommer
« Activite »
……………………………………………………………………………………………………….……
2) Afficher le dataframe
……………………………………………………………………………………………………….……

3) Afficher les noms des colonnes du dataframe


4) Afficher les dimensions du dataframe
5) Afficher le nombre d’éléments du dataframe

Mme Zeineb Maddour 27


4eme EG
6) Décrire le dataframe
7) Renommer la première colonne pour être « nom »
8) Supprimer la 7ème et la 9ème ligne du dataframe.
…………………………………………………………………………………………………………...…

9) Ajouter une colonne « classe » et la remplir toutes ses lignes par « bac éco 1 ».
…………………………………………………………………………………………………………...
………………………………………………………………………………………………..
………………

10) Supprimer la colonne « classe »


11) Supprimer les doublons.
……………………………………………………………………………………………………………..

12) Supprimer les lignes contenant des valeurs nulles.


……………………………………………………………………………………………………….…..

13) Supprimer les colonnes contenants des valeurs nulles.


………………………………………………………………………………………………………….…..

14) Ajouter la colonne moyenne = (dc+ds*2) /3


……………………………………………………………………………………………………………..

15) Afficher les données concernant les élèves ayant une moyenne supérieure à 10
…………………………………………………………………………………………………………..

16) Afficher la moyenne maximale


……………………………………………………………………………………………………………..

17) Afficher la moyenne minimale


……………………………………………………………………………………………………………..

18) Afficher le nombre des élèves ayant une moyenne supérieure à 15


……………………………………………………………………………………………………………..

19) Trier les données du dataframe dans un ordre croissant selon les moyennes
……………………………………………………………………………………………………………..

Mme Zeineb Maddour 28


4eme EG
Application PANDAS :
1) Créer un fichier et l’enregistrer sous le nom « employé.py » dans votre dossier de travail.
Choisir les méthodes et les propriétés adéquates, à partir de l’annexe (page 1 & 2) pour écrire dans le
fichier créé les scripts permettant d’ :
2) importer, à partir de votre dossier de travail, le contenu du fichier « Employé.xlsx » et le stocker
dans un DataFrame à nommer emp
3) afficher les données du Dataframe.
4) afficher le nombre de colonnes et le nombre de ligne de cette
DataFrame.
5) afficher les étiquettes des colonnes de votre DataFrame.
6) afficher le type de chaque colonne
7) afficher des informations sur les données
8) supprimer les doublons.
9) supprimer les lignes contenant des valeurs nulles.
10) supprimer les colonnes contenants des valeurs nulles.
11) accéder à la colonne « nom » et l’afficher.
12) accéder aux deux colonnes « nom et prénom » et les afficher.
13) accéder aux deux colonnes « nom et prénom » et afficher les 3 premières lignes
14) accéder aux deux colonnes « nom et prénom » et afficher les 3 dernières lignes
15) afficher les 3 premières lignes.
16) afficher les 3 dernières lignes.
17) afficher le contenu de la ligne 4
Mme Zeineb Maddour 29
4eme EG
18) afficher le contenu des lignes de l’indice 2 à l’indice 4.
19) afficher le contenu de la cellule de la ligne d’indice 4 et la colonne d’indice 1.
20) modifier le contenu de la cellule de la ligne d'indice 5 et la colonne d'indice 2
21) modifier le nom de la colonne « Title » par « titre »
22) ajouter une colonne « salaire » sachant que :
salaire = [ 750 , 1600 , 858.50 , 905.16 , 750 , 2100]
23) afficher la moyenne des salaires.
24) afficher le salaire minimal.
25) afficher le salaire maximal.
26) afficher le nombre des employés.
27) afficher la somme des salaires.
28) afficher les employés ayant un salaire supérieur à 800dt
29) afficher le nombre des employés ayant un salaire supérieur à 1000dt
30) afficher les employés ayant un salaire inférieur à 800dt et ont un titre Mr.
31) Trier dans un ordre croissant des salaires tous les données du DataFrame.
32) Trier dans un ordre décroissant des salaires tous les données du DataFrame.
33) Créer un graphique en histogrammes qui permet de représenter les salaires.
34) Créer un graphique en histogrammes des salaires en fonction des noms
35) Créer un graphique en courbe des salaires en fonction des noms

Correction de l’application PANDAS


1) Créer un nouveau fichier python.

Création d’un
DataFrame

Question : créer le DataFrame emp contenant les


données suivantes

reponse :
emp=DataFrame({ 'Nom':['Heni','Trabelsi','Mastouri','Juini' ,'Affi' ,'Hannechi','Trabelsi' ,'Juini'
] ,'Prénom':['Khaled','khouloud','Wided','Marwen','Salem','Ali','khouloud','Marwen'],'Type':
['Employé','Employé','Employé','Employé', Employé','Employé','Employé','Employé'], 'Title':
['NaN','NaN','Ms.','Mr.','NaN','Mr.','NaN','Mr.']})
oubien
emp=DataFrame()
emp['Nom']=['Heni','Trabelsi','Mastouri','Juini' ,'Affi' ,'Hannechi','Trabelsi' ,'Juini' ]
emp['Prénom']=['Khaled','khouloud','Wided',’Marwen','Salem','Ali','khouloud','Marwen']

Mme Zeineb Maddour 30


4eme EG
emp['Type']=['Employé','Employé','Employé','Employé','Employé','Employé','Employé','Employé
']
emp[ 'Title']:['NaN','NaN','Ms.','Mr.','NaN','Mr.','NaN','Mr.']
Création d’un DataFrame à partir d’un fichier
(.csv ou .txt)
Question : Importer, à partir de votre dossier de travail, le contenu du fichier « Employé.csv » et le
stocker dans un DataFrame à nommer emp
Reponse :

emp=read_csv("Employé[Link]", sep=" ;")

Création d’un DataFrame à partir d’un fichier


excel (.xlsx)
2) importer, à partir de votre dossier de travail, le contenu du fichier « employé.xlsx » et le stocker
dans un DataFrame à nommer emp
from pandas import* # importation de la bibliothèque pandas
emp=read_excel("Employé[Link]","Feuil1")
oubien
import pandas as pd
emp=pd.read_excel("Employé[Link]","Feuil1")
3) afficher les données d’un DataFrame
print([Link])
4) afficher le nombre de colonnes et le nombre de ligne du DataFrame.
print([Link])
5) afficher les étiquettes de colonne de votre DataFrame. (les colonnes)
print([Link])
6) afficher le type de chaque colonne
print([Link])
7) afficher des informations sur les données
print([Link]())
8) supprimer les doublons
emp=emp.drop_duplicates()
9) supprimer les lignes contenant des valeurs nulles
emp=[Link]()
10) supprimer les colonnes contenants des valeurs nulles
emp=[Link](axis=1)
11) accéder à la colonne « nom » et l’afficher.
print(emp["Nom"])
12) accéder aux deux colonnes « nom et prénom » et les afficher.
Mme Zeineb Maddour 31
4eme EG
print(emp[["Nom","Prénom"]])
13) accéder aux deux colonnes « nom et prénom » et afficher les 3 premières lignes
print(emp[["Nom","Prénom"]].head(3))
14) accéder aux deux colonnes « nom et prénom » et afficher les 3 dernières lignes
print(emp[["Nom","Prénom"]].tail(3))
15) afficher les 3 premières lignes
print([Link](3))
16) afficher les 3 dernières lignes.
print([Link](3))
17) afficher le contenu de la ligne d'indice 4
print([Link][4])
18) afficher le contenu des lignes de l'indice 2 à l'indice 4.
print([Link][2:5])
19) afficher le contenu de la cellule de la ligne d’indice 4 et la colonne d’indice 1.
print([Link][4,1])
20) modifier le contenu de la cellule de la ligne d'indice 5 et la colonne d'indice 2 :("directeur")
[Link][5,2]="directeur"
21) modifier le nom de la colonne « Title » par « titre »
emp=[Link](columns={"Title":"titre"})
22) ajouter une colonne « salaire » sachant que : salaire = [ 750 , 1600 , 858.50 , 905.16 , 750 , 2100]
emp["salaire"]=[750,1600,858.5,905.16,750,2100]
23) afficher la moyenne des salaires.
print('la moyenne des salaires est ', emp['salaire'].mean( ))
ou bien
m=emp['salaire'].mean( )
print('la moyenne des salaires est ', m)
24) afficher le salaire minimal.
print('le salaire minimal est ', emp['salaire'].min( ))

25) afficher le salaire maximal


print('le salaire miaximal est ', emp['salaire'].max( ))
26) afficher le nombre des employés.
print('le nombre des employés est ', emp['salaire'].count( ))
27) afficher la somme des salaires.
print('la somme des salaires est ', emp['salaire'].sum( ))
28) afficher les employés ayant un salaire supérieur à 800dt
print (emp[emp['salaire']>800])
oubien
print ("La liste des employés qui ont un salaire supérieur à 800 sont :",emp[emp['salaire']>800])
oubien
Mme Zeineb Maddour 32
4eme EG
d= emp[emp['salaire']>800]
print(d)
29) afficher le nombre des employés ayant un salaire supérieur à 1000dt
d= emp[emp['salaire']>1000].count()
print("le nombre des employés ayant un salaire supérieur à 1000dt ",d)
30) afficher les employés ayant un salaire inférieur à 800dt et ont un titre Mr.
print (emp[(emp['salaire']<800) & (emp['titre']=="Mr.")])
31) trier dans un ordre croissant des salaires tous les données du DataFrame
print(emp.sort_values(by='salaire'))
oubien le résultat du tri est aussi un DataFrame
tri= emp['salaire'].sort_values( )
print(tri)
32) trier dans un ordre décroissant des salaires tous les données du DataFrame
print(emp.sort_values(by='salaire',ascending=False))
33) créer un graphique en histogramme qui permet de représenter les salaires.
from [Link] import*
[Link](column='salaire')
show( ) # commande pour afficher le graphique
oubien
import [Link] as plt
[Link](column='salaire')
[Link]( )
34) créer un graphique en histogramme de couleur rouge qui permet de représenter les salaires en
fonction des noms.
[Link](x='Nom',y='salaire', color='red', title='salaire des employes')
show()
35) créer un graphique en courbe de couleur bleu qui permet de représenter les salaires en fonction
des noms.
[Link](x='Nom',y='salaire', color='blue',title= 'absence des employes')
show()

Mme Zeineb Maddour 33


4eme EG

Vous aimerez peut-être aussi