Vous êtes sur la page 1sur 8

Culture C’est quoi .. ? Comment ça marche … ?

Informatique
L'informatique simplement ! Dictionnaire informatique Forum

C'est quoi ... ? C’est quoi une base de données ? – Partie 3

« Comment ça marche une base de données ? C’est quoi le RAID ? »

C’est quoi une base de données


? – Partie 3
14 Mar 2017 | C'est quoi ... ? Mots‐Clés : sgbd · sgbdr

Frontal SQL Server ­ Connecteur natif
Accédez à vos bases SQL Server depuis des applications L5G WinDev Afficher la
page pcsoft.fr

Partager cet
article :
C’est quoi une base de données ? – 0

Partie 3
Suite de : C’est quoi une base de données ? – Partie 2 Lettre
d’information
Entrez votre email pour être
J’ai beaucoup hésité avant de poursuivre ces articles informé de la parution des
sur les bases de données. Car depuis le début, j’ai nouveaux articles.
abordé les bases de données en m’attardant sur Entrez votre email ici ...
l’organisation et le stockage des données.

Maintenant, il s’offrait à moi 2 possibilités distinctes


et plutôt opposées : S'abonner

soit continuer à introduire le concept des bases


de données, tel que je l’ai commencé, c’est à dire
en regardant les données et leur stockage, et en
y ajoutant tout doucement tout les
fonctionnalités et le vocabulaire que l’on peut y
trouver,

soit arrêter de parler théorie des bases et


montrer des schémas sur le fonctionnement des
bases de données mais sans parler des données
proprement dit.

Je n’ai pas réussi à me décider, et du coup : je vous ai


fait les 2.

Vous trouverez ci‐dessous la suite de ce qui est


commencé,
Les cookies assurent le bon fonctionnement de nos services. En poursuivant votre 5,000 FCFA 15,500 FCFA 145,000 FCF
etsite,
navigation sur ce ici : vous
les schémas surl'utilisation.
en acceptez Comment ça Accepter
marche une base
de données ?
En savoir plus sur les cookies
Je pense qu’au final, les 2 approches sont très
complémentaires.
75,000 FCFA 4,850 FCFA 69,900 FCFA

Les relations entre les tables.


Dans la partie 2, nous avons vu des données stockées dans une seule 60,000 FCFA 81,000 FCFA 40,000 FCFA
table. Mais dans la « vraie vie », cela est très rare car on doit stocker bien
plus d’informations. Ces informations sont en relations entre elles ﴾ou pas﴿
alors comment faire pour stocker tout cela sans que ce soit trop le bazar ?

Pour bien comprendre, prenons un exemple simple de logiciel de 54,000 FCFA 105,000 FCFA 7,900 FCFA
facturation qui doit gérer :

les clients,
les articles des factures,
et les factures
145,000 FCFA 133,500 FCFA 25,000 FCFA
Pour que tout cela reste clair, j’ai volontairement simplifié.

Comment faire pour stocker tout cela dans une table ou plusieurs tables ? Articles …
On comprend facilement qu’il faut au moins avoir une table client et une Tous les articles
table article, voici ce qu’on pourrait avoir :
Tous les articles par thèmes

Table client :

Code
code_client Nom Prénom Adresse Ville
postal

Rue des
1 Durand Michel 75016 Paris
Mouettes

Avenue
2 Dupond Karine des 92000 Courbevoie
Champs

3 Mensoif Gérard
Impasse de
75001 Paris
Articles récents
la Bière
› C’est quoi le RAID ? – partie 2
etc …
› C’est quoi le RAID ?
› C’est quoi une base de données
Table article : ? – Partie 3

code_article désignation prix_unitaire › Comment ça marche une base


de données ?
1 Orange 1,50 €
› C’est quoi un serveur DNS ?
2 Fraise 4,00 €

3 Pomme 0,80 € › C’est quoi le big data ?

etc … › Comprendre les résultats de mon


test d’éligibilité.
et maintenant, il faut stocker les factures qui sont composées d’un client › Comment ça marche l’ADSL ? –
et d’un ou plusieurs articles. Partie 2

Le mauvais exemple
Si je suis un mauvais élève ou un mauvais informaticien, je vais faire
simple et créer une table facture qui ressemblerait à ça si

Karine achetait 1 Kg d’oranges et 2 Kg de pommes


