REPUBLIQUE TUNISIENNE

MINISTERE DE L’EDUCATION

Lycée …………………..

------------------  ------------------

MANUEL INFORMATIQUE

4 éme ÉCO & GESTION

Ens. ALLEGUI Kaouther


Partie 1 : Base de données

Objectifs :

  • Décrire l’intérêt des bases de données et des systèmes de gestion de base de données
  • Utiliser les fonctions de base du SGBD pour gérer une base de données
  • Utiliser les fonctions de base pour charger des données, interroger une base de données

Introduction :

  • Dans notre vie quotidiennes on manipule une quantité importante des données (Nom de personne, N°téléphone, dates, notes…)
  • On a  besoin donc d’une structure permettant d’assurer une organisation simple de ces données en précisant leurs types et leurs tailles.
  • Cette nouvelle notion est appelé base de donnée (data base)
  • Pour pouvoir manipuler les bases des données on doit disposer d’un système assurant plusieurs fonctionnalité tel que la recherche, le tri, le filtrage… Ce système est appelé Système de gestion de base de données (SGBD)

Définitions :

  1. Base de données :

Une base de donnés est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents  simultanément et en temps optimal.

  1. Système de Gestion de Bases de Données (SGBD) :

C’est l’outil permettant de créer de nouvelle bases de données, de mettre à jour ces données    (ajouter, modifier, supprimer), de rechercher efficacement des données spécifiques et de   fournir différentes manières de les visualiser (à l’écran ou sur papier).    

 Exemple : Oracle, DB2, MySQL, Postgres, Access, SQL Server, …

Retenons : Une base de données est un ensemble structurée de données enregistrées dans des tables, chaque table représente un objet du monde réel, par exemple élève.

  1. Composants d’une BD :

Description d’une base de données

Activité1 : On demande de classer les données relatives aux élèves de votre classe telle que (ID_Eleve, nom, prénom, date_naissance, classe)

Pour organiser ces différentes données qu’est ce qu’on peut utiliser pour les rangées ?

Solution :

Ces donnés peuvent être organisé dans un tableau.

                                                           ELEVE

     ID_ELEVE

       Nom

     Prénom

 Date de naissance

       Classe

Pourquoi ?

car l’un de caractéristique d’un tableau est que les donnés d’une même colonne sont de même type…

 Constatation

 

  • Les données peuvent être classées sous forme d’un tableau cette structure est appelé TABLE  dans la base de données.
  • Table : c’est une collection de données relatives à un sujet spécifique tel qu’un élève, un véhicule, un client, repartie en colonnes (champs) et en lignes (enregistrements)…
  • Une colonne d’une table est appelé champs ou attribut qui regroupe les informations de même type.
  • Une ligne d’une table est appelé enregistrement ou N-uplet qui correspond à toutes les informations concernant un élève/
  • On peut trouver plusieurs tables dans une même base de données

Activité 2 : Décrire la structure de la BD « Gestion de notes », de quoi elle est constituée ?

Chaque table contient un certain nombre de champs, lors de la création d’une table on doit spécifier pour chaque champ, son nom, son type et ses propriétés qui varient selon le type de champ ( Date, texte, numérique…..)

Activité 3 : On se propose de donner une base de données appelée« GESTION DE NOTES ».

représentant des données concernant des élèves, leurs classes et ces notes.

ELEVE

     ID_ELEVE

       Nom

     Prénom

 Date de naissance

       Classe

MATIERE

ID_MATIERE

 Libellé matière

    Coefficient

NOTE

    ID_ELEVE

 ID_MATIERE

         Note

  • La table ELEVE est formée par des colonnes (ID_ELEVE, Nom, Prénom, date de naissance et classe) appelées champs et des lignes appelées enregistrements ou N-uplets.
  • Le champ ID_ELEVE représente l’identifiant unique des enregistrements de la tables, on l’appelle clé primaire.

Schéma d’une table :

Le schéma d’une table est donné par l’ensemble de ses attributs (champs).

Exemple :

Le schéma de la table ELEVE est :

ELEVE (ID_ELEVE, Nom, Prénom, date de naissance, classe)

Schéma d’une base de données :

Le schéma d’une base de données est l’ensemble des schémas des tables de la base.

Activité 4 :

Donner Le schéma de la base de données « GESTION DE NOTES ».

Solution :

Le schéma de la base de données « GESTION DE NOTES » est :

ELEVE (ID_ELEVE, Nom, Prenom, date de naissance, classe)

MATIERE (ID_MATIERE, Libelle_matiere, Coefficient)

NOTE (    ID_ELEVE, ID_MATIERE, Note)

  1. Création d’une base de données :
  1. Lancer le logiciel MS Access

Activité 5 :

         Démarrer le SGBD installé sur votre ordinateur Microsoft Access et déterminer les composants d’une base de données

Access est un logiciel qui gère des bases de données relationnelles. Ce type de logiciel est appelé système de gestion de bases de données relationnel (SGBDR).

Solution :

 Pour lancer le logiciel ACCESS, vous avez 2 possibilités:

  • Menu Démarrer
  • Tous les programmes.
  • Microsoft Office
  • Microsoft ACCESS.

Ou bien

Cliquez sur le raccourci: Microsoft ACCESS situé sur le Bureau.

  1. Créer une base de données vide

Activité 6: créer la base de données « gestion de notes »

  • Bouton Office
  • Nouveau
  • Base de donnée vide
  • Préciser le nom et l’emplacement de la base
  • Créer
  1. Créer une table

Activité 7: créer la table « élève »

Pour créer une table, on doit suivre les étapes suivantes : 

  • Onglet « créer »
  • Groupe « table »
  • Bouton « création de table »
  • Créer les champs de la table et fixer pour chacun ces propriétés (nom, type, …)
  • Choisir la clé primaire de la table en cliquant sur l’outil          de la barre d’outils
  • Fermer la table
  • Enregistrer la table

Soit la description des colonnes des tables de la base de données "gestion de note":

Nom

Description

Type

Taille

Format

Contrainte

ID_eleve

Le code d’un élève

Texte court

4

Non vide

ID_matiere

Le code d’une matière

Texte court

3

Non vide

Nom

Nom Nom d’un élève

Texte court

20

Prénom

Prénom d’un élève

Texte court

10

Libellé matière

Libellé d’une matière

Texte court

30

date de naissance

date de naissance d’un élève

Date/Heure

Date abrégé

classe

Classe d’un élève

Texte court

Coef

Coefficient d’une matière

Numérique

Entier long

Par défaut 1

Note

Note d’un élève dans une matière

Numérique

réel

Nombre général (2 chiffres après la virgule)

Supérieure ou égal à zéro


Remarque : si la clé primaire est composée de plusieurs colonnes, on utilise la touche Ctrl du clavier pour sélectionner toutes les colonnes qui constituent la clé primaire

Attention : pas d’accent et pas d’espace dans les noms de champ

  1. La clé primaire :

Activité 7 :

Dans une classe, est ce qu’on peut avoir deux élèves qui ont le même nom, prénom et date de naissance ?

Qu’elle est le champ qui doit être unique pour chaque élève ?

Réponse :

L’ID-Elève représente la clé primaire de la table ELEVE

  1. Définition :

Une clé primaire est un ou plusieurs champs dont la ou les valeurs identifient de façon unique chaque enregistrement d’une table. Une clé primaire n’accepte pas les valeurs nulles. Une clé primaire sert à relier une table à des clés étrangères se trouvant dans d’autres tables

Attention, il est conseillé d'avoir une clef primaire de type “valeur numérique”. Une clef primaire peut être de type texte mais cela peut amener à la création involontaire de doublons. Par exemple : si le champ “nom de l'élève” est la clef primaire de la table des “ELEVES” et que deux élèves ont le même nom, cela entraîne des incohérences dans la base de données. Avec une valeur numérique les risques sont moindres.

Remarque : 

  • Une clé primaire peut être composée de plusieurs champs et lie, généralement, les informations communes à plusieurs tables
  • La plupart du temps il est plus judicieux de choisir un nombre ou une référence, pour éviter les problèmes de doublons.
  • Lorsqu’on ne précise pas clé primaire le SGBD ajoute  automatiquement un nouveau champ et le considère comme clé primaire
  • La clé primaire est très importante dans une table car le SGBD empêche: Les doublons  et les valeurs nulles pour la clé primaire
  • La clé primaire et la clé étrangère doivent être de même type
  • Dans une BD chaque table doit avoir une clé primaire

  1. Créer une clé primaire

Pour créer la clé primaire de la table :

  • Sélectionnez le champ concerné en cliquant sur le sélecteur de champ  (bouton situé dans la marge gauche)
  • Dérouler le menu contextuel
  • Cliquez sur le bouton clé primaire      

5. Les relations : 

Activité 8 : Quelle est la clé primaire de la table note ? Pourquoi ils sont 2 clé ?

Constatation :

  • Pour assurer la cohérence de cette BD, on doit appliquer des contraintes (règles de gestion) :
  • Un élève peut avoir plusieurs notes : relation 1 élève-N note
  • Une note concerne un seul élève : relation 1 note – 1 élève
  • Une matière contient plusieurs notes : relation 1 matière-N note

Activité 9

Pour assurer la cohérence de cette base de données, on peut appliquer les règles de gestion suivantes :

  • Une note, dans une matière, n’est affectée qu’à un seul élève.
  • Un élève peut avoir plusieurs notes.
  • Une note est associée à une matière.
  • Plusieurs notes peuvent être affectées à une matière pour plusieurs élèves.
  1. Définition :

Une relation est un lien entre 2 tables d’une BD à l’aide de 2 champs en commun à ces 2 tables. Ces 2 champs sont dits : associés. Un tel champ est la clé primaire de l’une des tables et la clé étrangère dans l’autre table associée.

Remarque :

Une relation est un lien entre 2 tables d’une BD à l’aide de 2 champs en commun.

L’avantage de relier des tables sur des champs en commun est d’éviter la redondance (avoir une même information plusieurs fois).

  1. Les types de relations :

