4eme Eco
4eme Eco
4eme Eco
Partie 1
Base de données
1
Lycée El Alia 4ème eco
Base de données
Introduction générale
Une base de données est un ensemble de fichiers structuré et organisé permettant le stockage de grandes quantités d'informations afin d'en faciliter
l'exploitation (ajout, mise à jour, recherche de données).
C’est un outil qui permet de de gérer des nouvelles bases de données, c'est-à-dire :
1
•Permettre l’accès aux données de façon simple.
2
•Autoriser un accès aux informations à plusieurs utilisateurs,
•Manipuler les données présentes dans la base de données (insertion,
3 suppression, modification).
4
•Assurer la sécurité des données
2
Lycée El Alia 4ème eco
Le SGBD qui gère une BDD relationnelle est appelé "SGBD relationnel", ce qui est
souvent abrégé en SGBDR.
Les tables :
3
Lycée El Alia 4ème eco
Table
Entité = tableau de valeurs = table
Clée primaire
4
Lycée El Alia 4ème eco
Est un champ qui permet d’identifier de façon unique chaque enregistrement de la table
dont elle en fait partie et améliore les performances du serveur de bases de données.
Clé étrangère
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.
Relation
Les relations
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.
Exemple :
Relation plusieurs à plusieurs (M-N) RG1 : Un élève est
enseigné par plusieurs
Signifie qu’un enregistrement de la première table peut être
enseignants et
associé à plusieurs enregistrements dans la deuxième table RG2 : Un enseignant
et inversement. enseigne plusieurs élèves.
Requetes
Requête de sélection
7
Lycée El Alia 4ème eco
Requête d’ajout
8
Lycée El Alia 4ème eco
Requête de suppression
Important :
1. Utiliser des critères pour renvoyer uniquement les enregistrements que vous souhaitez supprimer.
9
Lycée El Alia 4ème eco
vous devrez peut-être modifier la relation avant d’exécuter la requête Suppression.
2. Créer les tables Client, Fournisseur, Produit et Produit_livré, en tenant Nom de Type de compte des indications ci-dessous, et les
Propriétés
enregistrer respectivement sous les noms Client, Fournisseur, Produit et champs champs Produit_livré.
10
Lycée El Alia 4ème eco
Table Fournisseur
Table Produit
11
Lycée El Alia 4ème eco
F15 HDD 160 Go 155 10
12
Lycée El Alia 4ème eco
Opérateurs
Différent * Dans
* < Inférieur * > * Est
Supérieur * comme
* <= Inférieur ou égal
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
14
Lycée El Alia 4ème eco
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
…………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Champ :
15
Lycée El Alia 4ème eco
Table :
Mise à jour
Critères
Ou :
Application
Soit la base de données « COMMERCIALE » suivante :
Nom table
champ Type de données
Nom table
champ Type de données
Nom table
champ Type de données
16
Lycée El Alia 4ème eco
Table produit
Code-produit Des-produit PU Qtstk
GR graveur 100 20
DD Disque dur 120 30
IMPLZ imprimante laser 125 15
Table Détail-commande
N°commande Code-produit Qté-commandé
Cm1 DD 2
Cm2 IMPLZ 3
Cm1 GR 5
Cm2 DD 4
17
Lycée El Alia 4ème eco
Cm3 IMPLZ 2
10. Créer les requêtes permettant :
A. d’afficher la liste des clients de « Sfax ».
B. d’afficher la liste des clients possédant un nom contenant la lettre « s ».
C. d’afficher la liste des clients dont leurs prénoms commencent par la lettre « a ».
D. d’afficher la liste de produits (code-produit, Des-produit) ayant un prix unitaire >= 120.
E. d’afficher la liste de clients (code-client, nom, prénom) qui ont passé une commande après le 14/03/2010.
F. d’afficher le code, la désignation, le prix unitaire et la quantité commandée des produits ayant une quantité commandée >3.
G. En donnant le nom d’un client, afficher son numéro de téléphone
H. En donnant la désignation d’un produit, afficher sa quantité commandé
I. d’afficher la liste des commandes pour une date commande saisie du clavier.
J. d’augmenter le prix unitaire de produit de 8% de prix initiale.
K. de modifier le code postal des clients de la ville de « Sfax » à 2136.
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
18
Lycée El Alia 4ème eco
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
19
Lycée El Alia 4ème eco
Tri :
Afficher :
Critère :
Ou :
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Champ :
Table :
Tri :
Afficher :
Critère :
Ou :
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Champ :
Table :
Mise à jour
Critères
Ou :
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Champ :
Table :
Mise à jour
Critères
Ou :
20
Lycée El Alia 4ème eco
21
Lycée El Alia 4ème eco
4. Dans la boîte de dialogue, tapez le chemin du fichier CSV à créer (ou utilisez le bouton Parcourir, c’est sans doute plus
pratique).
5. Cliquez sur OK lorsque le chemin est correct. Vous obtenez un aperçu des données, et le choix du type d’exportation
(conservez Délimité pour un fichier CSV).
22
Lycée El Alia 4ème eco
23
Lycée El Alia 4ème eco
6. Vous pouvez maintenant préciser le délimiteur, c’est-à-dire le caractère utilisé pour séparer les données dans le fichier CSV.
7. Cliquez encore sur le bouton Suivant. Vous pouvez encore modifier le nom du fichier de destination, si nécessaire, avant de
cliquer sur le bouton Terminer.
8. Il est possible ensuite de mémoriser toute votre séquence pour la « rejouer » ultérieurement. Dans ce cas, vous devrez
nommer cette séquence, et lui donner une description.
24
Lycée El Alia 4ème eco
25
Lycée El Alia 4ème eco
Partie 2
Analyse de données
26
Lycée El Alia 4ème eco
Pandas est une librairie Python spécialisée dans l’analyse des données. Dans ce support, nous nous intéresserons surtout aux fonctionnalités de
manipulations de données qu’elle propose. Un objet de type "data frame"
permetderéaliserdenombreusesopérationsdefiltrage,prétraitements,etc.,préalablesàlamodélisationstatistique.
1. Librairie Pandas
2. Structure DataFrame
Concernant notre fichier Excel « heart.xlsx »: il s’agit d’un Tableau en Excel, la premièreligne correspond aux noms des colonnes (des variables) ; à partir de la
seconde ligne, nous disposons des valeurs pour chaquecolonne(variable).
27
Lycée El Alia 4ème eco
Un Tableau DataFramecorrespond à un Tableau en Pythonoù les lignes correspondent à des observations (valeurs, calculs,..) les noms de colonnes correspondent à
des noms décrivant les observations.
<class 'pandas.core.frame.DataFrame'>
4. La structure DataFrame
28
Lycée El Alia 4ème eco
(270, 8)
29
Lycée El Alia 4ème eco
age int64
sexe object
typedouleur object sucre object
tauxmax int64
angine object
depression int64
coeur object dtype:object
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 270 entries, 0 to 269 Data columns (total 8columns):
age 270 non-nullint64
sexe270 non-null object
typedouleur270 non-nullobject
sucre270 non-nullobject
tauxmax270 non-null int64
angine 270 non-null object
depression 270 non-null int64
coeur270 non-null object
dtypes: int64(3),object(5)
memory usage: 17.0+ KB None
30
Lycée El Alia 4ème eco
min 29.000000 NaN NaN NaN 71.000000 NaN 0.0
25% 48.000000 NaN NaN NaN 133.000000 NaN 0.0
50% 55.000000 NaN NaN NaN 153.500000 NaN 8.0
75% 61.000000 NaN NaN NaN 166.000000 NaN 16.0
max 77.000000 NaN NaN NaN 202.000000 NaN 62.0
coeur
count 270
unique 2
top absence
freq 150
mean NaN
... ...
min NaN
25% NaN
50% NaN
75% NaN
max NaN
Certains indicateurs statistiques ne sont valables que pour les variables numériques (ex. moyenne, min, etc. pour age, tauxmax,...), et inversement pour les non-numériques
(ex. top, freq, etc. pour sexe, typedouleur, ...), d'où les NaN dans certaines situations.
1 masculin
2 feminin
3 masculin
4 masculin
5 feminin
...
265 masculin
266 masculin
267 feminin
268 masculin
31
Lycée El Alia 4ème eco
269 masculin
Name: sexe, dtype: object
1 masculin
2 feminin
3 masculin
4 masculin
5 feminin
...
265 masculin
266 masculin
267 feminin
268 masculin
269 masculin
Name: sexe, dtype: object
sexe sucre
0 masculin A
1 feminin A
2 masculin A
3 masculin A
4 feminin A
.. ... ...
269 masculin A
32
Lycée El Alia 4ème eco
#Une colonne est un Tableau, pour afficher les premières valeurs de la colonne age
13 print(df['age'].head( ))
0 70
1 67
2 57
3 64
4 74
Name: age, dtype: int64
265 52
266 44
267 56
268 57
269 67
Name: age, dtype: int64
33
Lycée El Alia 4ème eco
636
54.433333
29.000000
77.000000
34
Lycée El Alia 4ème eco
D 129
C 79
B 42
A 20
Name: typedouleur, dtype: int64
#df['age']est un tableau d’ages, il est possible d’afficher la première valeur de la manière suivante
21 print(df['age'][0])
70
0 70
1 67
2 57
35
Lycée El Alia 4ème eco
trier consiste à ordonner les données unsous-ensembledelignesquivérifieunecondition
#ou bien aussi,trier tous les données du dataFrame de manière croissante selon l’age
print(df.sort_values(by='age'))
214 29
174 34
138 34
224 35
81 35
..
15 71
255 71
4 74
73 76
36
Lycée El Alia 4ème eco
199 77
Name: age, dtype: int64
0 214
1 174
2 138
3 224
4 81
...
Name:age, dtype: int64
214 est le numéro de l'individu portant la plus petite valeur de la variable age,
age 70
sexe masculin
typedouleur D sucre A
tauxmax 109
angine non
depression 24
coeur presence
Name=0, dtype: object
38
Lycée El Alia 4ème eco
70
67
age sexe
1 70 masculin
2 67 feminin
3 57 masculin
39
Lycée El Alia 4ème eco
4 64 masculin
5 74 feminin
9. Graphiques
Passer par matplotlib permet de réaliser des graphiques performants (http://matplotlib.org/). Mais il faut connaître les procédures de la librairie, ce qui nécessite un
apprentissage supplémentaire qui n'est pas toujours évident.
Heureusement, Pandas propose des commandes simples qui encapsulent l'appel à ces procédures et nous simplifie grandement la vie. Il faut importer matplotlib pour que
l'ensemble fonctionne correctement.
#histogramme del'âge
39 df.hist(column='age')
40
Lycée El Alia 4ème eco
#Courbe de densité
40 df['age'].plot.kde()
41
Lycée El Alia 4ème eco
#histogrammes de l'âge selon le sexe
41 df.hist(column='age',by='sexe')
42