Gérard achetait 5 Kg de fraises et 1 Kg de pommes
et enfin Karine rachetait 2Kg d’oranges
61,800 FCFA 129,900 FCFA 8,500 FCFA

65,000 FCFA 7,500 FCFA 75,900 FCFA

Commentaires
récents
C’est vraiment très mauvais, et ce pour plusieurs raisons :
› Administrateur du site dans C’est
A chaque facture, j’enregistre le nom et l’adresse complète du client : quoi le débit, la latence et la
gigue ? – Partie 2
beaucoup de données enregistrées pour rien : j’alourdis le
stockage. › Administrateur du site dans C’est
si mon client change d’adresse, je dois tout modifier. quoi un certificat SSL ?
A chaque facture, j’enregistre l’article complet, là encore ça ne sert à
› Administrateur du site dans C’est
rien.
quoi un serveur DHCP ?
si je modifie la désignation d’un article, là encore je dois tout
modifier. › Pierre dans C’est quoi le débit, la
Lorsque Gérard paiera sa facture, je serai obligé de rechercher tous les latence et la gigue ? – Partie 2
enregistrements de la table pour marquer que la facture est payée ﴾ici,
› Administrateur du site dans
2 enregistrements﴿
Comment ça marche Filezilla ?

› Shirley‐Carol Landry dans C’est


quoi un certificat SSL ?
Ce qu’il faudrait faire : › PASCAL dans C’est quoi un
serveur DHCP ?
Il faut optimiser tout cela, en essayant de réfléchir, on peut se dire que :
› Eric dans C’est quoi un serveur
une facture est réalisée pour un et un seul client. proxy ?
Certaines informations sont uniques pour la facture : la date de
facture, le fait que la facture soit payée ou non.
une facture est constituée de lignes. Ces lignes sont constituées d’un
ou plusieurs articles.

Voila, nous commençons à modéliser les données, et cela pourrait nous


donner les tables suivantes :

Table facture
num_facture date_facture payée code_client

1 15/12/2016 oui 2

2 17/12/2016 non 3

3 23/12/2016 oui 2

etc …
Rechercher sur le
La table facture ne contient que le nécessaire :
site :
le numéro de la facture,
la date de la facture,
l’état du règlement,
et le client

On peut noter que l’index primaire de cette table est constitué du champ :
« num_facture ». Car il ne peut y avoir qu’une seule facture avec le même
numéro.

Table lignes_facture
Ici, c’est un peu plus compliqué, car cette table doit contenir le détail des
lignes. Il peut y avoir 1 ou plusieurs lignes par facture. Voici ce que ça
pourrait donner :

num_facture num_ligne_facture code_article quantite

1 1 1 1
Catégories
Catégories
1 2 3 2
Sélectionner une catégorie
2 1 2 5

2 2 3 1 Lettre
3 1 1 2 d’information
etc …
Entrez votre email pour être
informé de la parution des
C’est pas très lisible. Mais c’est optimisé, voici pourquoi : nouveaux articles.
Entrez votre email ici ...
le détail des articles n’est pas directement enregistré. Donc, si je
change le libellé d’un article dans la table article, cela changera
automatiquement dans mes factures.
les données non utiles ne sont pas enregistrées ﴾comme par exemple: S'abonner
la désignation de l’article qui est déjà dans la table article﴿.

Notez bien l’index primaire de cette table : constitué de deux champs :

Num_facture;Num_ligne_Facture
Étiquettes
adresse IP adware
Car avec cette combinaison, chaque enregistrement est bien unique.
﴾Il ne peut pas y avoir 2 factures avec le même numéro, ni une facture base de données bdd
avec 2 lignes ayant le même n° d’ordre﴿.
Bit Byte calcul binaire client FTP

cloud db dhcp

disque dur
Base de données relationnelle Eo Go hoax
DNS

IaaS
driver

keylogger

Voila, dans cet exemple nous venons de créer des tables qui sont en ko Mo Octet OS PaaS
relation entre elles. Notre base de données est dite : relationnelle.
phishing pirater un réseau Po

Intégrité référentielle proxy SaaS serveur FTP

serveur informatique serveur proxy

Bien évidemment, il existe des règles entre ces tables. Comme par
exemple il est impossible de supprimer un article ﴾dans la table article﴿ si
celui‐ci est utilisé pour une facture ﴾dans la table lignes_facture﴿ : on parle
sgbd sgbdr
alors d’intégrité référentielle. spams spyware To trojan

ver virtu virtualisation virus

worm Yo Zo