Soit les 2 tables Table A et Table B d’une base de données. On distingue trois types de relations (appelées cardinalités) : ‘’un- à- un’ , ‘’un- à –plusieurs’’ et ‘’plusieurs- à- plusieurs’’

  • Relation un à un (1-1) : Signifie qu’un enregistrement de la 1ère table ne peut correspondre qu’à un seul champ de la 2ème table.

Exemple : Un directeur ne peut être directeur qu’un d’un seul lycée et un lycée ne peut avoir qu’un seul directeur. On définie ainsi une relation de type 1-1.

Une relation un à un (1-1) est crée si les deux champs liés sont des clés primaires.

  • Relation un à plusieurs (1-N) : Signifie que  chaque enregistrement de la 1ère table (contenant la clé primaire) peut être associé à plusieurs enregistrements de la 2ème table.  

Exemple : Un élève peut avoir plusieurs notes alors qu’une note dans une matière ne peut être affectée qu’à un seul élève. On définie ainsi une relation de type 1-N.

Une relation un à plusieurs (1-N) est crée si l’un des deux champs liés sont des clés primaires.

Les clés étrangères / clés secondaires Une clé étrangère est, généralement, une clé primaire provenant d’une autre Table pour définir un la relation entre les deux table en question.

  • Relation plusieurs à plusieurs (N-M) : Signifie que  chaque enregistrement de la 1ère table (contenant la clé primaire) peut être associé à plusieurs enregistrements de la 2ème table et inversement.  

Exemple : Un type de produit peut être fabriqué par plusieurs usines et une usine peut fabriquer plusieurs types de produits. On définie ainsi une relation de type N-M

Une relation plusieurs-à- plusieurs (N-M) est composée de deux relations un-à-plusieurs avec une troisième table

  1. Créer une relation :

Activité 9 :

Créer les relations possibles entre ses tables en admettant les règles décrites précédemment

  • Onglet « Outil de bases de donnée »
  • groupe « Afficher / masquer»
  • bouton « Relations »
  • 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

Par exemple : sélectionner la clé primaire id_eleve de la table élève et le glisser, en maintenant le bouton gauche de la souris, vers la clé étrangère de la table note.

  • Vérifier dans la boite de dialogue affichée, les champs et l’intégrité référentielle.
  • Valider ce paramètre en cliquant sur « Créer ».

  • Enregistrer les modifications apportées.
  • La relation sera représentée comme suit :

Appliquer l’intégrité référentielle : signifie que lorsqu’on insère une ligne dans la table fille, le SGBD vérifie que la valeur saisie dans la colonne clé étrangère existe dans la colonne clé primaire de la table mère.

Remarque :

  • La clé primaire et la clé étrangère doivent être de même type.
  • Une clé primaire identifie d’une façon unique chaque enregistrement  de la table.
  • Dans une BD, chaque table doit avoir une clé primaire.
  • Une clé primaire peut être composée de plusieurs champs et lie, généralement, les informations communes à plusieurs tables
  • La plupart du temps il est plus judicieux de choisir un nombre ou une référence, pour éviter les problèmes de doublons.
  • Lorsqu’on ne précise pas clé primaire le SGBD ajoute  automatiquement un nouveau champ et le considère comme clé primaire
  • La clé primaire est très importante dans une table car le SGBD empêche: Les doublons  et les valeurs nulles pour la clé primaire

  1. Saisie des données dans une table :

Activité10 : remplir les tables crées dans l’activité précédente par les données nécessaires.

  • Sélectionner l’objet tables
  • Double clique sur la table à remplir
  • Dans la fenêtre qui apparaît   saisir les différents enregistrements

Remarque :

  • Dans la saisie il ne faut jamais que la clé primaire soit vide et aussi
  • il ne faut pas que deux enregistrements aient  une même clé primaire.
  1. Création des requêtes :
  1. Définition :

Une requête est un moyen permettant d’interroger une BD et d’exploiter ses données  (classer des données, rechercher des données, extraire des données, effectuer des calculs).

Activité 11

Répondre manuellement aux questions suivantes :

Quels sont les élèves de la classe 3 eco1 (2) (Dans l’ordre croissant des noms) ?

Peut-on répondre à ces questions d’une manière automatique en utilisant MS Access ?

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

  1. Créer une requête

C’est un moyen d’interroger les bases de données d’une ou plusieurs tables.

Il existe plusieurs types de requêtes dont les plus utilisées sont :

  • Les requêtes de sélection
  • Les requêtes paramétrées
  • Les requêtes d’ajout
  • Les requêtes de mise à jour
  • Les requêtes de suppression
  1. Les requêtes de sélection
  1. Créer une requête de sélection
  • Onglet « créer »
  • Groupe « autre »
  • Bouton « création de requête »
  • 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
  • Dans la fenêtre « Afficher la table », sélectionner les tables nécessaires à la création de votre requête et les insérer en utilisant le bouton « Ajouter »
  • Sortir en cliquant sur le bouton « Fermer »
  • Choisir les colonnes à afficher dans la requête en glissant chaque colonne depuis la table vers un champ de la grille du bas.
  • Cliquer sur le bouton          pour visualiser le résultat de votre requête.
  • Enregistrer la requête.

Remarque : Pour afficher toutes les colonnes, on peut glisser le champ « * ».

  1. Exécuter une requête de sélection :

Le résultat d’une requête est sous forme d’une table qui peut être utilisée dans une autre requête

  • Onglet « Accueil »
  • Groupe « Résultats»
  • Bouton « Exécuter »

Ou bien

  • Double-cliquer sur le nom de la requête.
  • Le résultat s’affiche sous la forme d’une table comme suit :

Requête1

ID_Eleve

Nom

Prénom

Date de naissance

classe

E001

Salami

zohra

14/12/1990

4 eco2

E004

Ben mahmoud

saber

15/09/1990

4 eco2

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 a plusieurs critères sur un ou plusieurs champs
  • Permet d’enregistrer le résultat sous forme de tables
  • On peut utiliser dans les requêtes les operateurs suivants :
  • = égal
  • <> différent
  • < inférieur
  • > supérieur
  • <=inférieur ou égal
  • >=supérieur ou égal

ACCESS met à votre disposition d’autres operateurs :

  • 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#

  • Comme : sélectionne les enregistrements contenant une donnée approximative

Comme ‘’rue*’’

Question 1 : Afficher la liste des élèves triée dans l’ordre croissant des noms

Il faut choisir « Croissant » sous le champ « Nom » sur la ligne Tri.

Question 2 : Afficher les élèves de la classe « 4 ECO1 »

Il faut écrire « 4 ECO1 » sous le champ « Classe » sur la ligne Critère.

Question 3 : Afficher les élèves qui ne sont pas en « 4 ECO1 »

Il faut écrire « <>4 ECO1 » sous le champ « Classe » sur la ligne Critère.

Question 4 : Afficher les élèves dont les noms commencent par la lettre « B »

Il faut écrire « Comme "B*" » sous le champ « Nom » sur la ligne Critère.

Question 5 : Afficher les élèves nés après le 01/01/1989

Il faut écrire « >#01/01/1989# » sous le champ « Date_nais » sur la ligne Critère.

Question 6 : Afficher les élèves dont les noms commencent par la lettre « A » et nés après le 01/01/1989

Il faut écrire « Comme "A*" » sous le champ « Nom » et « >#01/01/1989# » sous le champ « Date_nais », les deux sur la ligne Critère.

Question 7 : Afficher les noms et les prénoms des élèves qui ont une note égale à 10

Dans ce cas, on va ajouter deux tables obligatoirement liées et non pas une, la table ELEVE et la table NOTE.

Ensuite, glisser les champs Nom et Prénom de la table ELEVE et le champ Notes de la table NOTE.

Ecrire « 10 » sous le champ « Notes » sur la ligne Critère.

Question 8 : Afficher les libellés des matières dans lesquelles les élèves ont des notes supérieures à 10

Ajouter les deux tables MATIERE et la table NOTE.

Ensuite, glisser les champs Libellé_matière de la table MATIERE et le champ Notes de la table NOTE.

Ecrire « >10 » sous le champ « Notes » sur la ligne Critère.

  1. Les requêtes paramétrées :

Pour consulter les élèves d’une classe, le directeur du lycée est obligé de créer une nouvelle requête à chaque consultation. Pour lui faciliter la tache, on peut créer une requête paramétrée : c’est une requête qui fourni, lors de son exécution, une boite de dialogue qui demande au directeur la classe pour lui donner renvoyer la liste des élèves.

Pour le faire, il suffit d’écrire une question entre crochets [] sur la ligne Critère.

  1. Définition :

Une requête paramétrée permet de créer a 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.  

  1. 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 ………..])

  1. 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 :

  • Onglet « Accueil »
  • Groupe « résultats »
  • Bouton « Exécuter »
  • Une boite de dialogue s’affiche, saisir le critère
  • Valider en cliquant sur le bouton « OK »

Question 9 : Créer une requête paramétrée nommée « Classe » : permettant d’afficher les élèves d’une classe donnée.

  1. Les requêtes de mise à jour :
  1. Définition

C'est une requête qui apporte des changements globaux à des enregistrements dans une ou plusieurs tables.

  1. Création d’une requête de mise à jour :

Pour créer une requête de mise à jour:

  • Onglet « créer »
  • Groupe « autre »
  • Bouton « création de requête »
  • Onglet « créer »
  • Groupe « type de requête »
  • Bouton « mise à jour»

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 et la valeur de mise à jour

Question 10 : Ecrire la requête qui permet d’augmenter de 1 point les notes des élèves

  1. Choisir l’objet « Requêtes »  de la fenêtre « Bases de données »
  2. Cliquer sur le bouton « Nouveau » puis choisir «  Mode création »
  3. Dans le menu  «Requête », choisir la commande « Requête Mise à jour »
  4. Dans la grille de création des requêtes, ajouter  la table NOTE et  glisser le champ Note à mettre à jour
  5. Dans la ligne « Mise à jour », taper la modification : [Note]+ 1
  6. Enregistrer la requête
  7. Exécuter la requête pour voir le résultat

