0% ont trouvé ce document utile (0 vote)
5 vues13 pages

Conception BDD pour la librairie TOUTLA

Transféré par

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

Conception BDD pour la librairie TOUTLA

Transféré par

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

RAPPORT DE PROJET

Conception et Exploitation BDD – TOUTLA

Mathéo Cassy
Xavier Sanchez
Mathias de Meulenaire
Alexandre Sanchez

Promotion SN2

08/12/2025
Table des matières

1 Introduction 2
1.1 Contexte du Projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Analyse et Modélisation 3
2.1 Choix d’Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Règles de Gestion Implémentées . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Dictionnaire des Données (Extrait Critique) . . . . . . . . . . . . . . . . . 3

3 Implémentation SQL Server 5


3.1 Jeu de Données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Exploitation et Requêtes 6
4.1 Gestion des Stocks Critiques . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Historique Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Analyse du Chiffre d’Affaires . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5 Administration et Sécurité 8
5.1 Gestion des Rôles et Permissions . . . . . . . . . . . . . . . . . . . . . . . 8
5.2 Vues et Procédures Stockées . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.3 Politique de Sauvegarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Conclusion et Perspectives 12
6.1 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2 Évolutions Envisagées (V2) . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1
Chapitre 1

Introduction

1.1 Contexte du Projet


La librairie TOUTLA, acteur majeur de la distribution culturelle indépendante en
France, a initié une refonte complète de son Système d’Information (SI). Face à un cata-
logue de plusieurs dizaines de milliers de références et une logistique complexe impliquant
des stocks multi-rayons et des ventes omnicanales, les limites du système actuel sont
atteintes.

1.2 Objectifs
Ce projet vise la conception et l’exploitation d’une base de données centrale sous
Microsoft SQL Server.
Objectifs principaux :
— Structuration des données : catalogue (Livres, Auteurs, Éditeurs) et fichier client
segmenté (Particuliers / Professionnels)
— Logistique : gestion de stock par rayon avec seuils d’alerte
— Sécurisation : droits d’accès stricts et plan de reprise d’activité

2
Chapitre 2

Analyse et Modélisation

2.1 Choix d’Architecture


— Centralisation des Tiers via une entité Personne permettant de regrouper Clients
et Vendeurs.
— Découplage Stock/Produit via une table associative Stock_rayon.
— Segmentation commerciale par typologie via la table Type_Client.

2.2 Règles de Gestion Implémentées


— R01 : Livre → format, résumé, ISBN unique
— R02 : Un éditeur pour plusieurs auteurs (association Livre_Auteur)
— R03 : Gestion du seuil d’alerte par couple (Livre, Rayon)
— R04 : Une commande par client, plusieurs livres via Ligne_Vente

2.3 Dictionnaire des Données (Extrait Critique)

Table Champ Type SQL Remarque Technique


Id_Livre INT IDENTITY Clé primaire auto-incrémentée
ISBN VARCHAR(17) Identifiant international unique
Livre
Resume VARCHAR(MAX) Descriptif / contenu
Prix_HT DECIMAL(10,2) Précision monétaire
Quantite INT Stock physique réel
Stock_rayon
Seuil_alerte INT Gestion automatique du réassort
Id_Livre INT Référence produit vendu
Ligne_Vente
Id_Vente INT Référence commande/vente

Table 2.1 – Aperçu des principales métadonnées du modèle

3
Auteur
Id_Auteur (PK) Genre_livre
Nom Id_Genre (PK)
Prenom Nom

Livre_Auteur Livre_Genre
Id_Livre (PK, FK) Id_Livre (PK, FK)
Livre
Id_Auteur (PK, FK) Id_Genre (PK, FK)
Id_Livre (PK)
ISBN (UQ)
Editeur Titre Langue
Id_Editeur (PK) Resume Id_Langue (PK)
Nom Prix_HT Code
Ville Date_parution Nom
Id_RAYON (FK)
Id_Editeur (FK)
Id_Langue (FK)

Vendeur
RAYON Type_Client
Id_Vendeur (PK)
Id_RAYON (PK) Id_Type_Client (PK)
Nom
Libelle Nom
Prenom
Emplacement Remise_pourcent
Id_RAYON_Specialite (FK)

Client
Id_Client (PK)
Stock_rayon Nom
Id_stock_rayon (PK) Prenom
Quantite Id_Type_Client (FK)
Seuil_alerte
Id_Livre (FK)
Id_RAYON (FK)

Vente
Id_Vente (PK)
Date_heure
Id_Client (FK)
Id_Vendeur (FK)

Ligne_Vente
Id_Vente (PK, FK)
Id_Livre (PK, FK)
Quantite
Prix_vente_HT

Figure 2.1 – Schéma MLD simplifié de la librairie TOUTLA

4
Chapitre 3

Implémentation SQL Server

La base Librairie TOUTCA a été implémentée sous Microsoft SQL Server en res-
pectant l’intégrité référentielle et l’ensemble des contraintes fonctionnelles décrites lors de
la modélisation.

3.1 Jeu de Données


Un ensemble de données initiaux a été inséré pour permettre la validation des fonc-
tionnalités :
— Référentiels : 10 Rayons, 4 Langues, 15 Auteurs
— Catalogue : 80 Livres (données réelles et générées)
— Ventes simulées et stocks initiaux par rayon

5
Chapitre 4

Exploitation et Requêtes

4.1 Gestion des Stocks Critiques


