Modèle relationnel

Schéma de la base financière

La base contient des données de ventes, d’achats, de règlements, de fournisseurs et de produits. Elle permet de travailler les jointures, les agrégations, la TVA, la marge et les impayés.

finance.db8 tables
clients factures produits achats
Lecture du modèle

Comment lire la logique relationnelle ?

Clé primaire

Identifiant unique d’une ligne dans une table. Exemple : id_client identifie un client.

Clé étrangère

Colonne qui permet de relier une table à une autre. Exemple : factures.id_client renvoie vers clients.id_client.

Relation 1 → N

Une ligne d’une table peut être liée à plusieurs lignes d’une autre table. Exemple : un client peut avoir plusieurs factures.

Jointure SQL

Une jointure sert à reconstruire une information métier répartie dans plusieurs tables : client, facture, règlement, produit ou fournisseur.

01

Cycle ventes

clients
1 → N
factures
1 → N
reglements

Un client peut recevoir plusieurs factures. Une facture peut être totalement, partiellement ou non réglée. Cette relation permet de calculer les impayés, les restes à payer et l’exposition client.

02

Détail des ventes

factures
1 → N
lignes_ventes
N → 1
produits

Une facture peut contenir plusieurs lignes de vente. Chaque ligne renvoie vers un produit. Cette relation permet de calculer le chiffre d’affaires, les coûts d’achat, la marge et le taux de marge par produit.

03

Cycle achats

fournisseurs
1 → N
factures_achats
1 → N
paiements_fournisseurs

Un fournisseur peut émettre plusieurs factures d’achat. Les paiements fournisseurs permettent de suivre les décaissements, les achats HT et la TVA déductible.

Exemple de jointure

Relier clients et factures

Cette requête relie une facture à son client grâce à la clé étrangère factures.id_client.

SELECT c.nom_client, f.id_facture, f.montant_ttc
FROM clients c
JOIN factures f ON c.id_client = f.id_client;
Table 01

clients

Référentiel des clients.

4 colonnes
Colonne Type Rôle
id_client INTEGER Clé primaire
nom_client TEXT Nom du client
secteur TEXT Secteur d'activité
pays TEXT Pays du client
Table 02

factures

Factures de vente émises aux clients.

6 colonnes
Colonne Type Rôle
id_facture INTEGER Clé primaire
id_client INTEGER Clé étrangère vers clients
date_facture TEXT Date de facturation
montant_ht REAL Montant hors taxes
tva REAL TVA collectée
montant_ttc REAL Montant TTC
Table 03

reglements

Règlements reçus des clients.

4 colonnes
Colonne Type Rôle
id_reglement INTEGER Clé primaire
id_facture INTEGER Clé étrangère vers factures
date_reglement TEXT Date du règlement
montant_regle REAL Montant encaissé
Table 04

fournisseurs

Référentiel fournisseurs.

4 colonnes
Colonne Type Rôle
id_fournisseur INTEGER Clé primaire
nom_fournisseur TEXT Nom du fournisseur
categorie TEXT Catégorie fournisseur
pays TEXT Pays du fournisseur
Table 05

factures_achats

Factures d'achat reçues des fournisseurs.

6 colonnes
Colonne Type Rôle
id_achat INTEGER Clé primaire
id_fournisseur INTEGER Clé étrangère vers fournisseurs
date_achat TEXT Date d'achat
montant_ht REAL Montant HT
tva_deductible REAL TVA déductible
montant_ttc REAL Montant TTC
Table 06

paiements_fournisseurs

Paiements réalisés auprès des fournisseurs.

4 colonnes
Colonne Type Rôle
id_paiement INTEGER Clé primaire
id_achat INTEGER Clé étrangère vers factures_achats
date_paiement TEXT Date du paiement
montant_paye REAL Montant payé
Table 07

produits

Catalogue produits et coûts standards.

5 colonnes
Colonne Type Rôle
id_produit INTEGER Clé primaire
nom_produit TEXT Nom du produit
categorie TEXT Catégorie produit
prix_vente_ht REAL Prix de vente HT
cout_achat_ht REAL Coût d'achat HT
Table 08

lignes_ventes

Détail des produits vendus par facture.

5 colonnes
Colonne Type Rôle
id_ligne INTEGER Clé primaire
id_facture INTEGER Clé étrangère vers factures
id_produit INTEGER Clé étrangère vers produits
quantite INTEGER Quantité vendue
prix_unitaire_ht REAL Prix unitaire HT facturé