Question 11: Ecrire la requête qui permet de modifier la classe par 4 ECO 2 de l’élève ayant un prénom Amal

  1. Choisir l’objet « Requêtes »  de la fenêtre « Bases de données »
  2. Cliquer sur le bouton « Nouveau » puis choisir «  Mode création »
  3. Dans le menu  «Requête », choisir la commande « Requête Mise à jour »
  4. Dans la grille de création des requêtes, ajouter  la table ELEVE et  glisser le champ Classe à mettre à jour et le champ Prénom pour fixer le critère
  5. Dans la ligne « Mise à jour » du champ Classe, taper la nouvelle classe : 4 Eco 2
  6. Dans la ligne « critère » du champ Prénom, taper le nom de l’élève à mettre à jour : Amal
  7. Enregistrer la requête
  8. Exécuter la requête pour voir le résultat

  1. Les requêtes de suppression:
  1. Définition

Elle permet de supprimer un groupe d’enregistrements d’une ou plusieurs tables

  1. Création d’une requête de suppression
  • Onglet « créer »
  • Groupe « autre »
  • Bouton « création de requête »
  • Onglet « créer »
  • Groupe « type de requête »
  • Bouton « suppression»

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 suppression

Question 12 : Ecrire la requête qui permet de supprimer l’élève dont le code est  « E001 ».

  1.  Les requêtes de calcul:
  1. Définition

Elle permet d’effectuer des calculs

  1. Création d’une requête de calcul
  • Onglet « créer »
  • Groupe « autre »
  • Bouton « création de requête »
  • Onglet « créer »
  • Groupe « Afficher/masquer »
  • Cliquer sur « Totaux »
  • 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 la fonction de calcul

Question 13 : Écrire la requête qui permet afficher la moyenne générale des notes des élèves en mathématique.

  1. Les requêtes d’ajout:
  1. Définition

Elle permet d’ajouter un groupe d’enregistrements d’une ou plusieurs tables à la fin d’une ou plusieurs tables.

  1. Création d’une requête d’ajout