Détection automatisée des articles à réapprovisionner :
SELECT
[Link] AS Rayon,
[Link],
CAST([Link] AS VARCHAR(50)) AS Livre_Info,
[Link] AS En_Stock,
S.seuil_alerte AS Seuil_Defini
FROM Stock_rayon S
INNER JOIN Livre L ON S.Id_Livre = L.Id_Livre
INNER JOIN RAYON R ON S.Id_RAYON = R.Id_RAYON
WHERE [Link] <= S.seuil_alerte;

4.2 Historique Client


Visualisation des achats réalisés par un client donné :
SELECT
V.Date_heure AS Date_Achat,
[Link] AS Nom_Client,
[Link],
L.Prix_HT,
[Link] AS Livre_Achete
FROM Client C
INNER JOIN Vente V ON C.Id_Client = V.Id_Client
INNER JOIN Ligne_Vente LV ON V.Id_Vente = LV.Id_Vente
INNER JOIN Livre L ON LV.Id_Livre = L.Id_Livre
WHERE [Link] = ’Dupont’
ORDER BY V.Date_heure DESC;

4.3 Analyse du Chiffre d’Affaires


Extraction mensuelle des ventes et calcul du chiffre d’affaires :
SELECT
MONTH(V.Date_heure) AS Mois,
COUNT(LV.Id_Livre) AS Nombre_Ventes,
SUM(LV.Prix_vente_HT) AS CA_Total_HT

6
FROM Vente V
INNER JOIN Ligne_Vente LV ON V.Id_Vente = LV.Id_Vente
WHERE YEAR(V.Date_heure) = 2023
GROUP BY MONTH(V.Date_heure);

7
Chapitre 5

Administration et Sécurité

5.1 Gestion des Rôles et Permissions


Mise en place d’une politique RBAC (Role Based Access Control) :
— Role_Vente : commandes et clients en lecture/écriture, catalogue en lecture seule
— Role_Gestion_Stock : catalogue et stock en lecture/écriture
— Role_Communication : accès en lecture aux données publiques
Exemple de création de rôle :
CREATE ROLE [Role_Vente];
GRANT SELECT, INSERT, UPDATE ON [Link] TO [Role_Vente];
GRANT SELECT ON [Link] TO [Role_Vente];

Figure 5.1 – Mappage des rôles pour le compte administrateur SQL Server

8
Figure 5.2 – *
Figure 5.3 – *
Compte DIRECTEUR : droits globaux de
Compte API : accès applicatif contrôlé
supervision
Figure 5.4 – Exemples de mappage des rôles pour les comptes de pilotage

Figure 5.5 – * Figure 5.6 – *


Rayon ARTS & CULTURE Rayon BANDES DESSINÉES
Figure 5.7 – Mappage des rôles pour des comptes rattachés à des rayons culturels

Figure 5.8 – * Figure 5.9 – *


Rayon LITTÉRATURE Rayon JEUNESSE
Figure 5.10 – Mappage des rôles pour les rayons littéraires

9
Figure 5.11 – * Figure 5.12 – *
Rayon LOISIRS & JEUX Rayon TOURISME
Figure 5.13 – Mappage des rôles pour les rayons loisirs et tourisme

Figure 5.14 – * Figure 5.15 – *


Rayon VIE PRATIQUE Rayon ENTREPRISE
Figure 5.16 – Mappage des rôles pour les rayons vie pratique et entreprise

Figure 5.17 – * Figure 5.18 – *


Rayon SCIENCES HUMAINES Rayon SCIENCES & TECHNIQUES
Figure 5.19 – Mappage des rôles pour les rayons scientifiques

10
Figure 5.20 – * Figure 5.21 – *
Rayon SCOLARITÉ Rayon SPIRITUALITÉ & RELIGION
Figure 5.22 – Mappage des rôles pour les rayons scolarité et spiritualité

5.2 Vues et Procédures Stockées


Industrialisation des exports pour l’équipe de communication :
CREATE PROCEDURE [dbo].[ExportVentesCSV] AS
BEGIN
SELECT
FORMAT(V.Date_heure, ’yyyy-MM-dd’) AS [date],
LV.Prix_vente_HT,
CAST(LV.Prix_vente_HT * 0.055 AS DECIMAL(10,2)) AS [montant tva],
CAST(LV.Prix_vente_HT * 1.055 AS DECIMAL(10,2)) AS [montant ttc],
V.Id_Client, [Link]
FROM [Link] V
JOIN dbo.Ligne_Vente LV ON V.Id_Vente = LV.Id_Vente
JOIN [Link] L ON LV.Id_Livre = L.Id_Livre
ORDER BY V.Date_heure ASC;
END

5.3 Politique de Sauvegarde


Plan de continuité défini pour le moteur SQL :
— Sauvegarde complète : chaque lundi à 02h00
— Sauvegardes différentielles : mercredi et vendredi à 02h00

11
Chapitre 6

Conclusion et Perspectives

6.1 Bilan
Le prototype implémenté respecte les exigences fonctionnelles principales :
— Unicité et structuration des données
— Gestion du stock par rayon avec seuils d’alerte
— Sécurisation de l’accès aux données

6.2 Évolutions Envisagées (V2)


Améliorations prévues en itération suivante :
— Migration de l’ISBN vers VARCHAR(13) pour meilleure conformité internationale
— Ajout de la quantité dans Ligne_Vente pour supporter les achats multiproduits

12

Vous aimerez peut-être aussi