Trigger (ou déclencheur)


Un trigger est une fonctionnalité qui va déclencher une action lorsqu’un
événement se produit sur les données d’une table ﴾ajout, suppression,
modification, …﴿.

Reprenons nos exemples pour mieux comprendre :

Si nous avions une table « solde client ».

Nous pourrions très bien avoir un trigger sur la table « facture » qui
lancerait le calcul du « solde client » lorsqu’une facture est créé ou
modifiée.

La modélisation des bases de données


relationnelles
Sur cet exemple, c’était simple. Mais vous comprendrez aisément qu’il
n’est pas facile sur des centaines de tables de réaliser des relations et des
optimisations. C’est pourquoi il existe des méthodes qui vont nous
permettre de modéliser les bases de données, telles que :

Merise
UML

Je ne vais pas m’étendre sur ces méthodes ﴾vous pouvez trouver


énormément d’articles sur ces sujets﴿ mais il faut juste comprendre que
ces méthodes vont permettre de poser simplement les relations entre les
différentes entités ﴾tables﴿ et en déduire les différentes tables à créer.

Exemple : On va écrire les relations suivantes

entre « facture » et « client » : Une facture ne peut contenir que 1 et 1


seul client et un client peut avoir 0 ou plusieurs factures,
entre « article » et « facture » : une facture peut contenir 1 ou
plusieurs articles et un article peut être utilisé 0 ou plusieurs fois dans
une facture.

Tout cela nous donnera des modèles qui permettront ensuite de générer
les tables. Dans l’exemple ci‐dessus, la table « lignes_facture » est créée
automatiquement par la relation : « 1 facture contient n lignes. »

Le NoSQL
Puisque je parle de modélisation des bases de données relationnelles, il
faut parler un peu des bases NoSQL qui ne sont pas modélisées de la
même façon. Dans le NoSQL, on ne cherche pas forcément les relations
cartésienne ﴾0,1﴿, ﴾1,1﴿, ﴾0,n﴿ et ﴾1,n﴿ telles qu’on les retrouve dans les
méthodes classiques des bases de données relationnelles. L’objectif n’est
plus d’éviter la duplication des données, mais de stocker les données en
fonction des requêtes que l’on va effectuer ﴾en fonction des besoins﴿
quitte à redonder l’information. Donc les bases de données NoSQL ne
sont pas des bases de données relationnelles.

Je ne veux pas m’étendre plus sur les différents types de modélisation et


de bases de données car il faut rester simple. Vous pouvez retrouver des
tonnes d’informations sur Internet à ce sujet. J’espère simplement que ces
notions vous paraîtrons un peu plus claires.

Voici tous les articles liés aux bases de données :


C’est quoi une base de données ?

C’est quoi une base de données ? – partie 2

C’est quoi une base de données ? – partie 3

et

Comment ça marche une base de données ?

Comme d’habitude, tous les commentaires sont les bienvenus.

N’hésitez pas à vous inscrire à la lettre d’information pour être


informé de la parution de nouveaux articles. ﴾vous trouverez la zone
d’inscription à la lettre d’information sur la droite de l’écran﴿.

Vous aimez ? Dites‐le ...


Like 0 Tweet 0 Partager

0
129,900 FCFA 4,700 FCFA 129,900 FCFA 4,000 FCFA 42,500 FCFA 10,450 FCFA 145,000 FCFA

À Découvrir Aussi Contenus Sponsorisés 

Dites adieu à la fatigue grâce à ces 5 conseils
Mieux Exister

Les 15 chambres d'hôtels les plus chères au monde
Rich & Richer

15 chambres d'hôtel dont le prix peut choquer
Rich & Richer

Ces 10 villes seront les plus peuplées du monde en 2030
Afrizap

10 aliments a éliminer d'urgence le soir
Astuces Cuisine

Les 10 villes les plus peuplées du monde à l'horizon 2030
Afrizap

12 aliments qui luttent contre le cancer
Mieux Exister

18 aliments qui sont excellents pour votre coeur
Mieux Exister

par Taboola    

Laisser une réponse


b i link b­quote code fermer les balises
Auteur ﴾requis﴿

Email ﴾will not be published﴿﴾requis﴿

Site Web

9 + 3 = 
Poster le Commentaire

« Comment ça marche une base de données ? C’est quoi le RAID ? »

© 2017 Culture Informatique — Tous droits réservés

Vous aimerez peut-être aussi