Pour créer une requête d’ajout :

  • Onglet « créer »
  • Groupe « autre »
  • Bouton « création de requête »
  • Ajouter la table qui représente la source des informations de la requête
  • Onglet « créer »
  • Groupe « type de requête »
  • Bouton « ajout »
  • Dans la boite affichée, choisir la table dans la quelle on va ajouter les enregistrements (ajouter la table« LISTE_NOUVEAUX » qui représente la source de la requête.
  • Dans la boite de dialogue qui s’affiche, choisir la table dans laquelle on va ajouter les nouveaux enregistrements (dans le TP c’est la table ELEVES)
  • 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 d’ajout
  • Dans la grille de création des requêtes, fixer les champs à ajouter à la table ELEVES et spécifier le critère  « 4 Eco 2 » dans la zone Critère du champ Classe
  • Enregistrer la requête
  • Exécuter la requête pour voir le résultat

Remarque :

L’ajout de l’enregistrement se fait par défaut a la fin de la table

Si la table contient des contraintes d’ordre, l’ajout se fait dans la bonne position

Question 14 :

Soit la table « LISTE_NOUVEAUX » contenant des élèves provenant d’autres lycées.

ID_ELEVE

Nom

Prénom

Date_nais

Classe

E008

Barrani

Houda

10/08/1987

3 SI 1

E009

Msekni

Imen

20/11/1986

4 ECO 2

E010

Ben Ali

Malik

14/02/1986

2 SI 1

E011

Hedfi

Slim

01/05/1989

4 ECO 2

E012

Ben Slimen

Mouna

25/05/1987

4 L 2

L’administration désire ajouter les nouveaux élèves qui sont en 4 Eco 2 à la table ELEVE.

  1. Importer une table à partir d’une feuille Excel

Question 15 :

Importer la table matière à partir de la feuille 1 du classeur Excel D:/matiere

  • Onglet « Données externes »
  • Groupe «Importer »
  • Bouton « Excel »
  • Dans la fenêtre qui s’affiche,  sélectionner la source et la destination des données et le mode et l’emplacement de stockage de données

  • Valider par Ok
  • Sélectionner  la feuille de données à importer puis cliquer sur « suivant »

  • Cocher l’option « première ligne contient les en-têtes de données »

  • Pour chaque champs vous pouvez changer le : le type de données ; Nom du champs ,…selon le besoin (généralement rien à changer )  puis cliquer sur « suivant »

  • Choisir le clé primaire de la table  (ou l’une des autres options selon vos besoin) puis cliquer sur « suivant »

  • Taper le nom de votre  table  puis Vlider par « Terminer »

                   

  1. Exporter une table ou une requête vers une feuille Excel

Question 16 :

Exporter les données de la table " élève ", dans votre dossier de travail du ’D:/4EG’’  et sous le nom de " élève.csv".(format csv ,point-virgule en séparateur de champs, point en séparateur décimal, page de codes : Unicode (UTF-8) et inclure les noms des champs sur la première ligne)

  • Sélectionner la table ou la requête à exporter
  • Dérouler le Menu contextuel
  • Exporter
  • Dans la boîte de dialogue, utilisez le bouton Parcourir pour donner le nom du fichier à créer, et son emplacement.
  • Cochez les cases à cocher qui suivent (elles sont explicites).
  • 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 même directement ouvert dans Excel.

  1. Exporter une table ou une requête vers un fichier csv ou txt

Pour exporter une table ou requête à un Fichier txt ou csv on doit parcourir par les étapes suivants:

  1. Sélectionner la table ou le requête voulu (exemple : table Classe)
  2. Dérouler le Menu contextuel
  3. Exporter
  4. choisir le type de fichier : Fichier texte

  1. Dans la fenêtre qui s’affiche :
  1. Cliquer sur le bouton parcourir
  2. Choisir l’emplacement dans laquelle vous allez enregistrer votre fichier
  3. Dans la zone « nom du fichier » , Saisir le nom de votre fichier avec l’extension .csv pour les fichier csv (exemple : eleve.csv) et avec l’extension .txt pour les fichier textes(exemple : eleve.txt)

 

  1. Cliquer sur enregistrer
  2. Une autre fenêtre qui s’affiche encore cliquer sur suivant

Dans cette étape 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 »

  • Valider par OK
  • Valider par Suivant
  • Valider par Terminer si vous êtes d’accord pour le nom du fichier et leur emplacement (sinon Annuler et  répéter votre travaille)

TP1

Dans le dossier 4 EG du lecteur D : dans lequel vous devez enregistrer tous les fichiers solution de cette activité :

On se propose de créer la base de données « gestion de notes » définie par les tables suivantes :

Élève (id_eleve, nom, prénom, date naissance, classe)

Matière (id_matière, libellé, coef)

Note ( id_eleve, id_matière, note)

Les champs soulignés représentent les clés primaires des tables.

  1. Lancer le logiciel de création de base de données disponible
  2. Créer la base de données « gestion de notes » dans le dossier 4 EG du lecteur D:
  3. Créer les tables de cette base de données ainsi que les relations qui les relient
  4. Remplir les tables par les données suivantes :

Table : Élève

Table : Note

Requêtes de sélection

Créer les requêtes permettant de :

  1. Afficher la liste des élèves triée dans l’ordre croissant des noms
  2. Afficher les élèves de la classe « 4 ECO1 »

                                  *********************************************************************

  1. Afficher les élèves qui ne sont pas en « 4 ECO1 »
  2. Afficher les élèves dont les noms commencent par la lettre « B »
  3. Afficher les élèves nés après le 01/01/1989
  4. Afficher les élèves dont les noms commencent par la lettre « A » et nés après le 01/01/1989

********************************************************************

  1. Afficher les noms et les prénoms des élèves qui ont une note égale à 10
  2. Afficher les libellés des matières dans lesquelles les élèves ont des notes supérieures à 10

Requêtes paramétrées

  1. Créer une requête paramétrée nommée « Classe » : permettant d’afficher les élèves d’une classe donnée.

**********************************************************************

Requêtes de mise à jour

  1. Ecrire la requête qui permet d’augmenter de 1 point les notes des élèves
  2.  Ecrire la requête qui permet de changer l’élève « Amal » de la 4 ECO 1 à la 4 ECO 2

Requêtes de suppression

  1. Ecrire la requête qui permet de supprimer l’élève dont le code est « E001 ».

Requêtes d’analyse croisée

  1. Ecrire la requête qui permet de calculer la somme des notes pour chaque élève.

**************************************************************

Requêtes d’ajout

  1.  Soit la table « LISTE_NOUVEAUX » contenant des élèves provenant d’autres lycées.

ID_ELEVE

Nom

Prénom

Date_nais

Classe

E008

Barrani

Houda

10/08/1987

3 SI 1

E009

Msekni

Imen

20/11/1986

4 ECO 2

E010

Ben Ali

Malik

14/02/1986

2 SI 1

E011

Hedfi

Slim

01/05/1989

4 ECO 2

E012

Ben Slimen

Mouna

25/05/1987

4 L 2

L’administration désire ajouter les nouveaux élèves qui sont en 4 Eco 2 à la table ELEVE.

Créer la requête nécessaire pour le faire.

  1. Importer la table matière à partir de la feuille 1 du classeur Excel D:/matiere
  2. Exporter les données de la table " élève ", dans votre dossier de travail du ’D:/4EG’’  et sous le nom de " élève.csv".(format csv ,point-virgule en séparateur de champs, point en séparateur décimal, page de codes : Unicode (UTF-8) et inclure les noms des champs sur la première ligne)

TP2

Important : Dans le répertoire Bac2023 situé sur la racine du disque D : de votre poste, créez un dossier de travail portant votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.

Une société de gestion de vente de billets des concerts gère une base de données décrite par le schéma relationnel suivant :

Concert (Id-Concert, Date, Lieu)

Billet (Id-Billet, Catégorie, Prix)

Vente (Id-Concert, Id-Billet, Mode-paiement)

  1. Lancer le logiciel de création de base de données disponible et créer la BD « Gestion_Concert »  sous le dossier "D:\4 EG"  
  2. Créer les tables de la BD ainsi que les relations qui les relient.
  3. Remplir les tables par les données suivantes :

Billet : Table

Vente : Table

Concert : table

  • Requête1 pour afficher la date et le lieu du concert correspondant au billet vendue  « BC114» ?
  • Requête2 pour afficher la catégorie et le prix des billets vendus au comptant ?


TP3

Important : Dans le répertoire Bac2023 situé sur la racine du disque D : de votre poste, créez un dossier de travail portant votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.

Afin de gérer le stockage des céréales collectées dans des silos, on se propose d’utiliser la base de données intitulée "Gestion_Cereale" décrite par le schéma textuel simplifié suivant :

Cereale (CodeC, NomC, Prix)

Silo (CodeS, Nom, Adresse, Capacite)

Collecte (CodeC#, CodeS#, DateC, Quantite)

Soit la description des colonnes des tables de la base de données "Gestion_Cereale":

Nom

Description

Type

Taille

Format

Contrainte

CodeC

Le code d’une céréale

Texte court

4

Non vide

NomC

Le nom d’une céréale

Texte court

30

Non vide

Prix

Le prix d’un Quintal d’une céréale en Dinar

Numérique

Réel

Nombre général (3 chiffres après la virgule)

Supérieur à zéro

CodeS

Le code d’un silo

Texte court

4

Non vide

Nom

Le nom d’un silo

Texte court

30

Non vide

Adresse

L’adresse d’un silo

Texte court

50

Capacite

La capacité maximale de stockage d’un silo en Quintal.

Numérique

Entier long

Supérieure à zéro

DateC

La date d’une collecte

Date/Heure

Date abrégé

Non vide

Quantite

La quantité, en Quintal, livrée à un silo à une date bien déterminée

Numérique

Entier

Supérieure à zéro

A) À l’aide du logiciel de gestion de base de données disponible :

  1. Créer, dans votre dossier de travail, la base de données "Gestion_Cereale".
  2. Créer les tables et les relations de cette base de données tout en respectant les types et les propriétés cités dans la description ci-dessus.
  3. Remplir les tables par les données suivantes :

Cereale

Silo

CodeC

NomC

Prix

CodeS

Nom

Adresse

Capacite

C01

Blé Dur

87.255

S01

STBlé

Jendouba

255000

C02

Blé Tendre

67.732

S02

CerNord

Beja

270000

C03

Orge

56.500

S03

ColKef

Le Kef

189987

C04

Triticale

56.500

S04

StockBlé

Bizerte

265000

Collecte

CodeC

CodeS

DateC

Quantite

C01

S01

29/06/2021

4200

C02

S02

29/06/2021

4500

C03

S03

30/06/2021

3500

C04

S04

30/06/2021

3900

C01

S02

16/07/2021

4900

C02

S01

28/07/2021

6230

  1. Créer les requêtes suivantes :

R1 : Afficher les noms et les quantités des céréales collectées le 30/06/2021.

R2 : Afficher la liste des silos (Nom, Adresse, Capacite) qui ont stocké une céréale de code donné.

R3 : Afficher la somme des quantités collectées dans le silo de code "S01".

R4 : Afficher la liste des céréales collectées (CodeC, Prix, CodeS, Nom, Quantite, DateC).


Théorique 1

Afin de gérer les emprunts des DVD de jeux, un jeune informaticien a crée  une base de données « gestion_emprunt » dont les tables sont illustrés par la figure suivante :

Répondre aux questions suivantes en se référant à la figure ci-dessus :

Question 1 : combien la base de donnés « gestion_emprunt » comporte-t_elle ?

Réponse 1 : ……………………………………………………………………………………

Question 2 : combien la table « emprunt » comporte-t_elle de champs?

Réponse 2 : ……………………………………………………………………………………

Question 3 : quelle est la clé primaire de la table « emprunt »?

Réponse 3 : ……………………………………………………………………………………

Question 4 : quel est le type du champs « prénom » de la table « client »?

Réponse 4 : ……………………………………………………………………………………

Question 5 : que signifie le symbole    reliant les champs « code_client » des tables « client » et « emprunt » ?

Réponse 5 : ……………………………………………………………………………………

Déduire à partir de la figure donnée, le schéma de la base de données »gestion_emprunt » :

Client (…………………………………………………………….)

DVD (………………………………………………………………)

Emprunt(……………………………………………………………)

  1. Lancer le logiciel de création de base de données disponible.
  2. Créer la base de données  « Gestion d’emprunt » 
  3. Créer les 3 tables présentées ci-dessus.
  4. Etablir les différentes relations entre les différentes tables.
  5. Remplir les tables par les données suivantes :

CLIENT

DVD

Code_DVD

Titre

Catégorie

Prix-emprunt

1000

Science fiction

A

2

1001

action

B

1.5

1002

documentaire

C

4

EMPRUNT

Code_client

Code_DVD

Date_Emprunt

Date_retour

1

1000

01/03/2009

03/03/2009

2

1001

06/04/2010

09/04/2010

2

1000

05/05/2009

10/05/2009

6-Créer les requêtes suivantes et remplir la grille suivante

Grille de création de la requête

rôle

résultat

Type : ……………………………….

Champ :

Table :

Tri :

Afficher :

1

1

1

1

Critères

Ou :

Afficher les nom et prénoms des client qui habite à « Tunis » trié par ordre décroissant suivant le nom

Type : ……………………………….

Champ :

prénom

Date_emprunt

Table :

client

emprunt

Tri :

Afficher :

1

1

Critères

>= #01/01/2015 #

Ou :

Role : …………... ………………………………

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

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

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

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

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

Type : …………………………..

Champ :

Table :

Mise à jour :

Critères

Ou :

Augmenter le prix d’emprunt des DVD ayant la catégorie « A » de  2dt

Type : …………………………..

Champ :

Table :

………………..

Critères

Ou :

Supprimer les DVD de catégorie « C »


Théorique 2

Soit la base de donnée suivante qui représente les articles commercialisés par une entreprise et leur répartition entre les différents dépôts :

Article(code_article,nom_article,poidsunitaire)

Dépôt(num_dépôt,ville_dépôt)

Dépôt_article(code_article,num_dépôt,quantité)

lors de la création de la base de données, le responsable de cette tâche a effectué les erreurs représentées ci-dessous. On vous demande de les identifier.

  1. La première erreur détectée est illustrée comme suit :

Identification de l’erreur :

………………………………………………………………………………………………………………………………………………

  1. Le responsable a rempli la table article ainsi que la table dépôt comme suit :

Lors du remplissage de la table dépôt_article une deuxième erreur s’est déclenchée. En voici une illustration :

Identification de l’erreur :

…………………………………………………………………………………………………………………………………………………………

Compléter le tableau ci-dessous pour répondre à la requête qui permet d’afficher les articles(nom et quantité) existant dans le dépôt de sfax

  Type de la requête :………………………..

Champ :

Table :

Tri :

Afficher :

Critères

Ou :

   c/ on veut remplacer la quantité de l’article A1 dans le dépôt 2 par 50.

   Type de la requête : ………………………..

Champ :

Table :

Mise à jour

Critères

Ou :


Théorique 3

Pour gérer la consommation d’électricités des appareils des différents propriétaires on se propose d’exploiter la base de données simplifie intitulé  « Gestion_Appareil »  suivante :

  1. Donner le schéma textuel de la base de donnée « Gestion_Appareil »  en soulignant la clé primaire de chaque table avec un seul trait et la(es) clé(s) étrangères(s) avec double trait ou #.

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

………………………………………………………………………………………………………………………………………………………………………

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

  1. Les enregistrements de la table «Appareil»   sont récupérés a partir de la feuille de calcul «liste_app»  

Qu’ appelle-t-on cette opération……………………………………………………………………………………………………………………

Qu’ appelle-t-on l opération inverse et quel est son rôle……………………………....................................................

………………………………………………………………………………………………………………………………………………………………………

  1. Remplir le tableau ci-dessous et pour chaque élément par un élément de la liste des alternatives suivantes :

attribut, clé primaire, clé étrangère, enregistrement, table

Est un (e)

Code_Type de la table «Appareil»  

Code_Type de la table «Type_Appareil»  

Nom_Type

Une ligne de la table «Propriétaire»  

  1. Pour chacun des champs de la table «Type_Appareil»  , choisir le type approprie parmi la liste suivante(dans la colonne Type de données) du tableau ci-dessous :

 Texte, Mémo, Numérique, Date/Heure, Monétaire,  

                             NumeroAuto, Oui/Non

Champs

Type de données

Code_Type 

Nom_Type

Puissance  

  1. Afin de spécifier la liste de propriétés de chaque champ de la table, et pour chacune des propositions ci-dessous, mettre une croix (X) dans la case correspondante a la bonne réponse

Pour garantir l’obligation de la saisie du champ ‘’nom_type’’ on doit choisir l’option

Valeur par defaut

Null interdit

Valide si

Pour garantir l’obligation de la saisie du champ ‘’puissance’’ on doit choisir l’option

Valeur par defaut

Null interdit

Valide si

Pour attribuer seulement l’une des valeurs (T01,T02 et T03) au champ ‘’code_type’’ de la table ‘’appareil’’ on doit disposer l’option

Valeur par defaut

Null interdit

Valide si

  1. Compléter les propriétés du champ NomType de la table «Type_Appareil»  sachant que ce champ :
  • Ne doit pas être vide
  • On peut lui attribuer seulement l’une des valeurs (T01, T02 et T03)
  • Ce champ est représenté seulement sur 3 caractères
  • Initialiser ces champs à T01

6-Créer les requêtes suivantes et remplir la grille suivante

Grille de création de la requête

rôle

résultat

Type : ……………………………….

Champ :

Table :

Tri :

Afficher :

1

1

1

Critères

Ou :

Afficher la liste des appareils (Nom_Appareil, Fréquence) ayant une fréquence >4  du propriétaire d’identifiant P0020 trié par ordre croissant des fréquences.

Type : ……………………………….

Champ :

prénom

adresse

Periode

Table :

Propriétaire

Propriétaire

Appareil

Tri :

Afficher :

1        

1

1

Critères

‘’Tunis’’

365

Ou :

‘’Bizerte’’

Rôle : …………... ………………………………

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

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

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

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

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

Type : …………………………..

Champ :

Table :

………………..

Critères

Ou :

Augmenter la période  de  5% pour tous les appareils de type « informatique »

Type : …………………………..

Champ :

Table :

………………..

Critères

Ou :

Supprimer les appareils de puissance supérieur ou égale à 60

Théorique 4

1/ Afin de gérer les comptes des clients d’une agence bancaire, on se propose de présenter la base de données simplifiée « Gestion Banque » décrite par les tables et les relations suivantes :

  1. D’après la représentation graphique présentée ci-dessus, tracer les relations 
  2. Les enregistrements de la table «operation»   sont récupérés a partir de la feuille de calcul «liste_operations»  

Qu’ appelle-t-on cette opération…………………………………………………………………………………………………

Qu’ appelle-t-on l opération inverse et quel est son rôle………………………........................................

……………………………………………………………………………………………………………………………………………………

  1. A partir de la représentation graphique présentée ci-dessus,  et pour chacune des tables, compléter le tableau ci-dessous par sa clé primaire et sa clé étrangère si elle existe ?   

Table

Clé primaire

Clé étrangère

Client

……………………………………

……………………………………

Compte

……………………………………

……………………………………

Opération

……………………………………

……………………………………

  1. Pour chacun des champs de la table «operation»  , choisir le type approprie parmi la liste suivante(dans la colonne Type de données) du tableau ci-dessous :

 Texte, Mémo, Numérique, Date/Heure, Monétaire,  NumeroAuto, Oui/Non

Champs

Type de données

numoper 

dateoper

typeoper

montant

numcompte

  1. Compléter les propriétés du champ Numoper de la table «operation»  sachant que ce champ :
  • Ne doit pas être vide
  • Ce champ est représenté seulement sur 4 caractères

  1. Un nouveau client vient d’ouvrir un compte auprés de l’agence bancaire, après la saisie du champ numéro da la carte d’identité nationale (CIN) composé de 8 chiffres et portant la valeur 05104024.

Que doit être le type du champ (CIN) pour chacun des cas suivants :

  • Si la valeur affichée est 05104024 ?..............................................................................
  • Si la valeur affichée est 5104024   ? ..................................................................................
  1. Compléter les tableaux ci-dessous pour répondre aux requêtes suivantes, en précisant leurs types :
  1. Afficher un extrait d’un Numcompte donné contenant la liste des ropérations (NumOper, Dateoper et Montant) effectuées pendant le mois de Mars 2017.
  • Type de la requête : ………………………………………………………………………..

  1.  Afficher la liste des clients (NumCompte, NomPrénom, téléphone et solde) titulaire de comptes ayant des soldes négatifs.
  • Type de la requête : ………………………………………………………………………..

  1.  Supprimer les opérations effectuées pendant le mois de mars 2017
  • Type de la requête : ………………………………………………………………………..

d ) Diminuer le montant des opérations de versement de 5%

  • Type de la requête : ………………………………………………………………………..


Théorique 5

Afinde gérer les locations des robes, le responsable du service informatique de l’espace Bellapropose la base de données simplifiée intitulée "Gestion_Location"définie par le schéma textuel suivant :

Client (CIN, NomPrenom, DateNais, Adresse, Tel)

TypeRobe (CodeType, Designation)

Robe (CodeRobe, Description, Couleur, CodeType#, Prix)

Location (CIN#, CodeRobe#, DateLocation, DateRetour)

Les données de la table "Client" sont représentées comme suit :

Table : Client

CIN

NomPrenom

DateNais

Adresse

Tel

19458833

Souhir Touzri

29/02/2000

4, Rue d’Alger

(+216) 44222333

01245888

Mehdi Beji

20/09/1945

17,  Rue 14 Janvier

(+216) 20304050

12812855

Abla Bkalti

15/10/1996

21, Route Gabes

(+216) 21121314

27755144

Adnen Mestiri

04/09/2002

Im 9, Apt 6. Place Pasteur

(+216) 99887766

05528077

Sofien Nabli

24/01/1973

Place de l’indépendance

(+216) 98877665

  1. Pour chacun des champs de la table "Client", encadrer le type approprié à partir de la liste indiquée dans la colonne "Type de données" du tableau suivant :

Nom du champ

Type de données

CIN

Texte   -   Numérique   -   Date/Heure

NomPrenom

Texte   -   Numérique   -   Date/Heure

DateNais

Texte   -   Numérique   -   Date/Heure

Adresse

Texte   -   Numérique   -   Date/Heure

Tel

Texte   -   Numérique   -   Date/Heure

  1. En se référant au schéma textuel de la base de données "Gestion_Location", écrire que représente le champ "CodeType" pour chacune des tables suivantes :
  • la table "TypeRobe" : ……………………………………................................
  • la table "Robe" : ……………………………..…………………………………...
  1. Lors de la création des relations entre les tables de cette base de données, le systèmede gestion de base de données affiche un message d’erreur illustré par la figure suivante :

Identifier la cause decette erreur.

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

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

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

  1. Soit les grilles des requêtes nommées "R1", "R2", "R3" et "R4" suivantes :

Pour chacune des propositions ci-dessous, préciser le nom et le type de la requête.

  1. Pour afficher par ordre croissant des noms et prénoms des clients qui ont retourné, le 27/04/2021, les robes qu’ils ont louées.

Nom de la requête : …………………………….……………………………………………………………………………………………

Type de la requête :…………………………….……………………………………………………………………………………………

  1. Pour augmenter de 5% le prix des robes de type "Mariée".

Nom de la requête : …………………………….……………………………………………………………………………………………

Type de la requête : …………………………….……………………………………………………………………………………………

  1. Pour afficher le code et la description des robes dont le code type est "T2".

Nom de la requête : …………………………….……………………………………………………………………………………………

Type de la requête : …………………………….……………………………………………………………………………………………

  1. Pour afficher la liste des prix et les désignations des robes pour une couleur donnée.

Nom de la requête : …………………………….……………………………………………………………………………………………

Type de la requête : …………………………….……………………………………………………………………………………………

  1. Compléter la grille de créationde larequête R5 suivante :

R5: Affiche les informations (NomPrenom, Description, Couleur, Prix, DateLocation,DateRetour) relatives aux clients ayant loué des robes en 2021.

Champs :

Table:

Tri :

Afficher:

Critères:

Ou:


Partie 2 : Analyse de données avec Pandas

I. Introduction

Pour analyser les données en Python, on utilise la bibliothèque Pandas. Cette bibliothèque doit être initialement importée. Puis, les données à analyser sont initialement stockées dans un DataFrame (un tableau de données).Pandas offre diverses fonctionnalités pour :https://onlineitguru.com/wp-content/uploads/2019/01/Python-Pandas-Tutorial.png

  • Charger les données dans un DataFrame
  • Explorer les données (obtention d'informations/filtrage)
  • Manipuler les données (Ajouter/Mettre à jour/Supprimer des données)

Les données à analyser sont chargées, souvent, à partir de fichiersayant divers formats (Excel (.xlsx) ; texte (.csv ou .txt)) dans un DataFrame. On peut aussi, dans certains cas, créer, explicitement, le DataFrame.

Outre, la bibliothèque Pandas, nous utiliserons aussi la bibliothèque matplotlib pour générer des graphiques à partir des données stockées dans le DataFrame.

C’est quoi un Dataframe ?

  • Un outil plus puissant qu’excel
  • Un tableau de données à deux dimensions dont les lignes et colonnes sont indexées
  • Un tableau caractérisé par 2 identifiants : axis=0 et axis=1

Exemple d’un  DataFrame

ville

cotiere

population

0

Kef

False

243156

1

Sousse

True

485004

2

Beja

False

303032

3

Kasserine

False

439243

4

Bizerte

True

568219

Indications

id_DataFrame : Nom du DataFrame (Tableau python)

id_colonne : Nom du colonne

id_ligne : numéro du ligne

Indice_ligne : Numéro de ligne

Indice_colonne : Numéro de colonne

II. Importation des bibliothèques

Bibliothèque Pandas

import pandas        

Bibliothèque graphique Matplotlib

import matplotlib.pyplot as plt      # plt est appelé alias

III. Chargement des données dans un DataFrame

A. Création d'un DataFrame

Pour créer un DataFrame on peut utiliser cette méthode :

Id_DataFrame=pd.DataFrame({

"id_colonne1": [valeur1,…,Valeurn],

… ,

"id_colonneN": [valeur1,…,valeurn]

})

Exemple :

On demande de créer un DataFrame avec le contenu du tableau suivant :

ville

cotiere

population

0

Kef

False

243156

1

Sousse

True

439243

2

Beja

False

303032

Solution :

import pandas

df = pandas.DataFrame({'ville':['kef','sousse','beja'],'Cotiere':['False','True','False'],

'population':[243156,439243,303032]})

#Ou bien

df= pandas.DataFrame()

df['pays']=[ 'kef','sousse', 'beja']

df['cotiere']=[ 'False', 'True', 'False']

df['population']=[ 243156, 439243, 303032]

print(df)

Remarque :Lorsqu'une colonne contient un texte on doit mette chaque valeur entre guillemet.

B. Chargement de données dans un Data Frame

Pour charger le contenu d'un fichier on utilise l’une des méthodes suivantes (selon le type de fichier (xlsx, csv ou txt)) :

i. Fichier Excel(.xls/.xlsx)

Id_Dataframe=pandas.read_excel("Chemin / Nom_fichier.xls","Nom_Feuille")

Rq : chemin est supprimé lorsque le fichier csv est enregistré dans le même dossier que le fichier .py

Exemple 1

df= pd.read_excel("absence.xlsx", "Feuil1")

print(df)

ii. Fichiertexte (.txt)

Id_DataFrame = pd.read_table("Chemin/Nom_fichier.txt",sep=";")

print(df)

Exemple

Df= pd.table ("absence.txt",sep=";")

print(df)

iii. Fichier CSV(.csv)

Id_DataFrame = pd.read_csv("Chemin/ Nom_fichier.csv",  sep=";")

Exemple

df= pd.read_csv("absence.csv", sep=";")

print(df)

Remarque

  • Lors d’exportation d’un tableau ou d'une requête Access à un fichier CSV ou txt on doit :
  • Choisir le séparateur décimal, par exemple le symbole point (".")
  • Choisir le séparateur des champs,par exemple lavirgule (‘,’) ou bien le point-virgule (‘;’)
  • Sélectionner l'encodage des caractèresdu fichier texte ou CSV. Il est conseillé d'utiliser l'encodage utf-8, par défaut, car il supporte tous les caractères.
  • Lors de l'exportation au format CSV on préfère utiliser la virgule comme séparateur de champs, le point comme séparateur décimal, sans oublier de cocher l'option: inclure les noms des champs sur la première ligne.

IV. Informationsd’un DataFrame

1. Dimensions d'un DataFrame

Pour afficher les dimensions d’un DataFrame on écrit :

print(id_DataFrame.shape)

Exemple

print(df.shape)

2. Taille d'un DataFrame(size)

Pour afficher la taille d’un DataFrame on écrit :

print(id_DtaFrame.size)

Exemple

print(df.size)

3. Informations relatives à un DataFrame

Pour afficher des informations sur les colonnes d’un DataFrame, leurs comptes et leurs types on écrit :

print(id_DtaFrame.info())

Exemple

print(df.info())

4. Statistiques descriptives

Pour afficher un résumé rapide (des statistiques descriptives) d’un DataFrame on écrit :

print(id_DtaFrame.describe())

Exemple

print(df.describe())

5. Noms des colonnes

Pour afficher les noms des colonnes d’un DataFrame on utilise cette instruction :

print(id_DtaFrame.columns)

Exemple

print(df.columns)

V. Manipulation d'un DataFrame

1. Renommage des colonnes

Pour renommer les colonnes d’un DataFrame on utilise cette instruction :

Id_DataFrame.rename(columns={

"colonne1":"nouveau_nom_colonne1",

…,

"colonneN":"nouveau_nom_colonneN"

},inplace=True)

Exemple

Renommer la colonne Code_Empl par Code :.

df.rename(columns={" Code_Empl ":" Code  "},inplace=True)

print(df)    # pour vérifier le changement

2. Suppression de lignes

Pour supprimer une ou plusieurs lignes on utilise l'instruction suivante :

Id_DataFrame=id_DataFrame.drop([indice_ligne])

Exemple1

Supprimer la deuxième ligne du DataFrame.

df=df.drop([1])

print(df)    # pour vérifier le changement

3. Suppression de colonnes

Pour supprimer une ou plusieurs lignes on utilise la formule suivante :

Id_DataFrame=Id_DataFrame.drop([‘Nom_Colonne1’,…,’Nom_ColonneN’], axis=1)

Exemple1

Supprimer la colonne Nom du DataFrame.

df=df.drop(["Nom"], axis=1)

print(df)

4. Ajout de colonnes

Pour ajouter une colonne à un DataFrame on écrit :

Id_DataFrame["id_Colonne"]=[liste des valeurs]

Exemple

Ajouter une colonne Prime contenant les valeurs consécutives suivantes 0,120,0,150,200,120

df[‘Prime’]=[0,120,0,150,200,120]

print(df)    # pour afficher DataFrame après modification  

5. Modification du contenu d’une cellule

Pour modifier le contenu d’une cellule d’un DataFrame on écrit :

Id_DataFrame.loc[N° ligne,"Nom_colonne"]=valeur

Exemple

Modifier le contenu d’une cellule  de la colonne Grade de ligne d’indice 4 par D

df.loc[4,'Grade']='D'

print(df.Moyenne) # Afficher le contenu du colonne Moyenne après modification

6. Ajout d’une ligne

Pour ajouter une ligne  a un DataFrame il suffit d'écrire :

Id_DataFrame.loc[N° ligne]=[liste_ valeur]

Exemple

Ajouter une ligne à la fin du tableau contenant les valeurs consécutives suivantes 'E006' ,'ayari','mohamed','D',0,7

df.loc[5]=['E006' ,'ayari','mohamed','D',0,7]

7. Tri

A. Tri par label

On peut trier les données d’un DataFrame selon le label (index des lignes) de ses lignes :

DataFrame_Trié=id_DataFrame.sort_index()

Exemple

Trier le DataFrame df selon l’indexation des lignes (le label).

df_tri =df.sort_index()

print(df_tri)

B. Tri des noms des colonnes

Pour trier les noms des colonnes d’un DataFrame par ordre alphabétique on écrit :

DataFrame_Trie=id_DataFrame.sort_index(axis=1)

Exemple

Trier les colonnes du DataFrame.

df_Tri_Colonne=df.sort_index(axis=1)

print(df_Tri__Colonne)

C. Tri des données

On peut trier les lignes d'un DataFrame en ordre croissant/décroissant selon les valeurs d'une ou de plusieurs colonnes :

DataFrame_Trie=id_DataFrame.sort_values(

by=["Nom_col_1", "Nom_col_2"],

ascending=[True, False]# Ordre croissant de Nom_col_1, décroissant de Nom_col_2

)

Remarque

La fonction sort_values(…) accepte deux paramètres importants :

  • by : pour indiquer les noms des colonnes qui seront triées.
  • ascending : pour indiquer l'ordre dans lequel les colonnes mentionnées dans le paramètre précédent sont triées.
  • True : En ordre croissant (du plus petit au plus grand) ;
  • False : En ordre décroissant (du plus grand au le plus petit) ;

Exemple

Trier le DataFrame par ordre croissant de la colonne Prénom.

df_Tri=df.sort_values(by=[" Prénom "],ascending=True)

print(df_Tri)

VI. Affichage des données d’un DataFrame :

1. Contenu du DataFrame

Pour afficher tout le contenu d’un DataFrame on utilise :

print(id_DataFrame)

Exemple

print(df)

2. Contenu d’une colonne

Pour afficher le contenu d’une colonne d’un DataFrame on utilise :

print(id_DataFrame.id_colonne)      # 1ère méthode

print(id_DataFrame["id_colonne"])   # 2ème méthode

Pour afficher le contenu de plusieurs colonnes,on utilise:

print(id_DataFrame[["id_colonne1","id_colonne2",….,"id_colonnen"]])

Exemple :

Afficher le contenu de la colonne  Grade

print(df.Grade)      

print(df["Grade"])

3. Données d'une ligne d’un DataFrame

Pour afficher le contenu d’une ligne il suffit d'écrire :

print(id_DataFrame.iloc[indice_ligne])

Exemple

Afficher le contenu de cinquième ligne du DataFrame.

print(df.iloc[4]) # 1ère méthode

4. Affichage d’une cellule

Pour afficher le contenu d’une cellule on écrit :

print(id_DataFrame.iloc[indice_ligne,indice_colonne])

Exemple

Afficher le contenu de la cellule de la ligne N°4 et de la colonne N°3  

print(df.iloc[4,3])

5. Affichage des n premières lignes

Pour afficher les n premières lignes d’un DataFrame on utilise :

print(id_DataFrame.head(n))

Exemple

Afficher les 2 premières lignes

print(df.head(2))

print(df.iloc[0:2]) # Méthode alternative

6. Affichage des n dernières lignes

Pour afficher les n premières lignes d’un DataFrame on utilise :

print(id_DataFrame.tail(n))

Exemple

Afficher les 3 dernières lignes

print(df.tail(3))

Remarque : les fonctions head() et tail() sans paramètre affichent respectivement les 5 premières  et les 5 dernières lignes du DataFrame.

7. Affichage d'un intervalle de valeurs d’une colonne

Pour afficher le contenu d’une colonne entre position initiale et une position finale-1 on utilise la formule suivante :

print(id_DataFrame.id_colonne[position_intiale : position_fianle])

Exemple

Afficher le contenu de la colonne Grade entre les indices 0 et 2

print(df.Grade[0:3]) ou bien print(df["Grade"][0:3])

VII. Filtrage des données d'un DataFrame

1. Filtrage selon une seule condition

Pour afficher des données selon une condition on écrit comme suit :

print(id_DataFrame[id_DataFrame["Nom_colonne"] Op_Comparaison Valeur])

Les opérateurs de comparaisons (Op_Comparaison) disponibles sont :

Les opérateurs de comparaison

==

<

<=

>

>=

!=

isin()

Exemple

On demande de :

  • Afficher les lignes dont la Grade = A.

print(df[df.Grade == ‘A’])  

2. Filtrage selon plusieurs conditions

Pour afficher des données selon plusieurs conditions on utilise la formule suivante :

print(id_DataFrame[(id_DataFrame["Nom_col_1"] Op_ComparaisonValeur1) Op_logique

(id_DataFrame["Nom_col_2"] Op_Comparaison Valeur2)] )

Les opérateurs de logiques (Op_Logique) disponibles sont :

Opérateur

Nomiation

Rôle

&

ET logique

Vérifie que toutes les conditions sont Vraies.

|

OU logique

Vérifie qu’au moins une des conditions est Vraie.

Exemple

On souhaite :

Afficher la liste des employés de grade A et NH retard >2

print(df[(df['Grade']=='A') & (df['NH Retard']>2)])

VIII. Les fonctions statistiques

Les fonctions statistiques suivantes peuvent être exploitées avec un DataFrame :

  • mean() : valeur moyenne
  • min() : valeur minimale
  • max() : valeur maximale
  • sum() : la somme des valeurs
  • count() : nombre d’éléments non vides

Pour les utiliser ces fonctions on peut écrire :

print(df.Nom_colonne.Nom_fonction())      # 1ère méthode

print(df["Nom_colonne"].Nom_fonction())   # 2ème méthode

Exemple

On demande de calculer :

Afficher la somme des NJ Absence

print (df['NJ Absence'].sum()) 

 Afficher le NJ Absence minimal

print (df['NJ Absence'].min()) 

 Afficher le NJ Absence maximal

print (df['NJ Absence'].max()) 

Afficher le nombre des employés

print (df[‘Code’].count())

  

Afficher a moyenne des NJ Absence

print (df['NJ Absence'].mean())

IX. Graphiques

Pour créer un graphique on doit :

  • Charger la bibliothèque matplotlib

import matplotlib.pyplot as plt

  • Générer le graphique à l'aide d'une des fonctions suivantes :

# Graphique en barres

df.plot.bar(

x="colonne_Abscisse",y="Nom_colonne_Ordonnée",

title="Titre_Graphique", color="couleur_Graphique"

)

# Graphique en courbe

df.plot.line(

x="colonne_Abscisse",y="Nom_colonne_Ordonnée",

title="Titre_Graphique", color="couleur_Graphique"

)

  • Afficher le graphique

plt.show()

1. Graphique à barres

Pour représenter graphiquement en barre la colonne "Nom_colonne_ordonnée" en fonction de "Nom_colonne_Abscisse" :

df.plot.bar(

x="Nom_colonne_Abscisse",y="Nom_colonne_Ordonnée",

title="Titre_Graphique", color="couleur_Graphique")

plt.show()        


Exemple

Tracer un graphique de type barre de couleur rose et titre absence représentant les    NJ Absence par Code

import matplotlib.pyplot as plt

df.plot.bar(x='Code',y='NJ Absence', color='pink',title= ‘absence des employes’)

plt.show()

2.Graphique en courbe

Pour représenter graphiquement en courbe la colonne "Nom_colonne_ordonnée" en fonction de "Nom_colonne_Abscisse" :

df.plot.line(

x="Nom_colonne_Abscisse",y="Nom_colonne_Ordonnée",

title="Titre_Graphique",color="couleur_Graphique")

plt.show()        

Exemple

Tracer un graphique de type courbe de couleur rouge et titre absence représentant les  NJ Absence par Code_Empl

importmatplotlib.pyplot as plt

df.plot.line(x='Code',y='NJ Absence', color='red', title='absence des employes')

plt.show()


Théorique 1

EXERCICE N°2:

Le responsable informatique de l’hôtel veut gérer les réservations effectué pendant la saison de l’été, pour cela, il a exporté la table Réservation dans un fichierˮRéservation.csvˮsitué sousD:/.(en utilisant un point-virgule en séparateur de champs et point en séparateur décimal).

 Pour pouvoir analyser les données et prendre des décisions, il a utilisé la bibliothèque« Pandas » du langage de programmation « Python ».

  1. Ecrire le script nécessaire qui permet d’importer le fichier « Réservation.csv » dans un DataFrame nommé « res » puis l’afficher.

……………………………………………………………………………………………………………………………

  1. Relier chaque méthode par le résultat qui lui correspond :

Méthode

Résultat

  1. Soit le script ci-dessous :

Donner le rôle de ce script :………………………………………………………………..

  1. Compléter le script ci-dessous pour chercher la somme des montants des réservations :

print(res[………………………..] . ………….( ))

  1. Pour afficher la premiére linge du DataFrame, souligner la bonne réponse:

print(res.iloc [0])    ou   print(res.iloc [1])

  1. On désire modifier le nom du colonne ʺ Ref_cltʺ par ʺCode_cltʺ .

En tapant la commande suivante :

 

Le DataFrame ʺresʺs’affiche comme suit :

Apporter les modifications nécessaires à la commande proposée pour effectuer le changement du nom de colonne. ……………………………………………………………………………

Le script suivant:   resultat=res.sort_values(by=['Montant'], ascending=True)

                                print(resultat)

Permet de trier le DataFrame resultat par ordre croissant selon la colonne Montant

Permet de trier le DataFrame res par ordre croissant selon la colonne Montant

 Permet de trier le DataFrame resultat par ordre décroissant selon la colonne Montant

  1. Compléter le script  pour créer le graphique suivant :

import matplotlib.pyplot as plt

res.plot.…………(x='……………………',y='…………………',

color='red', title='Montant des réservations')

plt.show()


Theorique 2

Afin d’avoir une idée claire sur les locations des robes réaliséespendant l’année 2021,leresponsable du service informatique de l’espace Bellaaexportéle résultat de la requête "R5" dans le fichier "R5.csv" situé à la racine C.Pour analyser les données exportées, on utilise la bibliothèque Pandas du langage de programmation Python.  

  1. Parmi les propositions ci-dessous, encerclerle numéro du script à écrire afin d’importerle contenu du fichier "R5.csv" dans un DataFrame nommé "resultat".

Numéro du script

Script

1

resultat = pandas.read_csv ("c:\R5.xlsx", sep = ";")

2

Resultat=pandas.dataframe({"NomPrenom","Description","Couleur", "Prix",

"DateLocation", "DateRetour"})

3

resultat = pandas.read_csv ("c:\R5.csv", sep = ";")

4

resultat = pandas.read_excel ("c:\R5.xlsx", "client")

  1. Afin d’afficher des informations sur le DataFrame "resultat", compléter le tableau ci-dessous en associant à chaque numéro de méthode la lettre correspondante au type d’affichage.

Méthode

Numéro

Lettre

Type d’affichage

1. shape

1

.............

  1. Affichage du nombre d’éléments d’un DataFrame

2. size

2

.............

  1. Affichage des informations concernant un DataFrame

3. describe ( )

3

.............

  1. Affichage des dimensions d’un DataFrame

4. info ()

4

.............

  1. Affichage du résumé rapide d’un DataFrame

  1. Compléter la commande ci-dessous permettant d’afficher le nombre de locations réalisées pendant l’année 2021.

print ("Le nombre de locations en 2021 est :", resultat ["……….…………………….."] . …………………………….)

  1. Donner le rôle du script suivant :

Resultat_nouveau=resultat.sort_values(by = ["Prix"], ascending=False)

……………………………………………………………………………………………………………………………………………………………

……………………………………………………………………………………………………………………………………………………………

………………………………………………………………………………………………………………………………………………………………

  1. Lors de l’exécution d’un script de génération d’un graphique, l’erreur suivante s’affiche :

  1. Compléter le script ci-dessous par l’une des commandes suivantes pour éviter l’affichage de cette erreur.

Liste des commandes :

import pandas

import pandas as plt

import matplotlib.pyplot as plt

import matplotlib.pyplot as pd

Script à corriger :

  1. Soit les trois graphiques ci-dessous (1, 2 et 3), donner le numéro correspondant au graphique affiché suite à l’exécution du script précédent : ………........................

- 1 -

- 2 -

- 3 -


TP2

  1. Ouvrir la base de donnée ‘’gestion_logiciel’’ du dossier ‘’D:/bac2022’’
  2. Exporter dans ’D:/bac2022’’ et sous le nom de "logiciel", le contenu de la table "logiciel" au format csv (point virgule en séparateur de champs, point en séparateur décimal, conserver le numéro des lignes). . (2 pt)
  3. Lancer l’éditeur python Thonny (1 pt)

  1. En se référant à l’annexe de la page 2, choisir les méthodes adéquates, de la bibliothèque Pandas, pour écrire le script "votrenomprenom.py" et l’enregistrer sous le dossier bac2022 du D : qui permet de/d’ : (2 pt)
  1. Charger la bibliothèque pandas (1 pt)

…………………………………………………………………………………………

  1. Importer le contenu de la table intitulée "logiciel.csv" et le stocker dans un DataFrame qu’on nommera "logiciel",(2 pt)

…………………………………………………………………………………………

  1. Afficher le prix du 4 ème logiciel. (1pt)

…………………………………………………………………………………………

  1. Supprimer la ligne du logiciel « Marketing ». (1.5pt)

…………………………………………………………………………………………

  1. Afficher le contenu de la colonne « libelle » entre la position d’indice 2 et la position d’indice 6. (1pt)

…………………………………………………………………………………………

  1. Renommer le champ « ident » par « id». (1.5pt)

…………………………………………………………………………………………

  1. Afficher la liste des logiciels qui sont de categorie Programmation. (1pt)

…………………………………………………………………………………………

  1. Afficher la somme de la colonne « prix » . (1pt)

…………………………………………………………………………………………

  1. Afficher la moyenne de la colonne « prix »  . (1pt)

…………………………………………………………………………………………

  1. Modifier le libelle de la ligne d’indice 4 : taper : basic . (1pt)

…………………………………………………………………………………………

  1. Trier le tableau suivant  la colonne « prix » selon l’ordre décroissant? (1pt)

…………………………………………………………………………………………

  1. Afficher la valeur de la première ligne  et la deuxième colonne  de dataframe logiciel(1pt)

…………………………………………………………………………………………

  1. Créer un graphique en histogramme de couleur rouge afin de représenter les prix selon les libelle et ayant pour titre les prix(1pt)

…………………………………………………………………………………………

…………………………………………………………………………………………

…………………………………………………………………………………………


TP3

À l’aide de l’environnement de développement pour le langage Python disponible :

  1. Créer un script et l’enregistrer sous le nom "Sportif.py" dans votre dossier de travail (D:/bac2022).
  2. En se référant à l’annexe, choisir les méthodes adéquates, de la bibliothèque Pandas, pour écrire le script " Sportif.py " qui permet :
  1. D’importer le contenu du fichier "Sportif.xlsx " et le stocker dans un DataFrame à nommer "Spr",
  2. D’afficher les dimensions relatives au DataFrame "Spr " ainsi que les 2 premières lignes,
  3. De calculer et afficher le nombre des Sportifs,
  4. De remplacer la colonne Genre, dans le DataFrame "Spr", par la colonne Sexe.
  5. Ajouter à la DataFrame"Spr",la colonne Score qui contient les données suivante :

12.5 , 14.75 , 11.25 , 18.00, 10.33 , 12.69

  1. D’afficher les informations relatives aux Sportifs dont le score>= à 12.5
  2. D’afficher les informations relatives aux Sportifs dont le prénom égale à Asma ou les sportifs Homme
  3. Modifier le contenu de la cellule dont la 3ème ligne ligne et nom de colonne = Prénom en Ahmed.
  4. Modifier les données de la ligne 0 par la liste de nouvelles valeurs :

[S1 , ‘Maghrebi’ , ‘Aya’ , ‘F’ , ‘30/06/2003’,15.24]                

  1. De trier le DataFrame "Spr " dans un nouveau DataFrame nommé " Spr2" selon le score dans l’ordre croissant. Afficher le nouveau DataFrame,
  2. De générer puis afficher, à partir du DataFrame "spr", un graphique en lignes du couleur Rouge représentant, pour chaque prénom, le score correspondant. Ce graphique a pour titre « Eco3 »


TP4

Important :

Dans le répertoire "D:/BAC2022", créez un dossier de travail portant votre nom & prénom dans le quel vous devez enregistrer tous les fichiers solution de ce sujet.

Afin d’encourager ses joueurs, un club sportif de natation enregistre les informations relatives aux rémunérations symboliques dans la base de données intitulée "Gestion_Equipe" décrite par le schéma simplifié suivant :  

  • Joueur (NumLicence, NomPrénom, CodeEquipe#)
  • Equipe (CodeEquipe, NomEquipe)

Questions :

I/ A l'aide du logiciel de gestion de base de données disponible :

  1. Créer, dans votre dossier de travail, la base de données "Gestion_ Equipe". (1 pt)
  2. Créer les tables et les relations de cette base de données. (3 pt)
  3. Remplir les tables par les données suivantes : (2 pt)

  1.  Créer les requêtes suivantes :

R1 : Afficher la liste des joueurs (NumLicence, NomPrénom) de l’équipe ESH triée dans l’ordre décroissant des Nom et Prénoms. (1 pt)

R2 : Afficher le nom et prénom du joueur pour un Numéro de licence donné. (1 pt)

R3 : Afficher le nombre des joueurs qui appartiennent à l’équipe ESH. (1 pt)

  1. Exporter, dans votre dossier de travail et sous le nom de "joueur.csv", le contenu de la table "Joueur" au format csv. (2 pt)

II/ À l’aide de l’environnement de développement pour Python disponible :

  1. Créer un script et l’enregistrer sous le nom " joueur.py" dans votre dossier de travail. (1 pt)
  2. En se référant à l’annexe de la page 2, choisir les méthodes adéquates, de la bibliothèque Pandas, pour écrire le script " joueur.py" qui permet de/d’ : (1 pt)
  1. importer le contenu de la table intitulée " joueur.csv " et le stocker dans un DataFrame qu’on nommera "joueur", (1.5 pt)
  2. Afficher les informations relatives au DataFrame "joueur" ainsi que les 6 dernières lignes. (1 pt)
  3. Ajouter une colonne nommée Age au DataFrame "joueur" contenant les valeurs successives suivantes : 21, 26, 19.  (1 pt)
  4. Afficher les informations relatives aux joueurs dont l’âge est supérieure ou égale à 20 (1 pt)
  5. Calculer et d’afficher la moyenne des âges des joueurs.  (1 pt)
  6. Trier le DataFrame "joueur" dans un nouveau DataFrame nommé "joueur_Tri" selon l’âge dans l’ordre croissant. Afficher le nouveau DataFrame. (1 pt)
  7. Générer puis d’afficher, à partir du DataFrame "joueur", un graphique à barres rouges représentant, pour chaque Nom et Prénom du joueur, son âge  (1.5 pt

TP5

Important : Dans le répertoire Bac2023 situé sur la racine du disque D : de votre poste, créez un dossier de travail portant votre nometprenom et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.

Pour gérer ses activités, un club artistique exploite la base de données : « Gestion_Club » décrite par le schéma textuel simplifié suivant :

Activité (CodeAct, libAct, PrixAct)

Coach (CodeCo, Nom, Prénom, tel)

Séance (CodeAct#,CodeCo#, DateSe, HeureDeb, HeureFin)

Soit la description des données des tables de la base de données : « Gestion_Club » :

À l’aide du logiciel de gestion de base de données disponible :

1- Créer, dans votre dossier de travail du D:\Bac2023 la base de données « Gestion_Club »

2- Créer les tables et les relations de cette base de données.

3- Remplir les tables coach et activité par les données représentées dans les tableaux suivants :

4- Créer les requêtes suivantes :

R1 : Afficher les activités dont le nom se termine par la lettre « e ».

R2 : Afficher le numéro de TEL d’un coach de CodeCo donnée.

R3 : Afficher la liste des séances (DateSe, HeureDeb, HeureFin), relatives à l’activité « Dance », réalisées durant le mois novembre 2021.

R4 : Afficher la somme des PrixAct relatives à l’activité « Musique », réalisées durant le mois décembre 2021.

R5: Décaler (retarder) les séances de danse par une heure.

R6: Augmenter les prixActs de sport par 1 Dinars.

R7 : Supprimer les séances du coach C03

6- Exporter les données de la table " Activite", dans votre dossier de travail du ’D:/bac2022’’  et sous le nom de " Activite.csv".(format csv ,point-virgule en séparateur de champs, point en séparateur décimal, page de codes : Unicode (UTF-8) et inclure les noms des champs sur la première ligne)

A l’aide de l’environnement de développement pour le langage Python disponible :

  1. Créer, un script et l’enregistrer sous le nom « Activite.py » dans votre dossier de travail.

2- En se basant sur l’annex, choisir les méthodes adéquats de la bibliothèque Pandas, pour écrire le script « Activite.py » qui permet de :

a) d’importer le contenu du fichier « Activite.csv » et le stocker dans un DataFramme à nommer « Activite »

b) d’afficher la description relative au DataFramme « Activite » ainsi que les 2 dernières lignes.

c) d’ajouter les lignes suivantes au Dataframe:

d) de modifier le prixAct de 3ième ligne dans le DataFramme «Activite», par 12.500 au lieu de 10.000

e) d’afficher les informations relatives aux activités dont les prixActs est supérieurs à 12.000 f) de trier le DataFrame «Activite» dans un nouveau Dataframe «Activite_Tri» selon les prixActs en ordre décroissant. Afficher le nouveau Dataframe.

g) d’afficher la deuxième et la quatrième ligne du Dataframe.

 h) de supprimer la 2ième ligne du Dataframe. Afficher le Dataframe «Activite».

 i) de modifier le nom de la colonne prixActs par prix. Afficher le Dataframe «Activite».

 j) de calculer et afficher la moyenne des prix des activités

k) de calculer et afficher le nombre des activités

l) de générer puis afficher, à partir du Dataframe «Activite», un graphe linéaire rouge représentant pour chaque LibAct, le prix d’activité m) de générer puis afficher, à partir du Dataframe «Activite», un graphe à barres bleu représentant pour chaque LibAct, le prix d’activité

ANNEXE

Les méthodes à utiliser avec la bibliothèque Pandas

Catégorie

Syntaxe

Importation d’un DataFrame

Id_DataFrame = pandas.read_excel ("Chemin/Nom_Fichier.xlsx", "Nom_Feuille")

Id_DataFrame = pandas.read_csv("Chemin/Nom_Fichier.extension", sep = "séparateur")

Manipulation d’un DataFrame

print(Id_DataFrame.shape)

print(Id_DataFrame.size)

print(Id_DataFrame.info())

print(Id_DataFrame.describe())

print(Id_DataFrame.columns)

Id_DataFrame=Id_DataFrame.rename(columns = {"colonne1":"nouveau_nom_colonne1", …,"colonneN":"nouveau_nom_colonneN"}) puis print(Id_DataFrame)

Id_DataFrame=Id_DataFrame.drop([Indice_Ligne])   puis print(Id_DataFrame)

Id_DataFrame=Id_DataFrame.drop(["Nom_Colonne1",…,"Nom_ColonneN"])  puis print(Id_DataFrame)

Affichage et modification des données d’un DataFrame

print(Id_DataFrame)

print(Id_DataFrame. Nom_colonne) ou bien print(Id_DataFrame["Nom_colonne"])

print(Id_DataFrame.head(n))

print(Id_DataFrame.tail(n))

print(Id_DataFrame.Nom_colonne[Position_Initiale:Position_Finale])

print(Id_DataFrame.iloc[Indice_Ligne])

print(Id_DataFrame.iloc[Indice_Ligne,Indice_Colonne])

Id_DataFrame.loc[N° ligne,"Nom_colonne"]=Valeur              puis print(Id_DataFrame)

Id_DataFrame.loc[N° ligne]=[Liste_Valeur]                          puis print(Id_DataFrame)

Id_DataFrame["Nom_colonne "]=valeur                        puis print(Id_DataFrame)

print(Id_DataFrame[Id_DataFrame["Nom_Colonne"] Op_Comparaison valeur])

print(Id_DataFrame[(Id_DataFrame["Nom_Colonne"] Op_Comp Valeur) Op_Logique (Id_DataFrame["Nom_Colonne"] Op_Comp Valeur)])

Les fonctions statistiques

print(Id_DataFrame["Nom_Colonne"].nomfonction())  avec nomfonction peut être mean - min- max - sum - count

Tri des éléments d’un DataFrame

DataFrame_Tri = Id_DataFrame.sort_index()                                                                                               puis print(Id_DataFrame_Trie)

DataFrame_Tri = Id_DataFrame.sort_index(axis = 1)                                                                                    puis print(Id_DataFrame_Trie)

DataFrame_Tri = Id_DataFrame.sort_values(by = ["Nom_Colonne"] ,ascending = True/False)                           puis print(Id_DataFrame_Trie)

Création d’un graphique

import matplotlib.pyplot as alias_matplotlib

Id_DataFrame.plot.bar(x="Nom_Colonne_Abscisse", y="Nom_Colonne_Ordonne", title="Titre_Graphique", color="couleur_Graphique")

Id_DataFrame.plot.line(x="Nom_Colonne_Abscisse", y="Nom_Colonne_Ordonne", title="Titre_Graphique",color="couleur_Graphique")

alias_matplotlib.show()

Page --